-
账号
Web Management 的账号与客户端(生产者/消费者)的账号是公用的。
-
账号列表
rabbitmqctl list_users
-
添加账号
rabbitmqctl add_user <username> <password>
-
删除账号
rabbitmqctl delete_user <username>
-
修改密码
rabbitmqctl change_password <username> <newpassword>
-
角色(tag)
-
角色(tag)介绍
角色其实是针对Web Management 的访问控制,
RabbitmMQ有5种角色:none、management、policymaker、monitoring、administrator
none :
不能进入Web Management , 只能发送和接收消息,
所以一般生产者和消费者默认角色就是这个
management :
用户可以通过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的全局的统计信息
administrator :
超级管理员, 拥有最高的权限, 可以做任何事
-
给账号分配角色
rabbitmqctl set_user_tags <username> <tag> ...
-
权限( permissions)
RabbitMQ 的权限( permissions)其实是对客户端(生产者/消费者,..)的权限控制。
-
设置权限
rabbitmqctl set_permissions [-p <vhostpath>] <user> <conf> <write> <read>
比如授予admin 用户可以访问虚拟主机 / , 并在所有资源上都具有可配置, 可读可写的权限
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*”
PS: 最后三个参数可用正则表达式
-
查看用户权限
rabbitmqctl list_user_permissions <username>
-
清楚用户权限
rabbitmqctl clear_permissions[-p <vhostpath>] <username>