rabbitmq权限管理

这篇具有很好参考价值的文章主要介绍了rabbitmq权限管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

RabbitMQ 的权限角色

  1. none: 不能登录管理控制台(启用management plugin的情况下),只能发送和接收消息, 所以一般生产者和消费者默认角色就是这个
  2. 普通管理者(management):仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
    • 用户可以通过AMQP做的任何事外加:
    • 列出自己可以通过AMQP登入的virtual hosts
    • 查看自己的virtual hosts中的queues, exchanges 和 bindings
    • 查看和关闭自己的channels 和 connections
    • 查看有关自己的virtual hosts的“全局”的统计信息,包含其他用户在这些virtual hosts中的活动
  3. 策略制定者(policymaker):可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。
    • management的权限外加:
    • 查看、创建和删除自己的virtual hosts所属的policies和parameters
  4. 监控者(monitoring):可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息。
    • management的权限外加:
    • 列出所有virtual hosts,包括他们不能登录的virtual hosts
    • 查看其他用户的connections和channels
    • 查看节点级别的数据如clustering和memory使用情况
    • 查看真正的关于所有virtual hosts的全局的统计信息
  5. 超级管理员(administrator):可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
    • policymaker和monitoring的权限外加:
    • 创建和删除virtual hosts
    • 查看、创建和删除users
    • 查看创建和删除permissions
    • 关闭其他用户的connections

RabbitMQ 的用户管理

  1. 新建用户:rabbitmqctl add_user {user_name} {user_passwd}
# rabbitmqctl add_user yang 123456
Adding user "yang" ...
  1. 查看创建的用户:rabbitmqctl list_users
# rabbitmqctl list_users
Listing users ...
user	tags
yang	[]
guest	[administrator]
  1. 设置用户角色:rabbitmqctl set_user_tags {user_name} {permissions}
# rabbitmqctl set_user_tags yang administrator
Setting tags for user "yang" to [administrator] ...
#
# rabbitmqctl list_users
Listing users ...
user	tags
yang	[administrator]
guest	[administrator]
  1. 修改指定用户的密码:rabbitmqctl change_password {username} {newpassword}
# rabbitmqctl change_password yang 12345678
Changing password for user "yang" ...
  1. 删除密码:rabbitmqctl clear_password {username}
# rabbitmqctl clear_password yang
Clearing password for user "yang" ...
  1. 删除指定用户:rabbitmqctl delete_user {username}
# rabbitmqctl delete_user yang
Deleting user "yang" ...
#
# rabbitmqctl list_users
Listing users ...
user	tags
guest	[administrator]

RabbitMQ 的权限控制

在上面添加完相关的用户后,就可以对其用户分配相关vhost的权限了。
vhost之于Rabbit就像虚拟机之于物理服务器一样,它们通过在各个实例间提供逻辑上分离,允许你为不同的应用程序安全保密地运行数据。而在RabbitMQ中相应的权限分为读、写、配置三部分。

  • 读:有关消费消息的任何操作,包括“清除”整个队列(同样需要绑定操作的成功)
  • 写:发布消息(同样需要绑定操作的成功)
  • 配置:队列和交换机的创建和删除

知道了RabbitMQ权限相关的配置后,就可以根据具体情况来配置相应的信息。

  1. 创建vhost:rabbitmqctl add_vhost {vhost}因为RabbitMQ的权限是以vhost为分隔的,所以我们需要确定一个vhost来确定相关的权限设置,默认的vhost是“/”。
# rabbitmqctl add_vhost tmp_vhost
Adding vhost "tmp_vhost" ...
  1. 列出所有的vhost:rabbitmqctl list_vhosts {vhostinfoitem ...}其中 {vhostinfoitem} 表示要展示的vhost的字段信息,展示的结果将按照 {vhostinfoitem} 指定的字段顺序展示。这些字段包括: name(名称) 和 tracing (是否为此vhost启动跟踪)。如果没有指定具体的字段项,那么将展示vhost的名称。
# rabbitmqctl list_vhosts
Listing vhosts ...
name
/
tmp_vhost
#
# rabbitmqctl list_vhosts tracing
Listing vhosts ...
tracing
false
false
  1. 删除一个vhost:rabbitmqctl delete_vhost {vhost}删除一个vhost将会删除该vhost的所有exchange、queue、binding、用户权限、参数和策略。
# rabbitmqctl delete_vhost tmp_vhost
Deleting vhost "tmp_vhost" ...
#
# rabbitmqctl list_vhosts
Listing vhosts ...
name
/
  1. 设置用户权限rabbitmqctl set_permissions [-p vhost] {user} {conf} {write} {read},具体作用如下:
    • {vhost}表示待授权用户访问的vhost名称,默认为 “/”;
    • {user}表示待授权反问特定vhost的用户名称;
    • {conf}表示待授权用户的配置权限,是一个匹配资源名称的正则表达式;
    • {write}表示待授权用户的写权限,是一个匹配资源名称的正则表达式;
    • {read}表示待授权用户的读权限,是一个资源名称的正则表达式。
# rabbitmqctl set_permissions -p / yang "^mip-.*" ".*" ".*"
Setting permissions for user "yang" in vhost "/" ...

上面例子表示授权给用户 “yang” 具有所有资源名称以 “mip-” 开头的配置权限;所有资源的写权限和读权限。文章来源地址https://www.toymoban.com/news/detail-432474.html

  1. 列出具有权限访问指定vhost的所有用户、对vhost中的资源具有的操作权限:rabbitmqctl list_permissions [-p vhost]默认vhost为 “/”。注意,空字符串表示没有任何权限。
# rabbitmqctl list_permissions -p /
Listing permissions for vhost "/" ...
user	configure	write	read
guest	.*	.*	.*
yang	^mip-.*	.*	.*
  1. 设置用户拒绝访问指定指定的vhost:rabbitmqctl clear_permissions [-p vhost] {username},host默认值为 “/”
# rabbitmqctl clear_permissions -p / yang
Clearing permissions for user "yang" in vhost "/" ...
#
# rabbitmqctl list_permissions -p /
Listing permissions for vhost "/" ...
user	configure	write	read
guest	.*	.*	.*
  1. 列出指定用户的权限vhost,和在该vhost上的资源可操作权限:rabbitmqctl list_user_permissions {username}
# rabbitmqctl list_user_permissions guest
Listing permissions for user "guest" ...
vhost	configure	write	read
/	.*	.*	.*

到了这里,关于rabbitmq权限管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 登录rabbitMQ管理界面时浏览器显示要求进行身份验证,与此站点连接不安全解决办法

        最近在黑马学习rabbitMQ的过程中,在使用docker部署好rabbitMQ后,使用账号为:itcast,密码为:123321 登录的时候浏览器显示了这个问题,如图所示: 当时以为自己需要输入自己的浏览器登录的账号进行验证,但是密码和账号输入后却显示         这就纳闷了,到底是什么原

    2024年02月08日
    浏览(48)
  • RabbitMQ安装、端口修改、简单的角色介绍

    本文介绍RabbitMQ安装的环境是CentOS7版本的Linux云服务器。 官网:https://www.rabbitmq.com/ 由于RabbitMQ是使用Erlang语言开发的,所以我们在安装RabbitMQ之前需要在服务器中安装Erlang语言的环境。在Linux中执行下面命令: 在执行完上面语句后,我们就可以安装RabbitMQ了,也是比较简单的

    2024年02月17日
    浏览(39)
  • RabbitMQ3.13.x之十一_RabbitMQ中修改用户密码及角色tags

    可以使用 RabbitMQ 的命令行工具 rabbitmqctl 来修改用户的密码和标签(tags) 例如,如果要将用户名为 guest 的用户密码修改为 test_123456 ,则可以执行以下命令 例如,如果要将用户名为 mytest 的用户的标签修改为 administrator ,则可以执行以下命令

    2024年04月12日
    浏览(41)
  • RabbitMQ创建新用户,并给用户添加角色和授权

      或             注:先进入到容器内部 注: 此处的角色只是一个标签(角色有 administrator、monitoring、policymaker、management 等等),也可以自己自定义 RabbitMQ角色释义 administrator policymaker和monitoring可以做的任何事外加: 创建和删除virtual hosts 查看、创建和删除users 查看创建和删除pe

    2024年02月03日
    浏览(48)
  • MySQL-用户与权限管理:用户管理、权限管理、角色管理

    注:此为笔者学习尚硅谷-宋红康MySQL的笔记,其中包含个人的笔记和理解,仅做学习笔记之用,更多详细资讯请出门左拐B站:尚硅谷!!! 1.1 登录MySQL服务器 启动MySQL服务后,可以通过mysql命令来登录MySQL服务器,命令如下: -h参数 后面接主机名或者主机IP, hostname为主机,hos

    2024年04月10日
    浏览(60)
  • 消息队列中间件 - Docker安装RabbitMQ、AMQP协议、和主要角色

    不管是微服务还是分布式的系统架构中,消息队列中间件都是不可缺少的一个重要环节,主流的消息队列中间件有RabbitMQ、RocketMQ等等,从这篇开始详细介绍以RabbitMQ为代表的消息队列中间件。 AMQP协议 AMQP协议是一个提供统一消息服务的应用层标准协议,基于此协议的客户端与

    2024年02月03日
    浏览(61)
  • 前端Vue:权限管理,给角色分配权限

    👉前端-Vue权限控制,菜单权限,按钮权限_一人创客的博客-CSDN博客 目录 介绍: 前端权限的概念: 前端权限的意义: Vue权限管理的代码实现: 菜单 刷新界⾯菜单消失 标识⽤户名, ⽅便查看当前⽤户 退出登陆:  界面: 1.判断当前是否登陆 2.控制是否可以访问角色界面 (

    2024年02月11日
    浏览(38)
  • RabbitMQ 权限设置

    RabbitMQ 是一个功能强大的消息代理和消息队列系统,提供了可靠的消息传递机制,被广泛应用于分布式系统和微服务架构中。为了确保系统的安全性和可靠性,正确配置 RabbitMQ 的权限是至关重要的。本文将介绍如何使用 RabbitMQ 权限设置来控制用户对交换机、队列和绑定的访

    2024年04月10日
    浏览(59)
  • Elasticsearch 的角色和权限管理

    Elasticsearch 是一个开源的分布式搜索和分析引擎,它允许用户通过 RESTful API 进行数据的存储、搜索和分析。在实际应用中,有时需要对 Elasticsearch 进行角色和权限管理,以确保系统的安全性和隐私保护。 1.角色管理 角色管理是 Elasticsearch 中对用户进行授权的一种方式。通过角

    2024年02月11日
    浏览(34)
  • RabbitMQ添加用户并设置权限

    默认的账号密码仅限于本机 localhost 进行访问,所以需要添加一个远程登录的用户 角色固定有四种级别: administrator :可以登录控制台、查看所有信息、并对rabbitmq进行管理 monToring :监控者;登录控制台,查看所有信息 policymaker :策略制定者;登录控制台指定策略 managment

    2024年02月16日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包