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

news2024/12/23 13:24:42

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

文章目录

  • RabbitMQ3.x之四_角色说明及创建用户与授权
  • 1. 访问和授权
    • 1. Tags说明
    • 2. 命令行示例
  • 2. 管理界面新建用户及访问授权
    • 1. 管理界面新建用户
    • 2. 管理界面中的授权说明
    • 3. guest用户不能远程登录提示
  • 3. 创建用户
    • 1. 基本命令
    • 2. 实际案例
    • 3. bat脚本创建用户
    • 4. 查看用户列表_命令行
    • 5. 查看用户列表_管理界面

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用户远程登录如下

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1552446.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity 实现鼠标左键进行射击

发射脚本实现思路 分析 确定用户交互方式&#xff1a;通过鼠标左键点击发射子弹。确定子弹发射逻辑&#xff1a;每次点击后有一定时间间隔才能再次发射。确定子弹发射源和方向&#xff1a;子弹从枪口&#xff08;Transform&#xff09;位置发射&#xff0c;沿枪口方向前进。 变…

2024-3-28 市场情绪强修复

这一轮退潮负反馈都修复了&#xff0c; 艾艾精工 博信股份 安奈尔 永悦科技 大理药业 &#xff0c;高新发展 也补跌了&#xff0c;收尸队也干活了&#xff0c;情绪不修复不接力得最好写照。这轮周期 宁科生物 已经7板&#xff0c;已经追平了 博信股份7板&#xff0c;看明天溢…

基于单片机产品数量自动计量智能系统设计

**单片机设计介绍&#xff0c;基于单片机产品数量自动计量智能系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机产品数量自动计量智能系统设计是一个融合了单片机技术、传感器技术和自动控制技术的综合性项目。…

【Web应用技术基础】CSS(6)——使用 HTML/CSS 实现 Educoder 顶部导航栏

第一题&#xff1a;使用flex布局实现Educoder顶部导航栏容器布局 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Educoder</title><script src"https://cdn.staticfile.org/jquery/1.1…

Java与Go:字符串转IP

在本文中&#xff0c;我们将了解如何将简单的对比Java和Go是如何将字符串解析为IP地址。 Java 在Java中&#xff0c;将字符串转换为IP地址最无脑的一个方法&#xff1a; import java.net.InetAddress; import java.net.UnknownHostException;public class Main {public stat…

shell脚本发布docker springboot项目示例

docker、git、Maven、jdk8安装略过。 使git pull或者git push不需要输入密码操作方法 约定&#xff1a; 路径&#xff1a;/opt/springbootdemo&#xff0c; 项目&#xff1a;springbootdemo&#xff0c; 打包&#xff1a;springbootdemo.jar&#xff0c; docker容器名字&#x…

竞赛 python+opencv+深度学习实现二维码识别

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; pythonopencv深度学习实现二维码识别 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;3分创新点&#xff1a;3分 该项目较为新颖&…

武汉星起航跨境电商:破局传统贸易,引领全球商业新风尚

在全球经济格局日新月异的今天&#xff0c;跨境电商以其独特的商业模式和创新的运营理念&#xff0c;正在逐步改变着传统贸易的格局。武汉星起航电子商务有限公司&#xff0c;作为跨境电商领域的领军者&#xff0c;以其前瞻的战略布局和深厚的实战经验&#xff0c;不断推动着行…

Java设计模式—备忘录模式(快照模式)

定义 备忘录模式提供了一种状态恢复的实现机制&#xff0c;使得用户可以方便地回到一个特定的历史步骤&#xff0c;当新的状态无效或者存在问题时&#xff0c;可以使用暂时存储起来的备忘录将状态复原&#xff0c;很多软件都提供了撤销&#xff08;Undo&#xff09;操作&#…

基础算法-去重字符串,辗转相除法,非递归前序遍历二叉树题型分析

目录 不同子串 辗转相除法-求最大公约数 二叉树非递归前序遍历 不同子串 从a开始&#xff0c;截取 a aa aaa aaab 从第二个下标开始a aa aab 从第三个 a ab 从第四个 b 使用set的唯一性&#xff0c;然后暴力遍历来去去重&#xff0c;从第一个下标开始截取aaab a aa aaa aaab…

将html文件转化为pdf

1.用浏览器将html文件打开 2.空白处右键点击打印 3.另存为PDF即可

html音频和视频可输入表单input

音频和视频 loop循环播放autoplay自动播放controls显示控制面板<audio src""> //<video src"#">muted静音播放 可输入表单input password密码框 radio单选框 checkbox复选框 file上传文件 text文本框 文本框<input type"text"…

如何调试Clang源码

下载编译Clang 这个就直接去LLVM官网下载&#xff0c;然后编译好Clang就行&#xff0c;注意得debug模式&#xff0c;保存符号信息。 调试Clang 可以直接通过命令行来调试 #进入调试环境&#xff0c;这里的clang得是刚刚编译好的 lldb ./clang # r是运行&#xff0c;后面是正…

Java认识泛型类

一、包装类 认识泛型类之前先来认识一下包装类 1、基本数据类型和对应的包装类 在Java中&#xff0c;由于基本类型不是继承自Object&#xff0c;为了在泛型代码中可以支持基本类型&#xff0c;Java给每个基本类型都对应了一个包装类型。 除了 Integer 和 Character&#xff0…

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之九 简单闪烁效果

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之九 简单闪烁效果 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之九 简单闪烁效果 一、简单介绍 二、简单闪烁效果实现原理 三、简单闪烁效果案例实现简单步骤 四、注意事项 一、简单…

玩电脑突然停电对电脑有影响吗

在现代社会中&#xff0c;电脑已成为我们日常生活和工作中不可或缺的一部分。然而&#xff0c;当我们正在专注于工作或娱乐时&#xff0c;突然停电可能会给我们带来不小的困扰。那么&#xff0c;玩电脑时突然停电会对电脑产生哪些影响呢&#xff1f;本文将深入探讨这一问题&…

Groovy基础入门

一、Groovy简介 Groovy是运行在JVM中的一种动态语言&#xff0c;可以在Java平台上进行编程&#xff0c;使用方式基本与使用Java代码的方式相同&#xff0c;它的语法与Java语言的语法很相似&#xff0c;与Java相比&#xff0c;Groovy更加灵活、简洁&#xff0c;而且完成同样的功…

ChatGPT与传统搜索引擎的区别:智能对话与关键词匹配的差异

引言 随着互联网的快速发展&#xff0c;信息的获取变得比以往任何时候都更加便捷。在数字化时代&#xff0c;人们对于获取准确、及时信息的需求愈发迫切。传统搜索引擎通过关键词匹配的方式为用户提供了大量的信息&#xff0c;然而&#xff0c;这种机械式的检索方式有时候并不…

SpringMVC第一个helloword项目

文章目录 前言一、SpringMVC是什么&#xff1f;二、使用步骤1.引入库2.创建控制层3.创建springmvc.xml4.配置web.xml文件5.编写视图页面 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; SpringMVC 提示&#xff1a;以下是本篇文章正文内容&#xf…

Linux(CentOS)安装Redis教程_简单快捷

一、安装依赖 因为redis是用C语言开发的&#xff0c;所以在安装之前需要确定是否安装gcc环境&#xff08;gcc -v&#xff09;&#xff0c;如果没有安转可以执行一下命令进行安装 [rootlocalhost ~]# yum install -y gcc 二、下载安装包 1.在官网先进行下载 官网地址&#x…