1

Я разрабатываю приложение, которое использует 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. После открытия MMC "Службы компонентов" дважды щелкните "Службы компонентов", дважды щелкните "Компьютеры", дважды щелкните "Мой компьютер", дважды щелкните "Конфигурация DCOM". В окне найдите "IBM MQSeries Services", щелкните по нему правой кнопкой мыши и выберите "Свойства". Нажмите на вкладку "Идентичность". Должен отображаться "этот пользователь", за которым следует идентификатор.

Убедитесь, что у идентификатора MQ-сервисов (на вкладке Identity выше) есть необходимые права локально. Предоставьте ему любые права, которые отсутствуют для следующего:

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

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

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

5 ответов5

3

Хотя я не смог найти вышеупомянутые записи DCOM (связанные с V7.1?), С помощью ранее упомянутого runas-tip я смог создать, запустить и подключиться к локальному Qmgr Windows V7.1 без доступа к 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" с красной стрелкой, указывающей вниз. Щелкните правой кнопкой мыши этот значок и выберите «Пуск ...»
  • Во всплывающем окне выберите "Начать интерактивно" и нажмите "ОК".
  • Значок QMGR1 теперь должен иметь зеленую стрелку, указывающую вверх (запущено), а его квадрат должен быть желтым (подключен).
  • В MQ Explorer создайте очередь с именем TEST1 и сделайте ее постоянство по умолчанию постоянным
  • В DOSbox выполните:
    C:> amqsput TEST1 QMGR1 Введите сообщение ... а затем пустую строку, чтобы завершить пример программы
  • Теперь проверьте в MQ Explorer, что ваше сообщение там!

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

1

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

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

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

1

Я знаю, что это старый вопрос, но с этим я столкнулся пару раз с тех пор; поэтому я решил поделиться своим опытом.

То, что я сделал, было пройти через установщик, выбрав no для параметров пользователя домена; затем:

  1. Убедитесь, что служба работает как учетная запись локальной системы (диспетчер задач -> Службы -> Службы -> IBM Websphere MQ -> Свойства -> Вход в систему -> Учетная запись локальной системы)
  2. Установите переменную среды для отключения OAM (ПРЕДУПРЕЖДЕНИЕ: ЭТО ОТКЛЮЧАЕТ АУТЕНТИФИКАЦИЮ В MQ), установив MQSNOAUT=NO
  3. Добавьте всех в группу mqm, чтобы быть в безопасности.

Во всяком случае, у меня это сработало (Windows 7)

1

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

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

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

0

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .