5.3.2.2. 配置基于角色的访问控制
基于角色的访问控制 (RBAC)用于限制对 MBeans 的属性和方法的访问。RBAC 可让管理员基于角色向所有用户(如 Web 控制台、管理界面和核心信息等)授予正确的访问权限。
5.3.2.2.1. 配置基于角色的访问控制
以下示例步骤演示了如何将角色映射到特定的 MBeans 及其属性和方法。
先决条件
- 您必须首先定义用户和角色。如需更多信息,请参阅 第 5.2.2.1 节 “配置基本用户和密码身份验证”。
步骤
-
打开
<broker-instance-dir>/etc/broker.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
、update
或amq
角色的访问由列表*(
、get*
set*
、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 上:&
lt;broker-instance-dir>
\bin\artemis-service.exe start
-
在 Linux 上:
您还可以通过添加与 MBean 属性匹配的 密钥
属性来匹配域中的特定 MBeans。