LDAP服务器关键要素配置正确,但是我无法理解为什么LDAPCONN不活动。日志没有显示问题。
DEFINE AUTHINFO(USE.LDAP) AUTHTYPE(IDPWLDAP) CONNAME('127.0.0.1(389)') LDAPUSER('cn=admin,dc=organisation,dc=co,dc=za') LDAPPWD('admin') SHORTUSR('mqm') REPLACE
AMQ8563: IBM MQ authentication information object created.
ALTER QMGR CONNAUTH(USE.LDAP)
AMQ8005: IBM MQ queue manager changed
REFRESH SECURITY TYPE(CONNAUTH)
AMQ8560: IBM MQ security cache refreshed.
DISPLAY QMSTATUS LDAPCONN
AMQ8705: Display Queue Manager Status Details.
QMNAME(TEST) STATUS(RUNNING)
LDAPCONN(INACTIVE) 在执行显示时,QMSTATUS LDAPCONN。我希望能够看到LDAPCONN(活动)。
发布于 2019-11-09 10:05:31
我和Thulasizwe合作我们发现了问题。
我们正在使用IBM容器为我们正在忙的LDAP解决方案进行本地测试。这个问题是由一个环境变量引起的,该变量被传递给码头容器,基本上禁用MQ服务器的IBM (Object )。这将导致仍然对LDAP服务器进行身份验证,但禁用MQ服务器的对象权限检查。
关闭OAM后,Queue将LDAPCONN报告为非活动(尽管仍然对LDAP服务器执行身份验证)。
删除导致禁用OAM的环境变量后,权限管理器打开,并报告LDAPCONN已连接。
IBM服务器中的LDAP配置
DEFINE AUTHINFO(USE.LDAP) AUTHTYPE(IDPWLDAP) +
CONNAME('127.0.0.1(10389)') +
LDAPUSER('uid=adminuser,cn=users,ou=organisation,dc=sa') LDAPPWD('password') +
BASEDNG('cn=groups,ou=organisation,dc=sa') +
BASEDNU('cn=users,ou=organisation,dc=sa') +
CLASSUSR('inetOrgPerson') CLASSGRP('groupOfUniqueNames') +
FINDGRP('uniqueMember') GRPFIELD('cn') USRFIELD('uid') +
SHORTUSR('uid') AUTHORMD(SEARCHGRP) +
DESCR('LDAP authentication module.') +
REPLACE引起问题的环境变量
在创建docker容器(查看您的Dockerfile)时,有一个环境变量集:
FROM ibmcom/mq:latest
...
ENV MQSNOAUT="YES"
...环境变量MQSNOAUT告诉队列管理器在创建管理器时禁用OAM。
要了解有关MQ环境变量的更多信息,请在这里阅读:9.0.0)。
我们在:https://hub.docker.com/r/ibmcom/mq使用了码头集装箱
移除设置后,所有操作都按预期进行。
谢谢大家的回应。希望这个答案对将来的其他人有帮助。
事后思考
但是,要回答关于IBM是否在日志中表示这个特定的非活动问题的主要问题,答案是否定的。我认为,在我们的情况下,非活动状态是正确的,因为它表明OAM不是活动的。但是,在我们的示例中,LDAP连接不是完全不活动的,因为MQ服务器仍然使用LDAP服务器对用户进行身份验证(因此它连接了!)。即使状态显示为非活动状态,也成功地对LDAP服务器对用户(登录)进行了凭据检查。因此,在我们的例子中,不活动指标对我来说有点令人困惑。
否则,它将处于非活动状态、连接状态或错误状态。如果一切正常,状态将被连接,否则它将具有错误状态,在这种情况下,您可以检查/var/mqm/QMGR/QMGR/QMGR/ ERROR下的日志,以获得有关该问题的更多信息。
发布于 2019-09-10 17:36:02
队列管理器的错误应该在下面的路径中。
下面的路径基于
UNIX and Linux systems ==> /var/mqm/qmgrs/qmname/errors
Windows systems ==> MQ_INSTALLATION_PATH\QMGRS\qmname\ERRORS\AMQERR01.LOG请确保您能够使用凭据登录到LDAP服务器。你的用户名LDAPUSER在我看来是不正确的。您应该首先尝试使用用户名密码登录LDAP。如果它有效,那么使用MQ配置它。下面是一个示例命令
DEFINE AUTHINFO('USE.LDAP') +
AUTHTYPE(IDPWLDAP) +
ADOPTCTX(YES) +
CONNAME('127.0.0.1(389)') +
CHCKCLNT(OPTIONAL) +
CHCKLOCL(OPTIONAL) +
CLASSGRP('GROUP') +
CLASSUSR('USER') +
BASEDNG('put your base dng') +
BASEDNU('put your base dnu') +
FINDGRP('member') +
LDAPUSER('admin') +
LDAPPWD('password') +
SECCOMM(NO) +
SHORTUSR('sAMAccountName') +
USRFIELD('sAMAccountName') +
GRPFIELD('sAMAccountName') +
AUTHORMD(SEARCHGRP) +
REPLACE https://stackoverflow.com/questions/57873947
复制相似问题