IBM App Connect Enterprise 默认队列管理器

问题描述

我已经浏览了 this part 的 IBM App Connect Enterprise 官方文档,但我仍然无法弄清楚集成节点如何与认关联的 IBM MQ 队列管理器进行通信。很明显,连接是本地绑定的(在同一台机器上时),但我无法弄清楚以下内容

  1. IBM App Connect Enterprise 使用什么渠道连接到关联的队列管理器?
  2. 使用哪个用户 ID 进行连接?
  3. 由于连接是本地绑定的,所以不进行身份验证吗?
  4. This page 声明“您不能使用安全队列管理器作为集成节点或集成服务器的本地认队列管理器”,安全队列管理器是什么意思?
  5. 如何验证给定的队列管理器已成功与节点关联?我该如何测试?

目标:在不禁用通道身份验证的情况下以安全方式将本地认队列管理器与集成节点相关联。

解决方法

MQ 客户端应用程序有两种方式连接到队列管理器:

  • 如果 MQ 客户端应用程序与队列管理器在 相同 服务器上运行,则它可以以“绑定”模式连接。与队列管理器的连接使用 IPC - 无网络。没有执行通道或通道身份验证,用于连接的 UserId 是运行 MQ 客户端应用程序的 UserId。

  • 当 MQ 客户端应用程序远离队列管理器(不在同一台服务器上)时,唯一的选择是使用“客户端”模式。对于客户端模式连接,应用程序必须指定队列管理器的通道名称、远程主机名和端口号。 MQ 客户端应用程序还应提供用于身份验证的用户 ID 和密码。

,

ACE 在绑定模式下连接到默认 QM,因此不需要通道。

它将以运行 ACE 节点的用户身份连接。

通常,运行 ACE 节点的用户是 mqm 组的成员,因此它具有对默认 QM 的完全访问权限。因此,例如,如果您通过使用 connauth 的绑定禁用对 QM 的 mqm 访问,这将导致问题,但我相信您仍然可以保护 QM,您只需要授予 ACE 用户所需的确切权限(如果没有) mqm 成员。

您可以使用配置为使用默认 QM 的 MQ 输入或输出的流对其进行测试。或者使用依赖于默认 QM 的功能的流,如收集器节点。

,

以下是对您的每一点的回应。

  1. 您可以在绑定模式或客户端模式下连接到 MQ。查找绑定模式的链接和有关连接类型的 IBM 链接。绑定模式是当您的客户端本地安装在 MQ 服务器上时。如果您的客户端是远程客户端,则它必须通过在客户端计算机上本地安装 MQ 客户端库来使用客户端连接。
  1. 连接到 MQ 的用户 ID 是用于运行 IBM ACE 的服务帐户,在本例中是客户端应用程序。

  2. IBM MQ 也可以配置为对本地连接进行身份验证。您可以通过将 CHCKLOCL 设置为 REQUIRED 或 REQDADM 来打开它。这意味着您无法使用 runmqsc(错误 AMQ8135:未授权)在本地管理队列管理器,除非用户在 runmqsc 命令行上指定 -u UserId 参数。设置好后,runmqsc 会在控制台提示输入用户密码。同样,在本地系统上运行 IBM® MQ Explorer 的用户在尝试连接到队列管理器时将看到错误 AMQ4036。要指定用户名和密码,请右键单击本地队列管理器对象并从菜单中选择连接详细信息 > 属性...。在 Userid 部分,输入要使用的用户名和密码,然后单击 OK。以下链接中的更多详细信息:http://ibm.com/support/knowledgecenter/en/SSFKSJ_9.0.0/com.ibm.mq.sec.doc/q113250_.html

  3. 安全队列管理器 (QM) 是在没有正确身份验证/授权的情况下不允许连接进行连接的地方。理想情况下,应使用为获得某些 IBM ACE 功能而创建的队列管理器,并且仅限于 IBM ACE。 QM 应该与节点相关联。

  4. 如果关联,您可以运行以下 IBM IIB/ACE 命令以查看带有队列管理器名称的输出:

     C:\Program Files\IBM\ACE\11.0.0.9>mqsilist -a 
     BIP1285I: Integration node 'ACE11_NODE' on queue manager 'QM11' is stopped.
    

在这种情况下,假设 IBM ACE 和 QM 在同一台服务器上运行,您可以通过两种方式实现目标:

  1. 作为一个好的原则,仅将此队列管理器用于 IBM ACE 内部节点的目的。为了保护队列管理器,不要在队列管理器上定义任何 svrconn 通道。这样,远程客户端将无法连接到队列管理器。

  2. 您可以在队列管理器上启用 LDAP 身份验证检查 (AUTHTYPE(IDPWLDAP))。然后将以下参数设置为 CHCKLOCL(NONE) 和 CHCKCLNT(REQUIRED)。在这里,所有客户端都将被迫传播用户/通行证。 https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.2.0/com.ibm.mq.sec.doc/q113250_.html