RabbitMQ用户增删及权限控制

[亡魂溺海] 提交于 2020-02-23 17:53:53

RabbitMQ用户增删及权限控制

用户角色分类

none:无法登录控制台

不能访问 management plugin,通常就是普通的生产者和消费者。

management:普通管理者。

仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对policies进行管理。用户可以通过AMQP做的任何事外加:
列出自己可以通过AMQP登入的virtual hosts
查看自己的virtual hosts中的queues, exchanges 和 bindings
查看和关闭自己的channels 和 connections
查看有关自己的virtual hosts的“全局”的统计信息,包含其他用户在这些virtual hosts中的活动。

policymaker:策略制定者。

management可以做的任何事外加:
查看、创建和删除自己的virtual hosts所属的policies和parameters

monitoring:监控者。

management可以做的任何事外加:
列出所有virtual hosts,包括他们不能登录的virtual hosts
查看其他用户的connections和channels
查看节点级别的数据如clustering和memory使用情况
查看真正的关于所有virtual hosts的全局的统计信息
同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)

administrator:超级管理员。

policymaker和monitoring可以做的任何事外加:
创建和删除virtual hosts
查看、创建和删除users
查看创建和删除permissions
关闭其他用户的connections

创建用户

rabbitmqctl add_user {用户名} {密码}

// 设置权限
rabbitmqctl set_user_tags {用户名} {权限}

例:创建一个超级用户

rabbitmqctl add_user admin1 admin1
rabbitmqctl set_user_tags admin1 administrator

查看用户列表

rabbitmqctl list_users

为用户赋权

// 使用户user1具有vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源
rabbitmqctl  set_permissions -p vhost1 user1 '.*' '.*' '.*' 

// 查看权限
rabbitmqctl list_user_permissions user1

rabbitmqctl list_permissions -p vhost1

// 清除权限
rabbitmqctl clear_permissions [-p VHostPath] User

删除用户

rabbitmqctl delete_user Username

修改用户的密码

rabbitmqctl change_password Username Newpassword
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!