IBM MQ 服务器:连接和认证
每个 IBM MQ 服务器定义都包含连接属性和认证设置,服务集成将使用这些属性和设置来连接至相关联的 IBM MQ 队列管理器或队列共享组,以便进行资源发现或消息传递。
连接
- 在使用管理控制台创建 IBM MQ 服务器的过程中,运行自动资源发现进程以便直接从 IBM MQ 捕获资源信息时。wsadmin 命令不支持自动发现资源。
- 在使用 IBM MQ 服务器在服务集成与 IBM MQ 之间传递消息时。
- 可使用客户机传输方式在服务集成与 IBM MQ 之间建立 TCP/IP 网络连接。
- 如果 WebSphere® Application Server 与 IBM MQ 位于同一系统上(或者,对于 z/OS® 系统,位于同一系统的同一个分区中),那么使用绑定传输方式在服务集成与 IBM MQ 之间进行连接会更加有效率。
有关用于连接到 IBM MQ for z/OS 的机制的更多信息,请参阅 IBM MQ 信息中心中的《z/OS 系统设置指南》。
认证
IBM MQ 系统管理员可能希望服务集成每次连接时向 IBM MQ 进行认证。每次需要与指定给 IBM MQ 服务器总线成员的队列点或调解点交换消息数据时, 以及您使用管理控制台来配置 IBM MQ 服务器期间运行自动资源发现进程时, 都会发生此认证。
IBM MQ 系统管理员还可能想在 IBM MQ 系统上设置两个不同的用户帐户:其中一个只具有发现资源所需的特权,另一个具有进行消息传递所需的特权。IBM MQ 服务器定义通过允许您对 MQ 服务器配置两个对应于这两个帐户的认证别名来支持此需求。
认证别名的长度上限为 12 个字符,这是因为 IBM MQ 用于检查新连接的标识的用户标识也具有此限制。如果认证别名的长度超出 12 个字符,那么它们将截断。
如果正在使用资源访问控制设施 (RACF®) 作为 IBM MQ for z/OS 系统上的安全管理器,并且正在使用绑定传输方式,那么必须指定大写字符格式的用户名和密码作为认证别名。如果使用 RACF 和客户机传输方式,那么可指定大写或小写字符格式的用户名和密码。
存在认证别名时,IBM MQ 将使用 IBM MQ 通道安全性出口来检查该认证别名中包含的用户名和密码。IBM MQ for z/OS 提供了样本安全性出口 CSQ4BCX3,该出口演示根据此信息执行认证的方式。
当消息发送至 IBM MQ 以执行资源发现时,将使用 MQPMO_SET_IDENTITY_CONTEXT 选项。用来建立消息传递连接的凭证必须有权声明此选项。
- 对于客户机传输方式连接,IBM MQ 将使用认证别名中的用户标识和密码。如果在 IBM MQ 服务器定义中未指定认证别名,那么将向 IBM MQ 提供空字符串作为用户标识和密码。
- 对于绑定传输方式连接,IBM MQ 将使用与应用程序服务器进程相关联的凭证进行认证。因此,服务集成将指示应用程序服务器进程切换凭证并使用相关 IBM MQ 服务器认证别名中的用户标识和密码。这进而要求应用程序服务器进程最初有足够的特权来进行连接和执行切换。如果在 IBM MQ 服务器定义中未指定认证别名,那么不会尝试切换凭证,并且将使用应用程序服务器进程的原始凭证。
对于资源发现,应使用单服务器配置中服务方地址空间中的凭证,以及 Network Deployment 配置中 Deployment Manager 地址空间中的凭证。对于消息传递工作,应使用控制区域助手地址空间中的凭证。
覆盖连接和认证设置
将 IBM MQ 服务器定义添加至服务集成总线以使其成为总线成员时,可使用总线所使用的连接设置和认证别名来覆盖用于消息传递的服务器设置和认证别名。您可使用此选项创建该服务器特定于总线的实例,这在多总线配置中非常有用。通常,这样做是为了区分来自不同总线的连接,从而有可能应用不同的安全性设置。