IBM MQ ConsoleREST API 安全性

通过编辑 mqwebuser.xml 文件中的 mqweb 服务器配置来配置 IBM® MQ ConsoleREST API 的安全性。

关于本任务

您可以通过检查 mqweb 服务器的日志文件来跟踪用户操作并审计 IBM MQ ConsoleREST API 的使用情况。

可以使用以下命令对 IBM MQ ConsoleREST API 的用户进行认证:
  • 基本注册表
  • LDAP 注册表
  • 本地操作系统注册表
  • z/OS® 上的 SAF
  • WebSphere® Liberty 支持的任何其他注册表类型

可以将角色分配给 IBM MQ Console 用户和 REST API 用户,以确定授予他们对 IBM MQ 对象的访问权级别。 例如,要执行消息传递,必须为用户分配 MQWebUser 角色。 有关可用角色的更多信息,请参阅 IBM MQ 控制台和 REST API 上的角色

为用户分配角色后,可以使用许多方法来认证用户。 通过 IBM MQ Console,用户可以使用用户名和密码登录,也可以使用客户机证书认证。 通过 REST API ,用户可以采用基本的 HTTP 认证、基于令牌的认证或客户端证书认证。

过程

  1. 定义用户注册表以认证用户,并为每个用户或组分配角色以授权用户和组使用 IBM MQ ConsoleREST API。 有关更多信息,请参阅 配置用户和角色
  2. 选择 IBM MQ Console 的用户如何向 mqweb 服务器进行认证。 您不必对所有用户使用相同的方法:
    • 使用令牌认证来认证用户。 在这种情况下,用户在 IBM MQ Console 登录屏幕上输入用户标识和密码。 这会生成一个 LTPA 令牌,可让用户在一段时间内保持登录和授权状态。 无需进一步配置即可使用此认证选项,但您可以选择配置 LTPA 令牌的到期时间。 有关更多信息,请参阅 配置 LTPA 令牌到期时间间隔
    • 使用客户机证书来认证用户。 在这种情况下,用户不会使用用户标识或密码来登录到 IBM MQ Console,而是改为使用客户机证书。 有关更多信息,请参阅 将客户机证书认证用于 REST API 和 IBM MQ 控制台
  3. 选择 REST API 的用户如何向 mqweb 服务器进行认证。 您不必对所有用户使用相同的方法:
    • 使用 HTTP 基本认证来认证用户。 在这种情况下,将对用户名和密码进行编码,但不对其进行加密,并随每个 REST API 请求一起发送该用户名和密码,以针对该请求对该用户进行认证和授权。 为保证此认证的安全,必须使用安全连接。 即,必须使用 HTTPS。 更多信息,请参阅 《使用 HTTP 基本认证与REST API 》。
    • 使用令牌认证来认证用户。 在这种情况下,用户通过 HTTP向 REST API login 资源提供用户名和密码。 这会生成一个 LTPA 令牌,可让用户在一段时间内保持登录和授权状态。 有关更多信息,请参阅 将基于令牌的认证与 REST API 配合使用

      为保证此认证的安全,必须使用安全连接。 即,必须使用 HTTPS。 但是,如果您启用了 HTTP ,则允许为 HTTPS颁发的 LTPA 令牌用于 HTTP。 有关更多信息,请参阅 配置 LTPA 令牌

    • 使用客户机证书来认证用户。 在这种情况下,用户不会使用用户标识或密码来登录到 REST API,而是改为使用客户机证书。 有关更多信息,请参阅 将客户机证书认证用于 REST API 和 IBM MQ 控制台
  4. 可选: REST API配置跨源资源共享。

    默认情况下,当脚本与 REST API 不是来自同一来源时,网络浏览器不允许脚本(如 JavaScript, )调用 REST API 。 即,未启用跨源请求。 您可以配置跨源资源共享 (CORS) 以允许来自指定 URL 的跨源请求。 有关更多信息,请参阅 为 REST API 配置 CORS

  5. 可选: 配置 IBM MQ ConsoleREST API的主机头验证。

    您可以配置主机头验证并创建主机名和端口的允许列表,以确保 IBM MQ ConsoleREST API仅处理包含特定主机头的请求。 有关更多信息,请参阅 为 IBM MQ 控制台和 REST API 配置主机头验证