[MQ 9.3.3 2023 年 6 月]

确定 messaging REST API 使用的安全主体

使用 messaging REST API时,必须授权相应的用户访问要连接到以进行消息传递的队列管理器,队列和主题。 需要授权的用户取决于 mqweb 服务器的配置方式以及您是否将远程队列管理器与 messaging REST API配合使用。

缺省情况下,用于授权访问队列管理器的安全主体是启动运行 messaging REST API的 mqweb 服务器的用户。 用于授权访问队列和主题的安全主体是登录到 messaging REST API的用户。 但是,可以配置 mqweb 服务器或远程队列管理器连接,以使用不同的安全主体。

确定用于连接到队列管理器的安全主体

对于本地队列管理器连接,用于连接到队列管理器的安全主体是用于启动运行 messaging REST API的 mqweb 服务器的用户。 对于远程队列管理器连接, messaging REST API 使用以下安全主体按优先级顺序授权对队列管理器的访问。 即,如果在远程队列管理器配置中以多种方式指定用户,那么列表中的第一个用户将用于授权。
  1. 安全主体是安全出口中采用的用户上下文。
  2. 安全性主体是用于连接到远程队列管理器的服务器连接通道上的 CHLAUTH 规则中采用的用户上下文。
  3. 安全主体是 messaging REST API的远程队列管理器配置中包含的用户标识。 使用 setmqweb remote 命令添加队列管理器时,此用户标识可选择性地包含在队列管理器连接信息中。
  4. 安全主体是用于启动运行 messaging REST API的 mqweb 服务器的用户。
有关设置远程队列管理器以用于 messaging REST API的更多信息,请参阅 设置远程队列管理器以用于消息传递 REST API

确定用于连接到队列和主题的安全主体

您可以在 mqweb 服务器配置中设置属性,以确定在使用 messaging REST API时用于授权与队列和主题的连接的安全主体。 此属性是 mqRestMessagingAdoptWebUserContext 属性。 您可以使用 dspmqweb properties 命令来查看此属性所设置的内容。
  • 如果 mqRestMessagingAdoptWebUserContext 设置为 true ,那么 messaging REST API 将使用登录到 messaging REST API 以进行授权的用户的用户标识。 因此, mqweb 服务器配置中存在的用于 messaging REST API 的用户标识是必须有权访问队列和主题的安全主体。
  • 如果 mqRestMessagingAdoptWebUserContext 设置为 false ,那么 messaging REST API 将使用启动了托管 messaging REST API 以进行授权的 mqweb 服务器的用户的用户标识。 因此,必须授权与启动用于托管 messaging REST API 的 mqweb 服务器的用户标识相同的用户标识访问队列和主题。
    如果您的队列和主题位于远程队列管理器上,那么用于授权的安全主体可能由队列管理器配置中的设置确定。 可以按优先级顺序使用以下安全主体:
    1. 安全主体是安全出口中采用的用户上下文。
    2. 安全性主体是用于连接到远程队列管理器的服务器连接通道上的 CHLAUTH 规则中采用的用户上下文。 例如,可以在服务器连接通道上配置 CHLAUTH 规则以使用 MCAUSER 参数。 然后,所有连接都映射到有权使用队列管理器的用户标识。
    3. 安全主体是队列管理器的 AUTHINFO 中采用的用户上下文。 如果队列管理器的 CONNAUTH 属性所引用的 AUTHINFO 对象配置为使用 ADOPTCTX(yes),那么用于授权与队列管理器的连接的安全主体也用于授权队列和主题。 例如,此安全主体可能是作为 setmqweb remote 命令的一部分包含在远程队列管理器连接信息中的用户标识。