考虑以下队列defintinons:
SET AUTHREC OBJTYPE(QMGR)GROUP('mq-user')AUTHADD(INQ,DSP,CONNECT)
SET AUTHREC PROFILE(SYSTEM.MQEXPLORER.REPLY.MODEL)OBJTYPE(QUEUE)GROUP('mq-user')AUTHADD(INQ,DSP,GET)
SET AUTHREC PROFILE(SYSTEM.ADMIN.COMMAND.QUEUE)OBJTYPE(QUEUE)GROUP('mq-user')AUTHADD(INQ,DSP,PUT)
DEFINE CHANNEL($ cname)CHLTYPE(SVRCONN)TRPTYPE(TCP)MCAUSER('tcs-mq-user')REPLACE
SET CHLAUTH($ cname)TYPE(ADDRESSMAP)ADDRESS(*)MCAUSER('tcs-mq-user')
好的,答案正在发售,今天买三送一!:-)让我们按顺序采取这些......
1.A. 通道的MCAUSER值是执行授权检查的ID.如果DEFINE CHL() CHLTYPE(SVRCONN)叶子MCAUSER为空,则客户端连接可以指定他们希望连接的ID.如果未指定,WMQ客户端将尝试使用从客户端应用程序运行的工作站看到的客户端用户的ID并显示该ID.MCAUSER通道定义中的设置可防止客户端应用程序指定该值.
1.B. ADDRESSMAP规则中的MCAUSER 用于MCAUSER根据某些识别标准进行映射.它说" 如果连接到达此通道的指定IP地址|用户名| SSL可分辨名称那么使用此 ID作为MCAUSER AND允许通道运行,如果没有其他规则阻止它.
如果使用CHLAUTH映射规则,则建议通常将通道设置为MCAUSER不可能是用户ID的值,以使其不会运行.这样,除非CHLAUTH规则将MCAUSER覆盖为允许访问的值,否则通道默认为安全状态.对于典型的值MCAUSER曾经是nobody直到标记泰勒,从Hursley实验室WMQ策略,建议使用不能是实际的用户ID,例如一个值no#body.从WMQ V7.1开始,这个值*NOACCESS是一项保留的工作,以及我现在在会议演示中使用的内容.
2.是的.WMQ基于组进行授权.标准建议是将您的安全需求解构为"admin","app1","app2","monitoring","anonymous"等角色.然后,对于需要访问权限的每个角色,创建一个组.
但访问请求来自唯一标识的主体,而不是来自组.授权检查需要一个帐户进行检查,因此通道中的MCAUSER是一个ID,而授权权限则按组存储.要将用户与正确的权限相关联,请将他们注册到正确的组中.
这是支持职责分离的标准UNIX授权模型.资源管理员(WMQ管理员)授权组.帐户管理员在组中注册用户ID.它需要两个组来提供访问权限.在现实世界中,大多数商店不使用职责分离功能,但在重要情况下,它是强制性的.
3.排序.V7.1或更高版本的默认QMgr根本不允许任何远程连接.这是因为在创建时它没有AUTHREC规则,因此不授予非管理员访问权限.默认CHLAUTH规则阻止管理员进行远程访问.
根据指定的规则,任何人都可以成功连接到该$cname频道,并将被授权为tcs-mq-user.如果您希望它们作为具有相同权限的不同用户ID进行连接,则需要将该ID添加到该mq-user组,然后将通道设置为映射所显示的ID.如果您想强制执行某个连接的ID,因为您必须按IP地址指定映射,或者更好的是,根据其证书专有名称.
4.否.如上面#2中所述,访问请求始终由委托人而不是群组进行.CHLAUTH规则MCAUSER和专有名称映射的整个要点是解析通道用于授权检查的用户ID.通道定义MCAUSER是该ID解析过程中的安全控件,因此它对ID进行操作,而不是对组进行操作.
如果您还没有找到该网站,您可能会发现T-Rob.net很有用.特别是,在链接页面上,我发布了会议的所有WMQ安全演示文稿以及我和其他作者文章的链接.
| 归档时间: |
|
| 查看次数: |
6331 次 |
| 最近记录: |