5.3.2.2. 配置基于角色的访问控制
基于角色的访问控制 (RBAC)用于限制对 MBean 属性和方法的访问。RBAC 可让管理员根据角色为所有用户(如 Web 控制台、管理界面和核心消息等)授予正确的访问权限。
5.3.2.2.1. 配置基于角色的访问
以下示例步骤演示了如何将角色映射到特定 MBeans 及其属性和方法。
先决条件
- 您必须首先定义用户和角色。如需更多信息,请参阅 第 5.2.2.1 节 “配置基本用户和密码身份验证”。
流程
-
打开
<broker_instance_dir>/etc/management.xml
配置文件。 搜索
role-access
元素并编辑配置。例如:<role-access> <match domain="org.apache.activemq.artemis"> <access method="list*" roles="view,update,amq"/> <access method="get*" roles="view,update,amq"/> <access method="is*" roles="view,update,amq"/> <access method="set*" roles="update,amq"/> <access method="*" roles="amq"/> </match> </role-access>
-
在这种情况下,匹配将应用到域名为
org.apache.activemq.apache
的任何 MBean 属性。 -
对匹配的 MBean 属性的
view
、更新或
amq
角色的访问由以下哪个列表控制:*
、get*
、set*
、是*
,以及您将角色添加到的*
访问方法。method="*"
(wildcard)语法用作指定配置中没有列出的所有其他方法的概括性方法。配置中的每种访问方法将转换为 MBean 方法调用。 -
调用的 MBean 方法与配置中列出的方法匹配。例如,如果您调用了带
org.apache.activemq.artemis
域的 MBean 上名为listMessages
的方法,代理会将访问权限重新匹配回列表
方法配置中定义的角色。 您还可以使用完整 MBean 方法名称来配置访问权限。例如:
<access method="listMessages" roles="view,update,amq"/>
-
在这种情况下,匹配将应用到域名为
启动或重启代理。
-
Linux:
<broker_instance_dir>/bin/artemis run
-
在 Windows 上
:<broker_instance_dir>\bin\artemis-service.exe start
-
Linux:
您还可以通过添加与 MBean 属性匹配的 key
属性来匹配域中的特定 MBean。