我是靠谱客的博主 想人陪指甲油,这篇文章主要介绍RabbitMQ 三 角色权限,现在分享给大家,希望可以做个参考。

RabbitMQ的用户角色分类:

  • none
复制代码
1
不能访问 management plugin
  • management
复制代码
1
2
3
4
5
用户可以通过AMQP做的任何事外加: 列出自己可以通过AMQP登入的virtual hosts 查看自己的virtual hosts中的queues, exchanges 和 bindings 查看和关闭自己的channels 和 connections 查看有关自己的virtual hosts的“全局”的统计信息,包含其他用户在这些virtual hosts中的活动。
  • policymaker
复制代码
1
2
management可以做的任何事外加: 查看、创建和删除自己的virtual hosts所属的policies和parameters
  • monitoring
复制代码
1
2
3
4
5
management可以做的任何事外加: 列出所有virtual hosts,包括他们不能登录的virtual hosts 查看其他用户的connections和channels 查看节点级别的数据如clustering和memory使用情况 查看真正的关于所有virtual hosts的全局的统计信息
  • administrator
复制代码
1
2
3
4
5
policymaker和monitoring可以做的任何事外加: 创建和删除virtual hosts 查看、创建和删除users 查看创建和删除permissions 关闭其他用户的connections

创建用户并设置角色:

  • administrator
复制代码
1
2
3
4
sudo se add_user user_admin passwd_admin sudo rabbitmqctl set_user_tags user_admin administrator

权限

用户仅能对其所能访问的virtual hosts中的资源进行操作。这里的资源指的是virtual hosts中的exchanges、queues等,操作包括对资源进行配置、写、读。配置权限可创建、删除、资源并修改资源的行为,写权限可向资源发送消息,读权限从资源获取消息。

复制代码
1
2
3
4
5
exchange和queue的declare与delete分别需要exchange和queue上的配置权限 exchange的bind与unbind需要exchange的读写权限 queue的bind与unbind需要queue写权限exchange的读权限 发消息(publish)需exchange的写权限 获取或清除(get、consume、purge)消息需queue的读权限

对何种资源具有配置、写、读的权限通过正则表达式来匹配,具体命令如下:

复制代码
1
2
set_permissions [-p <vhostpath>] <user> <conf> <write> <read>

其中, 的位置分别用正则表达式来匹配特定的资源,如

复制代码
1
'^(amq.gen.*|amq.default)$'

可以匹配server生成的和默认的exchange,’^$’不匹配任何资源

  • 创建一个vhost(相当于一个命名空间)
复制代码
1
sudo rabbitmqctl add_vhost vhost1
  • 为用户授权
复制代码
1
2
3
4
$sudo rabbitmqctl set_permissions -p vhost1 user_admin '.*' '.*' '.*'

这里写图片描述

最后

以上就是想人陪指甲油最近收集整理的关于RabbitMQ 三 角色权限的全部内容,更多相关RabbitMQ内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部