2010-12-15 3 views
6

IBM Websphere Application Server에서 IBM Websphere MQ Server에 연결하려고합니다. MQ 관리자에 연결하는 동안 WAS로 인해 잘못된 보안 자격 증명의MQJMS2013 유효하지 않은 보안 인증

내가 이해 무엇
MQJMS2013: invalid security authentication supplied for MQQueueManager 

, 이것이다 :

나는 다음과 같은 오류를 얻고있다.

저는 MQ 관리자 비밀번호를 제공하는 다양한 조합을 시도했습니다.

  1. MQ 연결 팩토리에 J2C 인증을 제공하십시오.
  2. 대기열에 MQ 관리자 아이디와 비밀번호를 제공하십시오.
  3. 빈 사용자 이름 제공.
  4. 위의 세 가지 조합. 게시물의 일부에서 언급 한 바와 같이

또한, 나는 전송 유형을 QueueConnectionFactory와에 대한뿐만 아니라 '클라이언트'를 '바인딩'으로 시도했다.

좋습니다.

답변

1

마지막으로 조합을 적용한 후 2 일이 지난 후에 작동합니다.

다른를 돕기 위해 (그리고 아마도 미래에 자신을), 다음은 문제였다

것은 우리는 IBM 웹 스피어 MQ 서버와 IBM WebSphere Application Server를 구성했다가. 대기열 연결 팩토리, 대기열 및 수신기 포트를 올바르게 만들었습니다. 우리는 예외적으로 예외를 반복적으로 받고있었습니다.

작동 방식 : 응용 프로그램 서버를 시작할 때 서버를 시작하는 사용자는 MQ에 액세스 할 수 있어야합니다. 즉 사용자는 그룹 MQM의 일부 여야합니다. MQ 서버는 재시작 후에 만 ​​권한을 새로 고치기 때문에 그룹을 사용자에게 추가 한 후에 MQ 서버를 다시 시작해야한다는 점을 기억하십시오.

희망이 도움이됩니다.

+1

바인딩 또는 클라이언트 모드? 기껏해야 (바인딩 모드) 당신은 방금 WMQ를 관리하고 OS 명령을 mqm 사용자 ID로 실행하는 응용 프로그램 서버 권한을 부여했습니다. 이것은 사소한 응용 프로그램에서는 괜찮지 만 대부분의 상점에서 결코 할 수없는 완전한 DBA 관리자 권한을 응용 프로그램에 제공하는 것과 같습니다. 왜 그들이 WMQ로 그것을하는지는 나에게 수수께끼입니다. 최악의 경우 (클라이언트 바인딩) 익명 원격 사용자에게 관리 권한을 부여했습니다. 기본적으로 QMgr에 대한 IP 라우트를 가진 * 누구든지 그것을 관리하고 OS 명령을 실행할 수 있습니다. 그게 당신이 의도 한 것입니까? http://bit.ly/17oKEc를 참조하십시오 –

+1

그건 그렇고, 제 응답에 링크 된 도구 중 하나를 사용하면 2 일 대신 2 분 안에 이것을 분류했을 것입니다. 그래서 다른 사람 (아마 너 자신도 미래에도)을 돕기 위해 다음 도구 중 하나 또는 둘 모두를 설치하여 다음에 바퀴를 회전시키지 마십시오. 그리고 WMQ 보안에 관심이 있다면, mqm 그룹에 응용 프로그램을 고집하는 대신 낮은 권한의 ID와 setmqaut 명령을 사용하고 낮은 권한의 MCAUSER!로 모든 인바운드 채널을 잠그십시오! 앱이 이제 메시지를 보낼 수 있다는 의미에서 "작동"했으나 거의 올바른 대답이 아닙니다. –

+0

+1 했어! 불행히도 MQ 서버 및 구성 전문가는 아닙니다. 모든 것이 절대적인 서비스 업계에서 일하면서 일을 진행시켜야합니다. 일반적으로, 언급 한 보안 측면을 이해하십시오. 언급 한 바와 같이 현재로서는 내 환경에별로 중요하지 않습니다! 다시 한 번 감사드립니다! –

2

하나의 문제점은 MQJMS2013이 QMgr과 아무 관련이 없다는 것입니다. 구성 파일 사용 권한 문제, JNDI 조회를 수행하는 LDAP 자격 증명, 키 저장소 관련 문제 등이 될 수 있습니다.

이것이 실제로 WMQ 인증 예외인지 여부를 확인하는 한 가지 방법은 QMgr에서 권한 부여 이벤트를 활성화하고 오류를 다시 생성하는 것입니다. WMQ 인증 문제 인 경우 이벤트 메시지는 SYSTEM.ADMIN.QMGR.EVENT 대기열에 저장됩니다. 사용자의 ID, 호출에 실패한 객체, 실패한 API 호출 및 호출에 사용 된 모든 옵션이 포함됩니다. SupportPac MO71을 사용하면 이벤트 메시지가 나타납니다. WMQ Explorer를 사용하는 경우 SupportPac MS0P을 설치하여 이벤트 메시지의 형식을 지정할 수 있습니다.

이벤트 메시지가 나타나지 않으면 연결이 WMQ에 도달하지 못했습니다! 이 경우 계정, 그룹, setmqaut 및 기타 WMQ 관련 구성과 관련된 작업은 도움이되지 않으며 enabling tracing을 제안합니다.

바인딩 모드에서 제시된 ID는 이어야하며은 JVM이 실행되는 ID와 일치해야합니다. 클라이언트 모드에서 진단하는 또 다른 방법은 채널의 MCAUSER를 알려진 양호한 값으로 설정하는 것입니다. 채널의 MCAUSER는 앱 서버에서 전달한 모든 ID를 무시하며 항상 낮은 권한의 계정으로 설정해야합니다. 진단을 위해 TEQORARILY를 'mqm'으로 설정하고 문제가 WMQ 인증 문제로 격리되는 연결이 작동하는 경우 설정하십시오.

+0

이 정보는 매우 유용합니다. SYSTEM.ADMIN.QMGR.EVENT 큐에 메시지가 있습니다. 그러나 메시지의 세부 사항은 "MQGET이 이유 코드 2080으로 종료되었습니다"입니다. 메시지를 제거하고 다시 해보려고합니다! –

+1

2080은 MQRC_TRUNCATED_MSG_FAILED이며 이는 아마 amqsget을 사용하고 있음을 의미합니다. 위에서 언급 한 도구를 사용하면 전체 메시지 * 및 *를 사람이 읽을 수있는 텍스트로 형식화합니다 (이벤트 메시지는 PCF 임). 메시지를 빠르고 간단하게 얻으려면 amqsbcg를 사용하여 16 진수 덤프를 얻은 다음 C 헤더 파일과 16 진수 계산기를 사용하여이를 디코딩 할 수 있습니다. –