2

为了利用系统资源,我需要在多个客户端之间共享一个 QM 及其侦听器。

我关心的是安全 - 访问控制。由于所有客户端都可以访问侦听器端口,因此我无法使用防火墙来管理访问权限。

我如何确保客户只能访问共享 QM 下的特定队列?我知道我可以将 MCAUSER 分配给客户端级别的频道,但是,是什么让客户端只能连接到特定的频道?

我已将 MCAUSER 分配给频道并设置权限。现在,从客户端 java JMS API,我如何连接到该特定通道,以及什么禁止其他客户端连接到该特定通道?

4

1 回答 1

2

你在正确的轨道上。我建议阅读 IBM 会议的安全演示作为背景。转到此页面并向下滚动一下。

请记住,客户端可以指定任何频道名称,不是您为其配置的频道名称,因此除了在一个频道上设置 MCAUSER 之外,您还需要在所有频道上设置它。频道命名SYSTEM.DEF.*SYSTEM.AUTO.*应使用不能用作 valis 用户 ID 的 MCAUSER 禁用。我们目前建议使用MCAUSER('*NOACCESS'),因为*NOACCESS它是 WMQ V7.1 及更高版本中的保留字。

现在您已经阻止了未使用的通道,您需要安排将客户端连接映射到它们各自的用户 ID。您执行此操作的方式会有所不同,具体取决于您拥有的 WMQ QMgr 版本。在 V7.0 及更早版本中,它需要退出。MrMQ.dk 的BlockIP2出口是社区多年来做出的贡献,由 IBM 员工拥有和维护。在 V7.1 及更高版本中,BlockIP2 中的功能已在 WMQ 中作为 CHLAUTH 规则本地实现。

具体来说,出口或 V7.1 中的 CHLAUTH 规则允许您将连接客户端的断言 ID、IP 地址或 SSL 可分辨名称映射到用户 ID,以便在建立通道连接时放入 MCAUSER。

如果您需要验证用户 ID 和密码,那么您需要编写或购买出口来执行此操作。WMQ 和 BlockIP2 目前都不会验证 ID 和密码。但是,Capitalware 等业务合作伙伴出售的出口就是这样做的。如果您希望编写这样的出口,BlockIP2 源代码是一个不错的起点。

于 2012-08-17T13:14:58.150 回答