首页 > 其他分享 >RabbitMQ3.x之四_RabbitMQ角色说明及创建用户与授权

RabbitMQ3.x之四_RabbitMQ角色说明及创建用户与授权

时间:2024-03-28 09:04:19浏览次数:17  
标签:set 管理 RabbitMQ3 用户 RabbitMQ 访问 rabbitmqctl user 之四

RabbitMQ3.x之四_角色说明及创建用户与授权

文章目录

1. 访问和授权

官网说明:Management Plugin | RabbitMQ

  1. RabbitMQ中的访问和授权时以Tag来控制的

  2. 请注意,由于“管理员”做“监视”做的所有事情,而“监视”完成“管理”做的一切事情,因此每个用户通常最多需要一个标记,也即一个用户只能分配一个Tag

1. Tags说明

管理 UI 需要身份验证和授权,就像 RabbitMQ 需要的那样 它来自连接客户端。除了成功的身份验证外,管理 UI 访问还由用户标记控制。 这些标签使用 rabbitmqctl 进行管理。 默认情况下,新创建的用户不会设置任何标签。

有关用户和凭据的一般建议,请参阅生产清单 管理。

Tag(标记)Capabilities(能力)
None(无)无法访问管理插件
management(管理)用户可以通过消息传递协议执行的任何操作,以及:列出他们可以通过 AMQP 登录的虚拟主机在“他们的”中查看所有队列、交换和绑定 虚拟主机查看和关闭自己的频道和连接查看涵盖其所有“全球”统计数据 虚拟主机,包括其他用户的活动 在他们里面
policymaker(决策者)“管理”可以加上的一切:查看、创建和删除虚拟策略和参数 他们可以通过 AMQP 登录的主机
monitoring(监测)“管理”可以加上的一切:列出所有虚拟主机,包括它们可以 不使用消息传递协议进行访问查看其他用户的连接和频道查看节点级数据,例如内存使用情况和集群查看所有虚拟主机的真正全局统计信息
administrator(管理员)“政策制定者”和“监督者”可以加上的一切:创建和删除虚拟主机查看、创建和删除用户查看、创建和删除权限关闭其他用户的连接

请注意,由于“管理员”会执行所有“监视” 做,“监控”做“管理”做的一切, 每个用户通常最多需要一个标签。

对资源的正常 RabbitMQ 权限仍适用于监视器和 管理员;仅仅因为用户是监视器或 管理员未授予他们对交易所的完全访问权限, 通过管理的队列和绑定 插件或其他方式。

所有用户只能列出虚拟中的对象 他们拥有任何权限的主机。

如果由于缺少用户而无法访问管理 UI 具有足够的权限或忘记/不正确的权限,CLI 工具必须 用于管理用户及其凭据。rabbitmqctl add_user 应该用于创建用户,rabbitmqctl set_permissions授予 用户所需的权限,最后是 rabbitmqctl set_user_tags应用于授予用户管理 UI 访问权限。

2. 命令行示例

以下示例创建一个对管理 UI/HTTP API 具有完全访问权限的用户(如 所有虚拟主机和管理功能):

# create a user
rabbitmqctl add_user full_access s3crEt
# tag the user with "administrator" for full management UI and HTTP API access
rabbitmqctl set_user_tags full_access administrator

2. 管理界面新建用户及访问授权

rabbitmq默认的guest用户具有所有的操作权限,因此只能限制本地访问,不能远程访问

1. 管理界面新建用户

在这里插入图片描述

2. 管理界面中的授权说明

Comma-separated list of tags to apply to the user. Currently supported by the management plugin:

  • management

    User can access the management plugin

  • policymaker

    User can access the management plugin and manage policies and parameters for the vhosts they have access to.

  • monitoring

    User can access the management plugin and see all connections and channels as well as node-related information.

  • administrator

    User can do everything monitoring can do, manage users, vhosts and permissions, close other user’s connections, and manage policies and parameters for all vhosts.

Note that you can set any tag here; the links for the above four tags are just for convenience.

要应用于用户的逗号分隔的标记列表。目前由管理插件支持:
经营
用户可以访问管理插件
-决策者
用户可以访问管理插件,并管理他们可以访问的vhosts的策略和参数。
-监测
用户可以访问管理插件,查看所有连接和通道以及节点相关信息。
管理员
用户可以做监控所能做的一切,管理用户、vhosts和权限,关闭其他用户的连接,并管理所有vhosts的策略和参数。
请注意,您可以在此处设置任何标记;上面四个标签的链接只是为了方便。

3. guest用户不能远程登录提示

在这里插入图片描述

3. 创建用户

1. 基本命令

# 创建vhost
rabbitmqctl add_vhost <vhost_name>
# 创建用户
rabbitmqctl add_user <username> <password>
# 给用户分配tag(角色)
rabbitmqctl set_user_tags <username> <tag>
# 查看用户列表
rabbitmqctl list_users
# 修改用密码
rabbitmqctl  change_password  <username> <newPassword>
# 开启某个用户远程访问
rabbitmqctl set_permissions -p "<vhost_name>" <username> ".*" ".*" ".*"
# 删除用户 
rabbitmqctl  delete_user  <username>

2. 实际案例

# 创建用户
rabbitmqctl add_user mytest test123
# 给用户分配tag(角色)
rabbitmqctl set_user_tags mytest administrator
# 开启远程访问
rabbitmqctl set_permissions -p "/" mytest ".*" ".*" ".*"

3. bat脚本创建用户

  1. Windows中一个bat脚本执行多条命令的说明

cmd1 & cmd2 & cmd3 : 无论前面命令是否执行成功,后面命令都会执行
cmd1 && cmd2 && cmd3: 仅当前面命令成功时,才执行后面的命令
cmd1 || cmd2 || cmd3: 仅当前面命令失败时.才执行后面命令

  1. 编写脚本如下

新建一个createRabbitUser.bat,内容如下

注意:所有命令必须在同一行,不能换行,否则会执行失败

rabbitmqctl add_user mytest test123 && rabbitmqctl set_user_tags mytest administrator && rabbitmqctl set_permissions -p "/" mytest ".*" ".*" ".*"
pause

4. 查看用户列表_命令行

输入命令rabbitmqctl list_users,查看用户如下

在这里插入图片描述

5. 查看用户列表_管理界面

  1. 通过脚本创建用户后,如下

在这里插入图片描述

点击用户名,如下图

在这里插入图片描述

  1. mytest用户远程登录如下

在这里插入图片描述

标签:set,管理,RabbitMQ3,用户,RabbitMQ,访问,rabbitmqctl,user,之四
From: https://blog.csdn.net/yuanjinshenglife/article/details/137097671

相关文章

  • 2、RabbitMQ、Erlang
    1、RabbitMQ是一个实现了高级消息队列协议(AMQP)的开源消息代理软件,也被称为面向消息的中间件。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移则是构建在开放电信平台框架上的。RabbitMQ具有以下特点:可扩展性:RabbitMQ可以通过添加更多的节点和队列来实现水平扩展,从而提高......
  • rabbitmq安装使用问题汇总
    附上别的同学的安装教程:win10安装rabbitMQ详细步骤_rabbitmq安装-CSDN博客安装rabbitmq之前是需要先安装erlang环境的,否则的话是无法安装的,还有一点就是安装的版本要对应上,否则也是会存在问题的*重点:rabbitmq安装的时候要选择管理员权限安装,否则可能出现其他问题,后面还是要重......
  • RabbitMQ工厂虚拟机集群可靠性测试报告
    高可用集群架构节点域名操作系统RabbitMQ版本Erlang版本rabbitmq1.mfg.tp-link.comCentos7.93.8.2823.3-2rabbitmq2.mfg.tp-link.comCentos7.93.8.2823.3-2rabbitmq3.mfg.tp-link.comCentos7.93.8.2823.3-2目前Centos7.9通过直接RPM包部署安装的版......
  • RabbitMQ3.x之一_WindowServer2019中安装RabbitMQ详细教程
    RabbitMQ3.x之一_WindowServer2019中安装RabbitMQ详细教程文章目录RabbitMQ3.x之一_WindowServer2019中安装RabbitMQ详细教程1.安装环境说明1.WindowServer20192.ErLang与RabbitMQ对应版本2安装Erlang1.安装Erlang2.ErLnag环境变量配置3.查看是否安装成功3.安......
  • C#9.0新特性详解系列之四:顶级程序语句(Top-Level Programs)
    原文链接:https://www.cnblogs.com/markkang/p/14091908.html1背景与动机通常,如果只想用C#在控制台上打印一行“HelloWorld!”,这可不是Console.WriteLine("HelloWorld!");一条语句就可以搞定的,还涉及到其他必要基础代码(如定义类和入口函数Main),例如下面:usingSystem;classProgr......
  • org.springframework.amqp.AmqpAuthenticationException: com.rabbitmq.client.Authen
    出现问题org.springframework.amqp.AmqpAuthenticationException:com.rabbitmq.client.AuthenticationFailureException:ACCESS_REFUSED-LoginwasrefusedusingauthenticationmechanismPLAIN.Fordetailsseethebrokerlogfile.解决问题创建一个超级用户//添......
  • 机械结构篇之四足机器人腿部结构
    欢迎关注微信公众号“四足机器人研习社”,本公众号的文章和资料和四足机器人相关,包括行业的经典教材、行业资料手册,同时会涉及到职业知识学习及思考、行业发展、学习方法等一些方面的文章。目录   1.四足机器人腿部机构概述 2.足式机器人腿部设计要点 3.四足机器人......
  • rabbitmq
    composerrequirephp-amqplib/php-amqplib:2.6.1在界面上设置好交换机、队列、绑定代码上只需要插入和读取 设置交换机 设置队列 队列绑定交换机  ......
  • RabbitMQ集群运维实践
    一、RabbitMQ的集群模式主要有两种:普通集群模式和镜像队列模式。下面分别介绍这两种模式的原理:1.普通集群模式:在普通集群模式下,RabbitMQ的集群节点之间主要同步元数据,而不同步存储的消息数据。这意味着消息本身只存储在创建该消息队列的节点上,其他节点只保留队列的元数据信息......
  • 蓝鲸rabbitmq监控实践
    蓝鲸rabbitmq监控实践rabbitmq是蓝鲸所依赖的消息队列服务,影响着多个服务,如作业平台、标准运维、监控平台、节点管理、日志平台等。因为rabbitmq服务异常而导致的故障往往比较隐蔽,这类故障往往无法在页面直接反馈出来。在生产环境中曾遇到过因为rabbitmq异常,导致作业任务以及标准......