目的
验证rabbitmq的 Users对 Virtual Hosts 的权限控制及配置使用。
环境
实验室环境的 3 台 Rabbit MQ 服务器,已经配置好集群。
过程
1 新建一个用户,用户名和密码都是 test_user
$ rabbitmqctl add_user test_user test_user
Creating user "test_user" ...
2 新建一个 Virtual Hosts
$ rabbitmqctl add_vhost test_vhost
Creating vhost "test_vhost" ...
3 设置该用户在该 Virtual Hosts 的权限,权限为可进行任何操作
$ rabbitmqctl set_permissions -p test_vhost test_user ".*" ".*" ".*"
Setting permissions for user "test_user" in vhost "test_vhost" ...
4 设置用户的 Tags 为 administrator,共有四种:administrator(管理员)、monitoring(监控)、policymaker(决策者)、management(管理人员)
$ rabbitmqctl set_user_tags test_user administrator
Setting tags for user "test_user" to [administrator] ...
5 查看 test_user 用户权限
$ rabbitmqctl list_user_permissions test_user
Listing permissions for user "test_user" ...
test_vhost .* .* .*
6 给 admin 用户设置访问该 test_vhost 的所有权限,这样可以在控制台登录 admin 用户看到 test_vhost 下的所有内容
$ rabbitmqctl set_permissions -p test_vhost admin ".*" ".*" ".*"
Setting permissions for user "admin" in vhost "test_vhost" ...
7 使用 test_user 用户在 test_vhost 下新建队列及配置,此时消息也可以在新建的队列下正常发送
更多实验请参考:Rabbitmq 实验