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