rabbitmq的权限设置

来源:互联网 发布:淘宝上有个正义哥代购 编辑:程序博客网 时间:2024/06/11 02:51

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的可读权限。

原创粉丝点击