Ibm mq MQ8+的授权错误;JDk8
在处理JMS示例代码时,使用MQ8+JDk8将其放置在应用程序中,使其低于授权错误Ibm mq MQ8+的授权错误;JDk8,ibm-mq,Ibm Mq,在处理JMS示例代码时,使用MQ8+JDk8将其放置在应用程序中,使其低于授权错误 MQException received while attempting reconnect: Reason Code=2035 Exception text: com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2035'. AMQERR01.LOG说 AMQ8077: Entity 'clientadmin' has insuffi
MQException received while attempting reconnect: Reason Code=2035
Exception text: com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2035'.
AMQERR01.LOG说
AMQ8077: Entity 'clientadmin' has insufficient authority to access object
'TLSTEST.QM'.
EXPLANATION:
The specified entity is not authorized to access the required object. The
following requested permissions are unauthorized: connect
ACTION:
Ensure that the correct level of authority has been set for this entity against
the required object, or ensure that the entity is a member of a privileged
group.
AMQ9557: Queue Manager User ID initialization failed for 'clientadmin'.
EXPLANATION:
The call to initialize the User ID 'clientadmin' failed with CompCode 2 and Reason
2035.
ACTION:
Correct the error and try again.
按照以下站点和命令执行步骤,但无法解决问题
http://www-01.ibm.com/support/docview.wss?uid=swg21680930
http://www-01.ibm.com/support/docview.wss?uid=swg21577137
ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)
REFRESH SECURITY TYPE(CONNAUTH)
ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(NONE)
REFRESH SECURITY TYPE(CONNAUTH)
ALTER QMGR CHLAUTH(DISABLED)
通过以下命令解决
已删除“SecurityPolicy=user”,仅将身份验证设置为以下内容并重新启动QM
setmqaut -m TLSTEST.QM -t qmgr -p clientadmin +all
setmqaut -m TLSTEST.QM -t queue -p clientadmin -n RECEIVE +all
setmqaut -m TLSTEST.QM -t queue -p clientadmin -n SEND +all
只是想知道,如何在qmgr中的所有队列中设置“+all”?是否将为qmgr中的所有队列设置@channel level
成功使用以下命令和设置
AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)AUTHTYPE(IDPWOS)CHCKCLNT(可选)
将要求如果发送密码,则该密码是有效密码
您收到的AMQ8077
错误是因为用户没有连接到队列管理器的权限
您必须授予OAM权限,以允许clientadmin
连接到队列管理器
默认情况下,在Linux上,您只能对用户所属的组授予MQ OAM权限,在您的情况下,
clientadmin
所属的组。在MQ v8.0及更高版本中,如果已将以下设置添加到qm.ini,则还可以针对用户本身授予OAM权限:
Service:
SecurityPolicy=user
上面的设置不是必需的,它只允许两种不同的方式授予OAM权限。这记录在IBM MQ v8.0知识中心页面“”中。本页说明:
UNIX和Linux系统
AMQ8077: Entity 'clientadmin' has insufficient authority to access object
'TLSTEST.QM'.
EXPLANATION:
The specified entity is not authorized to access the required object. The
following requested permissions are unauthorized: connect
ACTION:
Ensure that the correct level of authority has been set for this entity against
the required object, or ensure that the entity is a member of a privileged
group.
AMQ9557: Queue Manager User ID initialization failed for 'clientadmin'.
EXPLANATION:
The call to initialize the User ID 'clientadmin' failed with CompCode 2 and Reason
2035.
ACTION:
Correct the error and try again.
ACL基于用户ID和组,您可以使用其中任何一个进行授权
在8.0版中,您可以使用基于用户的模型进行授权,这允许您同时使用用户和组。但是,当您在命令中指定用户时,新权限仅适用于该用户,而不适用于该用户所属的任何组
有关更多信息,请参阅
使用基于组的模型进行授权时,用户ID所属的主组将包含在ACL中
不包括个人用户ID,并将权限授予该组的所有成员。因此,请注意,通过更改同一组中另一个主体的权限,您可能会无意中更改主体的权限
这记录在IBM MQ v8.0知识中心页面“”中。本页说明:
SecurityPolicy=user | group | default
在UNIX和Linux系统上,该值指定队列管理器是使用基于用户的授权还是基于组的授权。值不区分大小写。
如果不包括此属性,则使用默认值,即使用基于组的授权。重新启动队列管理器以使更改生效
要授予OAM权限以针对组连接到队列管理器,您可以使用MQSC命令
SET AUTHREC
:
SET AUTHREC PROFILE('self') GROUP('groupname') OBJTYPE(QMGR) AUTHADD(CONNECT,DSP,INQ)
SET AUTHREC PROFILE('self') PRINCIPAL('clientadmin') OBJTYPE(QMGR) AUTHADD(CONNECT,DSP,INQ)
使用命令行工具setmqaut也可以实现这一点:
setmqaut -m <queue_manager_name> -t qmgr -g groupname +connect +dsp +inq
setmqaut -m <queue_manager_name> -t qmgr -p clientadmin +connect +dsp +inq
setmqaut -m <queue_manager_name> -t queue -p clientadmin +put +get +browse +dsp +inq
使用命令行工具setmqaut也可以实现这一点:
setmqaut -m <queue_manager_name> -t qmgr -g groupname +connect +dsp +inq
setmqaut -m <queue_manager_name> -t qmgr -p clientadmin +connect +dsp +inq
setmqaut -m <queue_manager_name> -t queue -p clientadmin +put +get +browse +dsp +inq
使用命令行工具setmqaut也可以实现这一点:
setmqaut -m <queue_manager_name> -t qmgr -g groupname +connect +dsp +inq
setmqaut -m <queue_manager_name> -t qmgr -p clientadmin +connect +dsp +inq
setmqaut -m <queue_manager_name> -t queue -p clientadmin +put +get +browse +dsp +inq
setmqaut-m-t队列-p clientadmin+put+get+browse+dsp+inq
更新2017/02/21 不建议在没有SecurityPolicy=user的情况下使用-p在Linux上设置权限。这是因为此操作不会针对使用-p指定的用户设置权限,而是在运行命令时针对该用户的主组设置权限 这可能导致各种情况,我能想到的几个例子如下:
-remove
发出类似的命令。结果不是从两个用户中的一个删除访问权限,而是从两个用户中删除访问权限也不建议向非管理用户提供
+all
,如果这样做,您还可以将该用户添加到mqm
组,并向其提供完整的MQ管理权限
您应该为用户提供所需的特定权限。在我的示例中,我提供了一组适用于大多数应用程序的有限权限。AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)AUTHTYPE(IDPWOS)CHCKCLNT(可选)
将要求在发送密码时确保密码有效
您收到的AMQ8077
错误是因为用户没有连接到队列管理器的权限
您必须授予OAM权限,以允许clientadmin
连接到队列管理器
默认情况下,在Linux上,您只能对用户所属的组授予MQ OAM权限,在您的情况下,
clientadmin
所属的组。在MQ v8.0及更高版本中,如果已将以下设置添加到qm.ini,则还可以针对用户本身授予OAM权限:
Service:
SecurityPolicy=user
上面的设置不是必需的,它只允许两种不同的方式授予OAM权限。这记录在IBM MQ v8.0知识中心页面“”中。本页说明:
UNIX和Linux系统
AMQ8077: Entity 'clientadmin' has insufficient authority to access object
'TLSTEST.QM'.
EXPLANATION:
The specified entity is not authorized to access the required object. The
following requested permissions are unauthorized: connect
ACTION:
Ensure that the correct level of authority has been set for this entity against
the required object, or ensure that the entity is a member of a privileged
group.
AMQ9557: Queue Manager User ID initialization failed for 'clientadmin'.
EXPLANATION:
The call to initialize the User ID 'clientadmin' failed with CompCode 2 and Reason
2035.
ACTION:
Correct the error and try again.
ACL基于用户ID和组,您可以使用其中任何一个进行授权。