ActiveMQ Artemis与Hawtio:用户角色指定及management.xml权限方法解析
ActiveMQ Artemis management.xml权限属性解析与Hawtio GUI对应关系
一、management.xml中权限属性的核心含义
management.xml里的list*、get*等属性是为角色分配Artemis管理资源操作权限的配置项,所有属性均为布尔值(true表示允许,false表示禁止),按操作类型可分为以下几类:
- list 系列*:控制用户是否能列出指定类型的管理资源(如地址、队列、连接等),是查看资源列表的基础权限。
- get 系列*:控制用户是否能查看单个资源的详细配置与运行状态,是查看资源详情的权限。
- create 系列*:控制用户是否能创建新的管理资源(如新建地址、队列)。
- delete 系列*:控制用户是否能删除已存在的管理资源。
- update 系列*:控制用户是否能修改已有资源的配置参数。
- invoke 系列*:控制用户是否能执行资源的操作命令(如发送测试消息、启停队列、关闭连接等)。
二、权限属性与Hawtio GUI操作的对应列表
以下是常见权限属性对应的Hawtio具体操作权限:
listAddresses: 允许在Hawtio「Addresses」页面查看所有地址列表getAddress: 允许点击单个地址,查看其绑定队列、路由类型、持久化设置等详情createAddress: 允许使用Hawtio的「Create Address」功能新建地址deleteAddress: 允许在地址列表或详情页执行删除地址操作updateAddress: 允许在地址详情页修改路由类型、过期时间等配置参数listQueues: 允许在「Queues」页面查看全局队列列表,或在地址详情页查看该地址下的绑定队列getQueue: 允许点击单个队列,查看消息数量、消费者信息、配置参数等详情createQueue: 允许在Hawtio中新建队列(包括直接创建或绑定到指定地址)deleteQueue: 允许在队列列表或详情页执行删除队列操作updateQueue: 允许在队列详情页修改最大消息数、消息过期时间等配置参数invokeSendMessage: 允许在地址/队列详情页发送测试消息invokeStartQueue: 允许启动已停止的队列invokeStopQueue: 允许停止运行中的队列listConsumers: 允许在队列详情页查看当前连接的消费者列表getConsumer: 允许查看单个消费者的客户端ID、消息接收速率等详情listConnections: 允许在「Connections」页面查看所有客户端连接列表getConnection: 允许查看单个连接的会话数、远程地址等详情invokeCloseConnection: 允许强制关闭指定的客户端连接
三、配置示例
在management.xml中,权限是绑定到角色的,示例如下:
<security-settings> <role name="viewer" listAddresses="true" getAddress="true" listQueues="true" getQueue="true" listConnections="true" getConnection="true"/> <role name="admin" listAddresses="true" getAddress="true" createAddress="true" deleteAddress="true" updateAddress="true" listQueues="true" getQueue="true" createQueue="true" deleteQueue="true" updateQueue="true" invokeSendMessage="true" invokeStartQueue="true" invokeStopQueue="true" invokeCloseConnection="true"/> </security-settings>
上述配置中,viewer角色仅拥有查看类权限,admin角色拥有完整的管理操作权限。
内容的提问来源于stack exchange,提问作者Darklight
相关产品推荐
相关产品推荐

