4.20. 为管理操作配置基于角色的访问控制
基于角色的访问控制(RBAC)用于限制对 MBeans 属性和方法的访问。Mbeans 是 AMQ Broker 公开管理 API 的方式,以支持管理操作。在以前的版本中,您可以通过在 ActiveMQArtemisSecurity
自定义资源(CR)中设置 RBAC 配置并重启代理以使更改生效来限制对 MBeans 的访问。从 7.12 开始,您可以限制对 ActiveMQArtemis
CR 中的 MBeans 的访问,并且不需要代理重启才能使更改生效。
流程
-
为您的代理部署编辑
ActiveMQArtemis
CR 实例。 添加以下环境变量,将代理配置为使用您在
ActiveMQArtemis
CR 中指定的 RBAC 配置。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
brokerProperties
属性中,为管理操作添加基于角色的访问控制配置。管理操作的匹配地址的格式是:
mops.<资源类型 >.<resource name>.<operation>
例如,以下配置向
activemq.management
地址授予manager
角色视图
和编辑权限
。操作位置中的星号 packagemanifests 授予对所有操作的访问权限。spec: .. brokerProperties: - securityRoles."mops.address.activemq.management.*".manager.view=true - securityRoles."mops.address.activemq.management.*".manager.edit=true
spec: .. brokerProperties: - securityRoles."mops.address.activemq.management.*".manager.view=true - securityRoles."mops.address.activemq.management.*".manager.edit=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在以下示例中,
mops
前缀后的数字符号(#)将 amq 角色视图授予amq
角色视图
,并将权限编辑
到所有 MBeans。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
resourceTemplates
属性定义运行脚本的 init 容器,以删除每个代理容器中的/amq/init/config/amq-broker/etc/management.xml
文件中的默认 RBAC 配置,如下例所示。您必须删除默认的 RBAC 配置,以便代理使用您在ActiveMQArtemis
CR 中创建的新 RBAC 配置。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 <BROKER_NAME> 替换为 CR 实例中
metadata.name
属性的值。- 保存 CR。