分配对队列的用户/组访问权
IBM MQ on Cloud 队列管理器的缺省配置是针对所有初始队列分配权限记录,允许用户和应用程序发送和接收消息。 所有以 "DEV." 开头的队列和主题都配置为允许发送和接收消息。
如果已创建其名称不以 "DEV" 开头的新队列或主题,那么预定义的授权记录将不适用。 因此,应用程序不会具有向此队列或主题发送消息或从中接收消息所必需的许可权。
在此情况下,尝试将消息发送到名称不以 "DEV" 开头的新队列,将产生下列其中一条错误消息:
JMSWMQ2007: Failed to send a message to destination '[YOUR QUEUE NAME]'
MQRC_NOT_AUTHORIZED (2035)
.
配置权限记录
使用下列其中一种方法。
-
使用
runmqsc
来运行以下命令:SET AUTHREC PROFILE('TEST.QUEUE') OBJTYPE(QUEUE) GROUP('demoapp') AUTHADD(PUT,GET,BROWSE,INQ)
SET AUTHREC PROFILE('TEST.QUEUE') OBJTYPE(TOPIC) GROUP('demoapp') AUTHADD(SUB,PUB)
*注:*将 'TEST.QUEUE' 替换为您的队列名称,以及将 'demoapp' 替换为应用程序用户名。 如果您希望,可以通过指定组“mqwriter”,向对象授予对所有已连接应用程序的访问权。
-
通过 Web 控制台:
- 选择新队列,然后在屏幕顶部的三个点下选择“配置”。
- 选择“安全性”,然后单击“添加 +”。
- 选择“组”,然后输入名称“mqwriter”作为“组名”。 勾选“MQI”复选框,并确保仅选中 MQI 下的框。
- 单击“创建”按钮。