로컬 계정/그룹에서 실행되는 WebSphere MQ는 Active Directory 사용자의 그룹 멤버십을 읽을 수 없습니다. 해결 방법 또는 대체 해결 방법은 무엇입니까?

로컬 계정/그룹에서 실행되는 WebSphere MQ는 Active Directory 사용자의 그룹 멤버십을 읽을 수 없습니다. 해결 방법 또는 대체 해결 방법은 무엇입니까?

저는 WebSphere MQ v6.0을 사용하는 애플리케이션을 개발 중입니다. 현재 다음 문제로 인해 WebSphere MQ가 작동하지 않습니다.

  • WebSphere MQ 서비스는 로컬 그룹 "mqm"의 로컬 사용자 "MUSR_MQADMIN"으로 실행됩니다.
  • 본인의 계정인 BIZ\noahz를 사용하여 서비스를 이용하려고 합니다.
  • MUSR_MQADMIN은 BIZ\noahz가 로컬 그룹 "mqm"에 있는지 확인해야 합니다.
  • MUSR_MQADMIN에는 BIZ\noahz의 Active Directory 그룹 멤버십을 읽을 수 있는 권한이 없습니다.
  • MQ 로그 파일에 다음 오류가 나타납니다.

----- amqzfubn.c : 3582 --------------------------- ---------------

2011년 1월 31일 18:51:32 - 프로세스(704.1105) 사용자(MUSR_MQADMIN) 프로그램(amqzlaa0.exe) AMQ8079: 'noahz@biz' 사용자에 대한 그룹 멤버십 정보를 검색하려고 시도하는 동안 액세스가 거부되었습니다.

설명: 'musr_mqadmin@noahz-biz' 사용자 권한으로 실행 중인 WebSphere MQ가 지정된 사용자에 대한 그룹 멤버십 정보를 검색할 수 없습니다. 조치: Active Directory 액세스 권한이 'musr_mqadmin@noahz-biz' 사용자가 'noahz@biz' 사용자의 그룹 멤버십을 읽을 수 있도록 허용하는지 확인하십시오. 도메인 사용자에 대한 그룹 멤버십 정보를 검색하려면 MQ가 도메인 사용자의 권한으로 실행되어야 합니다.

----- amqzfubn.c : 3582 --------------------------- ---------------

IBM 웹사이트에 더 많은 정보가 있다는 것을 알았습니다. http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=/com.ibm.mq.amqtac.doc/wq10830_.htm

내 Windows 컴퓨터에 대한 Active Directory 관리자 권한이 없으므로 내 질문은 다음과 같습니다.

이 문제를 해결하고 WebSphere MQ가 다시 작동하도록 하기 위해 내가 할 수 있는 다른 방법이 있습니까? 예를 들어, WebSphere MQ에서 이 보안 검사를 비활성화할 수 있습니까?

업데이트IBM 지원팀으로부터 받은 답변은 다음과 같습니다.

일반적으로 이러한 오류는 MQ 서비스가 dcom에서 실행되도록 구성된 사용자 ID에 문제가 있음을 나타냅니다. 사용자 ID가 무엇인지 확실하지 않은 경우 다음을 통해 확인할 수 있습니다.

명령 프롬프트를 열고 dcomcnfg를 입력합니다. 구성 요소 서비스 MMC가 열리면 "구성 요소 서비스"를 두 번 클릭하고 "컴퓨터"를 두 번 클릭합니다. "내 컴퓨터"를 두 번 클릭하고 "DCOM 구성"을 두 번 클릭합니다. 창에서 "IBM MQSeries Services"를 찾아 마우스 오른쪽 버튼을 클릭한 후 속성을 선택하십시오. "ID" 탭을 클릭하세요. "이 사용자" 뒤에 ID가 표시되어야 합니다.

MQ 서비스 ID(위의 ID 탭에 있음)에 로컬로 필요한 권한이 있는지 확인하십시오. 다음에 대해 누락된 권한을 부여합니다.

시작->프로그램->관리 도구->로컬 보안 설정을 엽니다.

로컬 정책을 연 다음 사용자 권한 할당을 열고 두 번 클릭하여 다음 권한이 설정되어 있는지 확인합니다.
- 일괄 작업으로 로그온
- 서비스로 로그온
- 시스템 종료
- 프로그램 디버그
- 할당량 늘리기
- 운영 체제의 일부로 작동
- 우회 트래버스 검사
- 프로세스 수준 토큰 교체

최종 결과는 내 IT 부서와 InfoSec가 WebSphere MQ가 "서버 소프트웨어"이므로 개별 워크스테이션에서는 허용되지 않기로 결정했기 때문에 위 솔루션을 테스트할 기회조차 없었습니다!

답변1

위에서 언급한 DCOM 항목(V7.1 관련?)을 찾을 수 없었지만 앞서 언급한 runas-tip의 도움으로 Active Directory에 액세스하지 않고도 로컬 Windows V7.1 Qmgr을 생성, 시작 및 연결할 수 있었습니다. . 이것이 내가 한 일입니다:

  • Windows의 lusrmgr에서 사용자 MUSR_MQADMIN의 비밀번호를 변경하십시오.
  • MQService가 중지되었는지 확인하세요.
  • 서비스 목록에서 사용자 MUSR_MQADMIN의 비밀번호도 변경하십시오.
  • DOSbox를 열고 다음을 실행합니다: C:> runas /user:MUSR_MQADMIN "crtmqm QMGR1" C:> runas /user:MUSR_MQADMIN "strmqm QMGR1" (각 명령에 대해 비밀번호를 제공해야 합니다)
  • 작업 표시줄에서 MQ 아이콘을 마우스 오른쪽 버튼으로 클릭하고 "WebSphere MQ Explorer"를 선택합니다.
  • MQ 탐색기가 열리고 아래쪽을 가리키는 빨간색 화살표로 Qmgr "QMGR1"이 표시되어야 합니다. 이 아이콘을 마우스 오른쪽 버튼으로 클릭하고 "시작..."을 선택하세요.
  • 팝업에서 "대화형 시작"을 선택하고 "확인"을 클릭하세요.
  • 이제 QMGR1 아이콘에는 위를 가리키는 녹색 화살표(시작됨)가 있고 사각형은 노란색(연결됨)이어야 합니다.
  • MQ 탐색기에서 TEST1이라는 큐를 생성하고 해당 큐의 기본 지속성을 지속적으로 만듭니다.
  • DOSbox에서 다음을 실행합니다:
    C:> amqsput TEST1 QMGR1 메시지 ...를 입력한 다음 빈 줄을 입력하여 샘플 프로그램을 종료합니다.
  • 이제 MQ Explorer에서 메시지가 있는지 확인하세요!

팁: MQ 반환 코드는 "mqrc , fi C:>mqrc 2085 명령을 사용하여 빠르게 확인할 수 있습니다.

답변2

WebSphere MQ는 항상 해당 구성 요소를 실행하거나 해당 리소스에 대한 액세스 권한을 부여하려는 ID의 그룹 멤버십을 얻어야 합니다. 해당 ID가 로컬이 아닌 경우 MQ에는 ID를 소유한 도메인에서 SAM 멤버십 조회를 수행할 수 있는 권한이 필요합니다. 다음과 같은 몇 가지 해결 방법이 있습니다.

  1. 로컬 ID를 사용하세요. MQ는 관리자가 설치해야 하고 설치 중에 적절한 로컬 권한을 부여받았기 때문에 항상 로컬 SAM 데이터베이스에서 조회를 수행할 수 있습니다. MUSR_MQADMIN일 필요는 없지만 QMgr을 실행하려면 mqm 그룹에 있어야 합니다.
  2. WMQ Explorer를 사용하여 QMgr을 시작합니다. 최신 버전의 WMQ Explorer에서는 다양한 옵션을 묻는 메시지가 표시됩니다. 그 중 하나는 서비스를 소유한 ID로 QMgr을 시작하는 것입니다. 일단 시작되면 일반 ID를 사용하여 대기열과 주제에 액세스할 수 있습니다.

업데이트:
IT 부서가 단속하기 전에 이런 생각을 했으면 좋았을 텐데, 개체 권한 관리자를 비활성화하는 것도 가능합니다. 이는 AD 도메인에서 조회를 수행하는 구성 요소입니다. 이를 비활성화하면 도메인 권한 문제 없이 QMgr에 연결할 수 있다는 것을 알고 있습니다. 그래요꽤 확실해그렇게 하면 귀하의 ID가 QMgr을 실행하는 프로세스를 실행할 수도 있습니다.

답변3

또한 Websphere Message Broker를 사용하여 애플리케이션을 개발 중입니다. 현재 저는 "개발자" 버전을 가지고 있습니다. SAM 멤버십 감시를 비활성화한 상태에서 MQ를 설치하여 이 문제를 해결하는 방법을 찾았습니다.

이를 위해 설치 디렉터리(Websphere_MQ_V7.5)에서 "Websphere MQ Launchpad"(Windows에서 Setup.exe 실행)를 실행했습니다. "네트워크 구성" 탭에는 사용자 ID 구성을 비활성화하는 옵션이 있습니다. "아니오"를 선택하고 설치를 수행합니다.

이것이 프로덕션 및 QA 환경에 가장 적합한 옵션이 아닐 수도 있습니다.

답변4

사용하는 것이 가장 좋은 것 같아요루나mq 사용자로 실행하려면:

runas /user:MUSR_MQADMIN "strmqm <qmgr-name>"

관련 정보