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.9 实例中的此文件包括以下行:

    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.