多总线的访问控制
服务集成总线上的消息传递引擎使用基于角色的授权,以确保本地总线可与外部服务集成总线以及 IBM MQ 安全地交换消息。
服务集成权限以角色为基础。通过将用户资源库中的一组用户标识指定给本地总线上某个目标的一个或多个访问角色,可控制哪些人在该总线目标上具有访问和执行操作的权限。消息传递引擎在运行时使用角色分配来确定组成员可在目标上执行哪些操作。如果客户机应用程序需要与另一总线交换消息,那么需要将客户机应用程序的标识指定给远程(外部)总线的发送方和接收方角色。客户机应用程序将消息从本地总线目标发送至外部总线目标时,消息传递引擎会针对客户机应用程序的标识的权限执行两个阶段的检查:
- 第一阶段授权检查
- 客户机应用程序从本地目标发送消息时,消息传递引擎会检查客户机应用程序的标识是否具有外部总线目标的发送方角色中的权限。
- 第二阶段授权检查
- 外部总线目标接收消息时,消息传递引擎会检查该消息标识(最初设置为发送客户机应用程序的标识)是否具有外部总线目标的发送方角色中的权限。
使用外部总线目标代理定义或外部总线定义将消息发送至外部总线目标。该定义包含用于确定发送方是否有权将消息发送至外部总线的权限。外部目标定义允许您逐个目标授予权限。如果特定目标不存在外部目标定义,那么消息传递引擎会使用缺省外部总线定义。
理解以下这点很重要:客户机应用程序能否将消息发送至外部总线是由针对外部总线或外部总线目标的角色分配控制的。外部总线接收消息时,外部总线上的消息传递引擎使用外部总线角色分配来检查消息能否进至外部总线目标。
对于第二阶段授权检查,消息传递引擎使用存储在消息中的标识。该标识设置为发送客户机应用程序的标识,但在外部总线目标上可能被“入站用户标识”或“出站用户标识”属性指定的值取代。在此情况下,消息传递引擎使用“入站用户标识”或“出站用户标识”(而不是原始发送客户机应用程序的标识)在外部总线上执行授权检查。
- 发送客户机应用程序必须具有适当外部总线目标的发送方角色中的权限。
- 外部总线目标必须存在。
通过多个总线路由消息时以及将消息发送至 IBM MQ 网络时,也可以对“入站用户标识”和“出站用户标识”执行检查。
如果链接安全的总线,那么它们之间的链路应该是安全的。要通过使用 SSL 来保护沿总线之间的虚拟链路传送的数据,必须定义必需的传输链并引用传输链名称。