Второй раз настраиваю с нуля сервер MQ, и опять спотыкаюсь об аутентификацию.
Решил написать для себя же шпаргалку, чтобы в третий раз подглядывать у себя, а не мучительно долго искать =)
Итак. В MQ есть объекты, описывающие правила аутентификации пользователей - записи типа AUTHINFO.
По умолчанию, при установке сервер сразу создает несколько таких записей, поглядеть на них можно так:
DISPLAY AUTHINFO(*)
Чтобы поглядеть на детали конкретной записи:
DISPLAY AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWLDAP)
кокретно эта запись отвечает за аутентификацию пользователей через лдап. Если нужно использовать аутентфикацию через операционную систему, на которой установлен сервер MQ, то нужна запись SYSTEM.DEFAULT.AUTHINFO.IDPWOS
Как работают остальные - я пока не разобрался.
Далее, надо сделать две вещи:
1. объяснить менеджеру очередей, какую запись использовать для аутентификации юзверей
2. сконфигурить нужную запись.
первое делается очень легко:
сначала смотрим, как настроено в данный момент:
DISPLAY QMGR CONNAUTH
Выйдет что-то вроде
display qmgr connauth
14 : display qmgr connauth
AMQ8408: Display Queue Manager details.
QMNAME(BMQ)
CONNAUTH(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)
Мне надо аутентификацию через лдап, поэтому меняем:
ALTER QMGR CONNAUTH(SYSTEM.DEFAULT.AUTHINFO.IDPWLDAP)
Теперь конфигурим нужную запись:
ALTER AUTHINFO (SYSTEM.DEFAULT.AUTHINFO.IDPWLDAP) AUTHTYPE(IDPWLDAP) BASEDNU(домен) CLASSUSR(user) CONNAME(ldap_server_ip) LDAPUSER(ldap_user) LDAPPWD(ldap_pwd) SECCOMM(NO) SHORTUSR(sAMAccountName) USRFIELD(sAMAccountName)По порядку:
AUTHTYPE - IDPWLDAP, так как мы конфигурим запись для работы с лдапом. Именно такое значение и ниипет.
BASEDNU - базовый каталог в лдапе, с которого начнется поиск пользователей
CLASSUSR - параметр типа строка, который говорит, какой в лдапе класс объектов для пользователей. В AD это чаще всего user, но может быть и Person, или еще что-нить.
CONNAME - ip адрес сервера лдап
LDAPUSER, LDAPPWD - пользователь и пароль, с которыми MQ полезет на LDAP сервер за списком пользователей
SECCOMM - у меня соединение с сервером лдап незащищенное, поэтому NO
SHORTUSR, USRFIELD - для AD ставьте sAMAccountName, не ошибетесь =)
применяем изменения в аутентификации:
REFRESH SECURITY TYPE(CONNAUTH)
Далее, у MQ сервера есть что-то типа правил Firewall - Channel Authentification Records. Я честно, с ними пока еще не разобрался, и их отключаю командой
ALTER QMGR CHLAUTH(DISABLED)
Да, это потенциальная дырка в безопасности, но это у меня тестовый сервер, и у меня еще есть время разобраться с этими правилами.
После всех этих манипуляций, я могу подключиться к MQ Server под своей доменной учеткой.
Ну и Библия этого всего:
http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.ref.adm.doc/q085130_.htm Ну как-то так, ога...