RabbitMQ用户增删及权限控制
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