rabbitmq权限设置

RabbitMQ中的角色分为如下五类:none、management、policymaker、monitoring、administrator 
(1) 超级管理员(administrator) 
可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。

(2) 监控者(monitoring) 
可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)

(3) 策略制定者(policymaker) 
可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。

(4) 普通管理者(management) 
仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。

(5) 其他(none) 
无法登陆管理控制台,通常就是普通的生产者和消费者。

新建用户:rabbitmqctl add_user user password

删除用户: rabbitmqctl delete_user user

改密码: rabbimqctl change_password {username} {newpassword}

设置用户角色的命令为: 
rabbitmqctl set_user_tags User Tag 
rabbitmqctl set_user_tags hncscwc monitoring policymaker // 可以设置多个角色

设置用户权限 
rabbitmqctl set_permissions -p VHostPath User ConfP WriteP ReadP 
// 具有/vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源 
rabbitmqctl set_permissions -p /vhost1 user_admin ‘.’ ‘.’ ‘.*’ 
set_permissions [-p ] 其中, 的位置分别用正则表达式来匹配特定的资源,如’^(amq.gen.*|amq.default)$’ 可以匹配server生成的和默认的exchange,’^$’不匹配任何资源

查看(指定hostpath)所有用户的权限信息 
rabbitmqctl list_permissions [-p VHostPath]

查看指定用户的权限信息 
rabbitmqctl list_user_permissions User

清除用户的权限信息 
rabbitmqctl clear_permissions [-p VHostPath] User

用户权限 
用户权限指的是用户对exchange,queue的操作权限,包括配置权限,读写权限。 
配置权限会影响到exchange,queue的声明和删除。 
读写权限影响到从queue里取消息,向exchange发送消息以及queue和exchange的绑定(bind)操作。 
例如: 将queue绑定到某exchange上,需要具有queue的可写权限,以及exchange的可读权限; 
向exchange发送消息需要具有exchange的可写权限; 
从queue里取数据需要具有queue的可读权限。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章