WebSphere MQ, работающий под локальной учетной записью/группой, не может прочитать членство в группах для пользователя Active Directory. Обходной путь или альтернативное решение?

WebSphere MQ, работающий под локальной учетной записью/группой, не может прочитать членство в группах для пользователя Active Directory. Обходной путь или альтернативное решение?

Я разрабатываю приложение, использующее WebSphere MQ v6.0. WebSphere MQ в настоящее время не работает из-за следующей проблемы:

  • Служба WebSphere MQ работает под локальным пользователем «MUSR_MQADMIN» в локальной группе «mqm».
  • Я пытаюсь использовать сервис, используя свою учетную запись BIZ\noahz
  • MUSR_MQADMIN необходимо проверить, находится ли BIZ\noahz в локальной группе «mqm»
  • MUSR_MQADMIN не имеет разрешения на чтение членства в группе Active Directory BIZ\noahz
  • В файле журнала MQ появляется следующая ошибка:

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

31.01.2011 18:51:32 - Процесс (704.1105) Пользователь (MUSR_MQADMIN) Программа (amqzlaa0.exe) AMQ8079: Доступ запрещен при попытке получить информацию о членстве в группе для пользователя «noahz@biz».

ОБЪЯСНЕНИЕ: WebSphere MQ, запущенный с полномочиями пользователя 'musr_mqadmin@noahz-biz', не смог получить информацию о членстве в группе для указанного пользователя. ДЕЙСТВИЕ: Убедитесь, что разрешения на доступ к 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

У меня нет прав администратора Active Directory на моем компьютере Windows, поэтому мой вопрос:

Есть ли что-то еще, что я могу сделать, чтобы решить (или обойти) эту проблему и заставить WebSphere MQ снова работать для меня? Например, могу ли я отключить эту проверку безопасности в WebSphere MQ?

ОБНОВЛЯТЬВот ответ, который я получил от службы поддержки IBM:

Обычно эти ошибки указывают на проблему с идентификатором пользователя, под которым настроена служба MQ в dcom. Если вы не уверены, какой это идентификатор пользователя, вы можете проверить следующим образом:

Откройте командную строку и введите: dcomcnfg. После того, как откроется Component Services MMC, дважды щелкните "Component Services", дважды щелкните "Computers", дважды щелкните "My Computer", дважды щелкните "DCOM Config". В окне найдите "IBM MQSeries Services", щелкните его правой кнопкой мыши и выберите "Свойства". Щелкните вкладку "Identity". Должно отображаться "this user" с указанием идентификатора.

Пожалуйста, убедитесь, что идентификатор служб MQ (из вкладки «Идентификация» выше) имеет необходимые права локально. Предоставьте ему любые права, которых не хватает для следующего:

Откройте Пуск->Программы->Администрирование->Локальные параметры безопасности.

Откройте «Локальные политики», затем «Назначения прав пользователя», дважды щелкните, чтобы убедиться, что установлены следующие права:
- Вход в систему как пакетное задание
- Вход в систему как служба
- Завершение работы системы
- Отладка программ
- Увеличение квот
- Работа в качестве части операционной системы
- Обход проверки пересечения
- Замена токена уровня процесса

В конечном итоге мой ИТ-отдел и служба информационной безопасности решили, что WebSphere MQ является «серверным программным обеспечением» и, следовательно, не допускается на отдельных рабочих станциях, так что мне даже не удалось протестировать вышеуказанное решение!

решение1

Хотя я не смог найти вышеупомянутые записи DCOM (связанные с V7.1?), я смог с помощью ранее упомянутого runas-tip создать, запустить и подключиться к локальному Windows V7.1 Qmgr без доступа к Active Directory. Вот что я сделал:

  • Измените пароль для пользователя MUSR_MQADMIN в lusrmgr Windows
  • Убедитесь, что MQService остановлен.
  • В списке служб также измените пароль для пользователя MUSR_MQADMIN
  • Откройте DOSbox и выполните: C:> runas /user:MUSR_MQADMIN "crtmqm QMGR1" C:> runas /user:MUSR_MQADMIN "strmqm QMGR1" (обратите внимание, что для каждой команды вам придется указывать пароль)
  • Щелкните правой кнопкой мыши значок MQ на панели задач и выберите «WebSphere MQ Explorer».
  • MQ Explorer открывается и должен указать Qmgr "QMGR1" с красной стрелкой, направленной вниз. Щелкните правой кнопкой мыши этот значок и выберите "Start..."
  • В всплывающем окне выберите «Начать интерактив» и нажмите «ОК».
  • Значок QMGR1 теперь должен иметь зеленую стрелку, направленную вверх (запущен), а его квадрат должен быть желтым (подключен).
  • В MQ Explorer создайте очередь с именем TEST1 и сделайте ее сохранение по умолчанию постоянным.
  • В DOSbox выполните:
    C:> amqsput TEST1 QMGR1 Введите сообщение ... и затем пустую строку, чтобы завершить пример программы.
  • Теперь проверьте в MQ Explorer, есть ли там ваше сообщение!

Совет: коды возврата MQ можно быстро проверить с помощью команды "mqrc , fi C:>mqrc 2085

решение2

WebSphere MQ всегда будет необходимо получить членство в группе любого ID, пытающегося запустить его компоненты или авторизовать доступ к его ресурсам. Если эти ID нелокальные, то MQ потребуются права для выполнения поиска членства SAM в домене, которому принадлежит ID. Есть несколько доступных обходных путей:

  1. Используйте локальный идентификатор. MQ всегда сможет выполнять поиск в локальной базе данных SAM, поскольку он должен быть установлен администратором и предоставил себе соответствующие локальные права во время установки. Он не обязательно должен быть MUSR_MQADMIN, но он должен быть в группе mqm, если он собирается запустить QMgr.
  2. Используйте WMQ Explorer для запуска QMgr. Любая последняя версия WMQ Explorer предложит различные варианты, один из которых — запустить QMgr под идентификатором, которому принадлежит служба. После запуска вы можете использовать свой обычный идентификатор для доступа к очередям и темам.

ОБНОВЛЯТЬ:
Хотелось бы, чтобы я подумал об этом до того, как ваш ИТ-отдел принял меры, но можно отключить Object Authority Manager. Это компонент, который выполняет поиск в домене AD. Я знаю, что его отключение позволяет чему угодно подключаться к QMgr без проблем с разрешениями домена. Ядостаточно уверенэто также позволяет вашему идентификатору выполнять процессы, запускающие QMgr.

решение3

Я также разрабатываю приложение с помощью Websphere Message Broker. В настоящее время у меня есть версия "developer". Я нашел способ обойти это, установив MQ с отключенным SAM membership lookout.

Для этого я запустил "Websphere MQ Launchpad" (запустить Setup.exe в Windows) из установочного каталога (Websphere_MQ_V7.5). На вкладке "Конфигурация сети" есть возможность отключить конфигурацию User Id. Выберите "Нет" и выполните установку.

Не то чтобы это не лучший вариант для производственных сред и сред контроля качества.

решение4

Я думаю, лучший выход — использоватьбеги какдля запуска от имени пользователя mq:

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

Связанный контент