5.2.2. 根据属性文件配置用户和密码身份验证


AMQ Broker 支持灵活的基于角色的安全模型,以根据其地址将安全性应用到队列。队列已绑定到一个地址(用于点对点消息传递)或多对点(用于发布与订阅消息传递)。当消息发送到地址时,代理会查找绑定到该地址的一组队列,并将消息路由到一组队列。

当您需要基本用户和密码身份验证时,请使用 PropertiesLoginModule 来定义它。此登录模块根据代理本地存储的以下配置文件检查用户凭证:

artemis-users.properties
用于定义用户和相应的密码
artemis-roles.properties
用于定义角色,并将用户分配到这些角色
login.config
用于为用户和密码验证和客户机访问配置登录模块

artemis-users.properties 文件可以包含哈希密码,以提高安全性。

以下部分介绍了如何配置:

5.2.2.1. 配置基本用户和密码身份验证

以下步骤演示了如何配置基本用户和密码身份验证。

步骤

  1. 打开 <broker-instance-dir>/etc/login.config 配置文件。默认情况下,在新的 AMQ Broker 7.8 实例中,这个文件包括以下行:

    activemq {
       org.apache.activemq.artemis.spi.core.security.jaas.PropertiesLoginModule sufficient
           debug=false
           reload=true
           org.apache.activemq.jaas.properties.user="artemis-users.properties"
           org.apache.activemq.jaas.properties.role="artemis-roles.properties";
             };
    activemq
    配置的别名。
    org.apache.activemq.artemis.spi.core.security.jaas.PropertiesLoginModule
    实施类。
    足够

    指定 PropertiesLoginModule 需要什么级别的成功级别。您可以设置的值有:

    • 必需 :登录模块需要成功。身份验证继续关闭在给定别名中配置的登录模块列表,无论成功还是失败。
    • 必要 :登录模块需要成功。故障会立即向应用返回控制权。身份验证不会关闭在给定别名中配置的登录模块列表。
    • 足够:成功不需要登录模块。如果成功,则控制权返回到应用程序,身份验证也不会进一步进行。如果失败,身份验证将尝试关闭在给定别名中配置的登录模块列表。
    • 可选 :成功不需要登录模块。无论成功还是失败,身份验证都会保留在给定别名中配置的登录模块列表。
    org.apache.activemq.jaas.properties.user
    指定为登录模块实施定义一组用户和密码的属性文件。
    org.apache.activemq.jaas.properties.role
    指定将用户映射到已定义登录模块实施的角色的属性文件。
  2. 打开 <broker-instance-dir>/etc/artemis-users.properties 配置文件。
  3. 添加用户并为用户分配密码。例如:

    user1=secret
    user2=access
    user3=myPassword
  4. 打开 <broker-instance-dir>/etc/artemis-roles.properties 配置文件。
  5. 为您之前添加到 artemis-users.properties 文件中的用户分配角色名称。例如:

    admin=user1,user2
    developer=user3
  6. 打开 <broker-instance-dir>/etc/bootstrap.xml 配置文件。
  7. 如有必要,将您的安全域别名(在这个实例中,activemq)添加到 文件中,如下所示:

    <jaas-security domain="activemq"/>
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.