限制特定于 MFT的资源的组权限
为了管理 Managed File Transfer 访问控制 (FTEUSER 和 FTEAGENT) ,请配置两个安全组,而不是向个别用户授予所有可能涉及的各种对象的权限。 IBM® MQ 管理员负责创建和填充这些组。 管理员可选择扩展或修改此处所述的建议配置。
连接至队列管理器的权限
- 授予 FTEUSER 组针对命令队列管理器和协调队列管理器的连接权限。 例如:
对于 AIX®, Linux®, and Windows 系统:setmqaut -m command_queue_manager -t qmgr -g FTEUSER +connect setmqaut -m coordination_queue_manager -t qmgr -g FTEUSER +connect
对于 IBM i:GRTMQMAUT OBJ('command_queue_manager') OBJTYPE(*MQM) USER(FTEUSER) AUT(*CONNECT) GRTMQMAUT OBJ('coordination_queue_manager') OBJTYPE(*MQM) USER(FTEUSER) AUT(*CONNECT)
对于 z/OS®:RDEFINE MQCONN command_queue_manager.BATCH UACC(NONE) PERMIT command_queue_manager.BATCH CLASS(MQCONN) ID(FTEUSER) ACCESS(READ) RDEFINE MQCONN coordination_queue_manager.BATCH UACC(NONE) PERMIT coordination_queue_manager.BATCH CLASS(MQCONN) ID(FTEUSER) ACCESS(READ)
- 授予 FTEAGENT 组对于代理队列管理器的 connect 和 inquire 权限。 例如:
对于 AIX, Linux, and Windows 系统:setmqaut -m agent_queue_manager -t qmgr -g FTEAGENT +connect +inq +setid
对于 IBM i:GRTMQMAUT OBJ('agent_queue_manager') OBJTYPE(*MQM) USER(FTEAGENT) AUT(*CONNECT)
对于 z/OS:RDEFINE MQCONN agent_queue_manager.BATCH UACC(NONE) PERMIT agent_queue_manager.BATCH CLASS(MQCONN) ID(FTEAGENT) ACCESS(READ)
有关哪个命令直接连接到哪个队列管理器的信息,请参阅 哪个 MFT 命令连接到哪个队列管理器
在属于代理的 COMMAND 队列上放置消息的权限
- 请仅授予 FTEUSER 组对 SYSTEM.FTE.COMMAND.agent_name 队列的 put 访问权。 例如:
对于 AIX, Linux, and Windows 系统:setmqaut -m QM1 -n SYSTEM.FTE.COMMAND.agent_name -t queue -g FTEUSER +put
对于 IBM i:GRTMQMAUT OBJ('SYSTEM.FTE.COMMAND.agent_name') OBJTYPE(*Q) USER(FTEUSER) AUT(*PUT) MQMNAME('QM1')
对于 z/OS:RDEFINE MQQUEUE QM1.SYSTEM.FTE.COMMAND.agent_name UACC(NONE) PERMIT QM1.SYSTEM.FTE.COMMAND.agent_name CLASS(MQQUEUE) ID(FTEUSER) ACCESS(UPDATE)
- 请授予 FTEAGENT 组对 SYSTEM.FTE.COMMAND.agent_name 队列的 put、get 和 setid 访问权。 例如:
对于 AIX, Linux, and Windows 系统:setmqaut -m QM1 -n SYSTEM.FTE.COMMAND.agent_name -t queue -g FTEAGENT +browse +put +get +setid
对于 IBM i:GRTMQMAUT OBJ('SYSTEM.FTE.COMMAND.agent_name') OBJTYPE(*Q) USER(FTEAGENT) AUT(*PUT) MQMNAME('QM1') GRTMQMAUT OBJ('SYSTEM.FTE.COMMAND.agent_name') OBJTYPE(*Q) USER(FTEAGENT) AUT(*GET) MQMNAME('QM1') GRTMQMAUT OBJ('SYSTEM.FTE.COMMAND.agent_name') OBJTYPE(*Q) USER(FTEAGENT) AUT(*SETID) MQMNAME('QM1')
对于 z/OS:RDEFINE MQQUEUE QM1.SYSTEM.FTE.COMMAND.agent_name UACC(NONE) PERMIT QM1.SYSTEM.FTE.COMMAND.agent_name CLASS(MQQUEUE) ID(FTEAGENT) ACCESS(UPDATE) RDEFINE MQADMIN QM1.CONTEXT.SYSTEM.FTE.COMMAND.agent_name UACC(NONE) PERMIT QM1.CONTEXT.SYSTEM.FTE.COMMAND.agent_name CLASS(MQADMIN) ID(FTEAGENT) ACCESS(UPDATE)
代理需要访问权以将消息放入其他代理的命令队列中。 如果存在连接到远程队列管理器的代理,那么可能需要授予额外的权限以允许通道将消息放入此队列中。
在属于代理的 DATA、STATE、EVENT 和 REPLY 队列上放置消息的权限
- DATA- SYSTEM.FTE.DATA.agent_name
- 状态- SYSTEM.FTE.STATE.代理名称
- EVENT- SYSTEM.FTE.EVENT。代理名称
- REPLY- SYSTEM.FTE.REPLY。代理名称
对于 AIX, Linux, and Windows 系统:setmqaut -m QM1 -n SYSTEM.FTE.DATA.agent_name -t queue -g FTEAGENT +put +get +inq
对于 IBM i:GRTMQMAUT OBJ('SYSTEM.FTE.DATA.agent_name') OBJTYPE(*Q) USER(FTEAGENT) AUT(*PUT) MQMNAME('QM1') GRTMQMAUT OBJ('SYSTEM.FTE.DATA.agent_name') OBJTYPE(*Q) USER(FTEAGENT) AUT(*GET) MQMNAME('QM1')
对于 z/OS:RDEFINE MQQUEUE QM1.SYSTEM.FTE.DATA.agent_name UACC(NONE) PERMIT QM1.SYSTEM.FTE.DATA.agent_name CLASS(MQQUEUE) ID(FTEAGENT) ACCESS(UPDATE)
代理需要访问权以将消息放入其他代理的数据和回复队列中。 如果存在连接到远程队列管理器的代理,那么可能需要授予额外的权限以允许通道将消息放入这些队列中。
代理过程运行时使用的权限
代理过程运行时使用的权限会影响代理可在文件系统上读取和写入的文件,以及代理可访问的队列和主题。 如何配置权限取决于系统。 将代理过程运行时使用的用户标识添加到 FTEAGENT 组。 有关将用户标识添加到组的更多信息,请参阅 设置安全性 并浏览到操作系统的信息。
用于运行命令和 IBM MQ Explorer 的权限
管理命令 (例如 fteStartAgent 命令) 和 IBM MQ Explorer 的 Managed File Transfer 插件需要能够将消息放入 SYSTEM.FTE.COMMAND.agent_name 队列并从该队列检索已发布的信息。 将有权运行命令或 IBM MQ Explorer 的用户标识添加到 FTEUSER 组。 发起方用户标识记录在传输日志中。 有关将用户标识添加到组的更多信息,请参阅 设置安全性 并浏览到操作系统的信息。
在 SYSTEM.FTE 队列和 SYSTEM.FTE 主题上放置消息的权限
对于 AIX, Linux, and Windows 系统:setmqaut -m QM1 -n SYSTEM.FTE -t queue -g FTEAGENT +put +inq setmqaut -m QM1 -n SYSTEM.FTE -t topic -g FTEAGENT +pub +sub +resume
对于 IBM i:GRTMQMAUT OBJ('SYSTEM.FTE') OBJTYPE(*Q) USER(FTEAGENT) AUT(*PUT) MQMNAME('QM1') GRTMQMAUT OBJ('SYSTEM.FTE') OBJTYPE(*TOPIC) USER(FTEAGENT) AUT(*PUB) MQMNAME('QM1') GRTMQMAUT OBJ('SYSTEM.FTE') OBJTYPE(*TOPIC) USER(FTEAGENT) AUT(*SUB) MQMNAME('QM1')
对于 z/OS:RDEFINE MQQUEUE QM1.SYSTEM.FTE UACC(NONE) PERMIT QM1.SYSTEM.FTE CLASS(MQQUEUE) ID(FTEAGENT) ACCESS(UPDATE) RDEFINE MXTOPIC QM1.PUBLISH.SYSTEM.FTE UACC(NONE) PERMIT QM1.PUBLISH.SYSTEM.FTE CLASS(MXTOPIC) ID(FTEAGENT) ACCESS(UPDATE)
如果存在连接到远程队列管理器的代理,那么可能需要授予额外的权限以允许通道将消息放入 SYSTEM.FTE 队列中。
要将消息发布到 SYSTEM.FTE 主题,SYSTEM.FTE 主题的权限记录必须允许按照消息的消息描述符结构 (MQMD) 中包含的用户标识进行发布。 在 发布 MFT 代理日志和状态消息的权限中对此进行了描述。
要允许用户在 z/OS 上发布到 SYSTEM.FTE 主题,必须授予通道启动程序用户标识有关发布到 SYSTEM.FTE 主题的访问权限。 如果 RESLEVEL 安全概要文件导致要检查两个用户标识的通道启动程序连接,那么您还需要授予针对包含在消息的消息描述符结构 (MQMD) 中的用户标识的访问权限。 有关更多信息,请参阅 RESLEVEL 安全概要文件
在 SYSTEM.FTE 主题上接收发布的权限
对于 AIX, Linux, and Windows 系统:setmqaut -m QM1 -n SYSTEM.FTE -t topic -g FTEUSER +sub
对于 IBM i:GRTMQMAUT OBJ('SYSTEM.FTE') OBJTYPE(*TOPIC) USER(FTEUSER) AUT(*SUB) MQMNAME('QM1')
对于 z/OS:RDEFINE MXTOPIC QM1.SUBSCRIBE.SYSTEM.FTE UACC(NONE) PERMIT QM1.SUBSCRIBE.SYSTEM.FTE CLASS(MXTOPIC) ID(FTEUSER) ACCESS(ALTER)
使用传输队列连接至远程队列管理器的权限
在多个队列管理器的拓扑中,代理请求传输队列上的 put 权限(用于连接至远程队列管理器)。
为文件传输创建临时回复队列的权限
对于 AIX, Linux, and Windows 系统:setmqaut -m QM1 -n SYSTEM.DEFAULT.MODEL.QUEUE -t queue -g FTEUSER +dsp +put +get +browse
对于 IBM i:GRTMQMAUT OBJ('SYSTEM.DEFAULT.MODEL.QUEUE') OBJTYPE(*Q) USER(FTEUSER) AUT(*ADMDSP) MQMNAME('QM1') GRTMQMAUT OBJ('SYSTEM.DEFAULT.MODEL.QUEUE') OBJTYPE(*Q) USER(FTEUSER) AUT(*PUT) MQMNAME('QM1') GRTMQMAUT OBJ('SYSTEM.DEFAULT.MODEL.QUEUE') OBJTYPE(*Q) USER(FTEUSER) AUT(*GET) MQMNAME('QM1') GRTMQMAUT OBJ('SYSTEM.DEFAULT.MODEL.QUEUE') OBJTYPE(*Q) USER(FTEUSER) AUT(*BROWSE) MQMNAME('QM1')
对于 z/OS:RDEFINE MQQUEUE QM1.SYSTEM.DEFAULT.MODEL.QUEUE UACC(NONE) PERMIT QM1.SYSTEM.DEFAULT.MODEL.QUEUE CLASS(MQQUEUE) ID(FTEUSER) ACCESS(UPDATE)
RDEFINE MQQUEUE QM1.WMQFTE.** UACC(NONE)
PERMIT QM1.WMQFTE.** CLASS(MQQUEUE) ID(FTEUSER) ACCESS(UPDATE)缺省情况下,z/OS 上的每个临时队列的名称以 WMQFTE 开头。| Object | 对象类型 | FTEUSER | FTEAGENT |
|---|---|---|---|
| 代理队列管理器 | 队列管理器 | CONNECT、INQ 和 SETID。 还需要 ALTUSER 来启用对 MFT 代理操作的用户权限限制。 | |
| 协调队列管理器 | 队列管理器 | ||
| 命令队列管理器 | 队列管理器 | CONNECT | CONNECT |
| SYSTEM.FTE | 本地队列 | GET 和 PUT | |
| SYSTEM.FTE.COMMAND。代理名称 | 本地队列 | PUT | BROWSE、GET、PUT 和 SETID |
| SYSTEM.FTE.DATA.agent_name | 本地队列 | GET 和 PUT | |
| SYSTEM.FTE.EVENT。代理名称 | 本地队列 | BROWSE、GET 和 PUT | |
| SYSTEM.FTE.REPLY。代理名称 | 本地队列 | GET 和 PUT | |
| SYSTEM.FTE.STATE.代理名称 | 本地队列 | BROWSE、GET、INQ 和 PUT | |
| SYSTEM.FTE | 本地主题 | SUBSCRIBE | PUBLISH 和 SUBSCRIBE |
| SYSTEM.DEFAULT.MODEL.QUEUE (或 Managed File Transfer 中定义的用于创建临时应答队列的模型队列。) |
模型队列 | BROWSE、DISPLAY、GET 和 PUT | BROWSE、DISPLAY、GET 和 PUT |
| 与远程队列管理器通信的传输队列 | 本地队列 | PUT |
通过 IBM MQ Explorer 管理传输的权限
- 协调队列管理器:连接、查询和显示
- 命令队列管理器:连接、查询和显示
- SYSTEM.FTE 主题:发布和预订
- SYSTEM.MQEXPLORER.REPLY.MODEL: 显示,查询,获取,浏览,放置
- SYSTEM.ADMIN.COMMAND.QUEUE:查询、放置和显示
- SYSTEM.DEFAULT.MODEL.QUEUE:获取、放置、查询、显示和浏览