服务集成安全性规划
规划消息传递系统的安全性时,可通过一组常见问题来描述可用选项的范围。
开始规划消息传递安全性时可能会有一些疑问:
- 如何保护总线?
- 谁有权访问总线?
- 谁有权访问总线目标?
- 必须保护哪些连接?
- 哪些用户标识存储在该总线与任何外部总线之间传输的消息中?
- 需要哪个级别的数据存储器安全性?
如果要将服务集成与 Web Service 配合使用,请参阅保护启用了总线的 Web Service。
- 如何保护总线?
- 如果已启用 WebSphere® Application Server
全局安全性,并且已配置用户注册中心,那么缺省情况下会保护新创建的服务集成总线。缺省情况下会检查总线定义中的启用总线安全性标志。这意味着消息传递引擎会认证所有连接客户机应用程序,并对尝试访问总线资源的每个客户机应用程序执行授权检查。有关启用总线安全性的更多信息,请参阅消息传递安全性。
创建新总线或者想要保护现有总线时,“总线安全性”向导会提示您指定安全域。安全域包含总线的安全性设置。根据总线成员版本,可指定缺省全局域或备用域:
- 全局域
- 这是缺省安全域。您必须对混合版本的总线指定全局域。
- 单元级别域和定制域
- 如果总线仅包含 WebSphere Application Server V7.0 或更高版本 总线成员,那么可将该总线配置为使用单元缺省安全域或定制安全域。定制安全域通常包含特定于特定总线的安全性设置。可为 UserRepository 之类的用户应用程序配置其他的单独安全域。有关对总线使用多个安全域的更多信息,请参阅消息传递安全性和多个安全域。
- 谁有权访问总线?
- 客户机应用程序尝试连接至总线时,消息传递引擎会针对用户注册中心认证客户机应用程序的凭证(标识和密码)。如果客户机认证成功,那么消息传递引擎会检查该客户机是否有权连接至总线。在用户注册中心中具有有效用户标识和密码的每个客户机应用程序都会认证成功,但您可能不希望每个客户机应用程序都有权连接至总线。为控制对总线的访问,必须将权限授予总线的总线连接者角色中的特定客户机应用程序。在用户注册中心中创建组,将客户机应用程序的标识添加至该组,然后将该组添加至总线的总线连接者角色。有关更多信息,请参阅 管理总线连接者角色。
- 谁有权访问总线目标?
- 对于每个目标,必须决定哪些客户机需要在总线目标上执行操作的权限以及他们必须执行哪些操作(或角色)。权限是通过将组和组成员添加至角色授予的。例如,如果希望名为 MyGroup
的一组客户机应用程序将消息发送至名为 MyQueue
的队列目标,那么应将 MyGroup 添加至 MyQueue 的发送方角色。有关更多信息,请参阅 管理目标角色。
可定义应用于总线中的每个目标的一组缺省许可权。例如,如果希望授权名为 MyMediations 的组的所有成员将消息发送至所选总线上的每个目标,那么可将 MyMediations 添加至缺省发送方角色。缺省情况下,所有本地目标从缺省资源继承角色。可选择覆盖所选目标的缺省继承。有关缺省角色的更多信息,请参阅管理缺省角色。有关覆盖缺省角色继承的更多信息,请参阅禁止从缺省资源继承。
如果一组客户机应用程序发布至主题并预订主题,那么这些主题存在于主题空间中。发布至主题的所有客户机的标识必须属于具有主题空间发送方角色的组。预订主题的所有客户机应用程序必须属于具有主题空间接收方角色的组。有关更多信息,请参阅 管理主题空间根角色。缺省情况下,还会在主题级别检查认证许可权。可禁用主题级别检查,或决定要对哪些客户机应用程序组授予访问所选主题的权限。
- 必须保护哪些连接?
- 决定要使用 SSL 保护下列哪些连接:
- 客户机与服务器(消息传递引擎)之间的连接。
- 总线内消息传递引擎之间的连接。
- 总线之间的连接。
有关更多信息,请参阅 在消息传递总线之间保证消息的安全。
- 哪些用户标识存储在该总线与任何外部总线之间传输的消息中?
- 发送消息时,会将发送方的用户标识存储在消息中,并将其用于该消息的任何后续访问控制检查。总线之间存在链路时,可对该链路配置“入站标识”和“出站标识”以控制将哪个用户标识存储在本地总线与外部总线之间传输的消息中。“入站标识”替换在流入总线的链路中传输的每个消息中的用户标识。“入站标识”用于控制对总线内的消息的访问。您可能因为以下原因而需要配置“入站标识”:
- 本地总线与外部总线存在于不同安全域中。
- 外部总线不安全。
- 当每个消息都具有相同用户标识时,可以更轻松地管理访问控制。
“出站标识”替换在流出总线的链路中传输的每个消息中的用户标识。要阻止外部总线上的消息携带原始用户标识时,您可能需要配置“出站标识”。
有关更多信息,请参阅 保护消息传递引擎之间的链路。
- 需要哪个级别的数据存储器安全性?
- 消息传递系统使用数据存储器(数据库)将消息存储在磁盘上。数据存储器中的消息可能受用户名和密码保护。应考虑这样是否足以保护数据存储器。数据库可能会提供其他安全性选项,例如数据加密。有关更多信息,请参阅 保证数据库访问的安全性。