4.4. 配置 AMQ 管理控制台


配置用户访问并请求对代理上资源的访问权限。

4.4.1. 使用红帽单点登录保护 AMQ 管理控制台

先决条件

  • 红帽单点登录 7.4

流程

  1. 配置红帽单点登录:

    1. 导航到您要用于保护 AMQ 管理控制台的红帽单点登录中的域。红帽单点登录中的每个域都包含一个名为 Broker 的客户端。此客户端与 AMQ 无关。
    2. 在红帽单点登录中创建一个新客户端,如 artemis-console
    3. 进入客户端设置页面并设置:

      • 有效的重定向 URI 到 AMQ 管理控制台 URL,后跟 *,例如:

        https://broker.example.com:8161/console/*
      • Web 提取到与 Valid Redirect URI 相同的值。红帽单点登录允许您输入 +,表示允许的 CORS 来源包括 Valid Redirect URI 的值。
    4. 为客户端创建一个角色,如 guest
    5. 确保需要访问 AMQ 管理控制台的所有用户都被分配了上述角色,例如使用红帽单点登录组。
  2. 配置 AMQ Broker 实例:

    1. 在您的 <broker-instance-dir>/instances/broker0/etc/login.config 文件中添加以下内容,将 AMQ 管理控制台配置为使用红帽单点登录:

      console {
          org.keycloak.adapters.jaas.BearerTokenLoginModule required
              keycloak-config-file="${artemis.instance}/etc/keycloak-bearer-token.json"
              role-principal-class=org.apache.activemq.artemis.spi.core.security.jaas.RolePrincipal
          ;
      };

      添加此配置可设置 JAAS 主体以及红帽单点登录对 bearer 令牌的要求。与 Red Hat Single Sign-On 的连接在 keycloak-bearer-token.json 文件中定义,如下一步中所述。

    2. 创建一个包含以下内容的文件 <broker-instance-dir>/etc/keycloak-bearer-token.json,以指定与用于 bearer 令牌交换的红帽单点登录连接:

      {
        "realm": "<realm-name>",
        "resource": "<client-name>",
        "auth-server-url": "<RHSSO-URL>/auth",
        "principal-attribute": "preferred_username",
        "use-resource-role-mappings": true,
        "ssl-required": "external",
        "confidential-port": 0
      }
      <realm-name>
      红帽单点登录中的域名称
      <client-name>
      Red Hat Single Sign-On 中的客户端名称
      <RHSSO-URL>
      Red Hat Single Sign-On 的 URL
    3. 创建一个包含以下内容的文件 <broker-instance-dir>/etc/keycloak-js-token.json,以指定 Red Hat Single Sign-On 身份验证端点:

      {
        "realm": "<realm-name>",
        "clientId": "<client-name>",
        "url": "<RHSSO-URL>/auth"
      }
    4. 通过编辑 <broker-instance-dir>/etc/bootstrap.xml 文件来配置安全设置。

      例如,要允许具有 amq 角色的用户 消耗信息并允许具有 客户机 角色发送信息的用户,请添加以下内容:

               <security-setting match="Info">
                  <permission roles="amq" type="createDurableQueue"/>
                  <permission roles="amq" type="deleteDurableQueue"/>
                  <permission roles="amq" type="createNonDurableQueue"/>
                  <permission roles="amq" type="deleteNonDurableQueue"/>
                  <permission roles="guest" type="send"/>
                  <permission roles="amq" type="consume"/>
               </security-setting>
  3. 运行 AMQ 代理实例并验证 AMQ 管理控制台配置。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.