[IBM i]

IBM i 上的授权服务

授权服务是一个可安装服务,它使队列管理器能调用授权工具,例如,检查某个用户标识是否有权限打开队列。

此服务是 IBM MQ 安全性启用接口 (SEI) 的组件,它是 IBM MQ 框架的一部分。 将讨论以下主题:

对象权限管理器 (OAM)

IBM MQ 产品随附的授权服务组件称为对象权限管理器 (OAM)。 缺省情况下,OAM 处于活动状态并与以下控制命令一起使用:
  • WRKMQMAUT 处理权限
  • WRKMQMAUTD 处理权限数据
  • DSPMQMAUT 显示对象权限
  • GRTMQMAUT 授予对象权限
  • RVKMQMAUT 撤销对象权限
  • RFRMQMAUT 刷新安全性
CL 命令帮助对这些命令的语法及其使用方法进行了描述。 OAM 使用主体或组的实体
当进行 MQI 请求或发出命令时,OAM 将检查与此操作关联的实体的权限,以确认其是否可以执行下列操作:
  • 执行请求的操作。
  • 访问指定的队列管理器资源。
授权服务使您可以编写自己的授权服务组件,来扩充或替换为队列管理器提供的权限检查。

对操作系统定义服务

队列管理器配置文件 qm.ini 中的授权服务节定义了队列管理器的授权服务。 有关节类型的信息,请参阅 在 IBM i上配置服务和组件

配置授权服务节

IBM MQ for IBM i 上:
主体
IBM i 系统用户概要文件。
IBM i 系统组概要文件。

只能在组级别授予或撤销权限。 请求授予或撤销某个用户权限将更新该用户的主组。

每个队列管理器都有它自己的队列管理器配置文件。 例如,队列管理器 QMNAME 的队列管理器配置文件的缺省路径和文件名为 /QIBM/UserData/mqm/qmgrs/QMNAME/qm.ini

会自动将缺省授权组件的 Service 节和 ServiceComponent 节添加到 qm.ini,但是可能会被 WRKENVVAR 覆盖。 任何其他的 ServiceComponent 节都必须手动添加。

例如,队列管理器配置文件中的以下节定义两个授权服务组件:
图 1。 IBM i 上 qm.ini 中的授权服务节
Service:
    Name=AuthorizationService
    EntryPoints=7

ServiceComponent:
    Service=AuthorizationService
    Name=MQ.UNIX.authorization.service
    Module=QMQM/AMQZFU
    ComponentDataSize=0

ServiceComponent:
    Service=AuthorizationService
    Name=user.defined.authorization.service
    Module=LIBRARY/SERVICE PROGRAM NAME
    ComponentDataSize=96

第一个服务组件节 MQ.UNIX.authorization.service 定义缺省授权服务组件 OAM。 如果您移除此节并重新启动队列管理器,OAM 将被禁用并且不会进行权限检查。