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

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.rhkb.cn/news/289804.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P8623 [蓝桥杯 2015 省 B] 移动距离 Python

[蓝桥杯 2015 省 B] 移动距离 题目描述 X 星球居民小区的楼房全是一样的&#xff0c;并且按矩阵样式排列。其楼房的编号为 $1,2,3, \cdots $ 。 当排满一行时&#xff0c;从下一行相邻的楼往反方向排号。 比如&#xff1a;当小区排号宽度为 6 6 6 时&#xff0c;开始情形如…

数据结构——链表(练习题)

大家好&#xff0c;我是小锋我们继续来学习链表。 我们在上一节已经把链表中的单链表讲解完了&#xff0c;大家感觉怎么样我们今天来带大家做一些练习帮助大家巩固所学内容。 1. 删除链表中等于给定值 val 的所有结点 . - 力扣&#xff08;LeetCode&#xff09; 我们大家来分…

网站为什么要选择使用安全加速SCDN?

安全加速SCDN&#xff08;安全内容交付网络&#xff09;是一种网络加速服务&#xff0c;旨在提高网站和应用程序的性能和安全性。它使用专门的技术和基础设施来加速内容传输并保护网站免受网络攻击。 安全加速SCDN可以通过内容缓存、快速传输和动态路由技术来加速网站和应用程…

SpringMVC第一个helloword项目

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

【ML】类神经网络训练不起来怎么办 5

【ML】类神经网络训练不起来怎么办 5 1. Saddle Point V.S. Local Minima(局部最小值 与 鞍点)2. Tips for training: Batch and Momentum(批次与 动量)2.1 Tips for training: Batch and Momentum2.2 参考文献:2.3 Gradient Descent2.4 Concluding Remarks(前面三讲)3.…

C# OpenCvSharp 轮廓检测

目录 效果 代码 下载 效果 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using OpenCvSharp; using OpenCvSharp.…

Git 命令总览

Git Git 是一个版本控制系统&#xff0c;用于管理项目代码。通过 Git 可以轻松地进行代码的提交、更新和合并&#xff0c;确保项目代码的安全性和稳定性。同时&#xff0c;Git 还提供了丰富的工具和功能&#xff0c;如分支管理、代码审查、版本回退等&#xff0c;帮助开发更好…

大模型 智能体 智能玩具 智能音箱 构建教程 wukong-robot

视频演示 10:27 一、背景 继上文《ChatGPT+小爱音响能擦出什么火花?》可以看出大伙对AI+硬件的结合十分感兴趣,但上文是针对市场智能音响的AI植入,底层是通过轮询拦截,算是hack兼容,虽然官方有提供开发者接口,也免不了有许多局限性(比如得通过特定指令唤醒),不利于我…

【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…

C/C++语言学习路线: 嵌入式开发、底层软件、操作系统方向(持续更新)

初级&#xff1a;用好手上的锤子 1 【感性】认识 C 系编程语言开发调试过程 1.1 视频教程点到为止 1.2 炫技视频看看就行 1.3 编程游戏不玩也罢 有些游戏的主题任务就是编程&#xff0c;游戏和实际应用环境有一定差异&#xff08;工具、操作流程&#xff09;&#xff0c;在…

Unity AI Navigation自动寻路

目录 前言一、Unity中AI Navigation是什么&#xff1f;二、使用步骤1.安装AI Navigation2.创建模型和材质3.编写向目标移动的脚本4.NavMeshLink桥接组件5.NavMeshObstacle组件6.NavMeshModifler组件 三、效果总结 前言 Unity是一款强大的游戏开发引擎&#xff0c;而人工智能&a…

ssm网上订餐管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目采用线性算法

一、源码特点 ssm 网上订餐管理系统是一套完善的信息系统&#xff0c;结合springMVC框架完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模…

移动端开发思考:Uniapp的上位替代选择

文章目录 前言跨平台开发技术需求技术选型uniappFlutterMAUIAvalonia安卓原生 Flutter开发尝试Avalonia开发测试测试项目新建项目代码MainViewMainViewModel 发布/存档 MAUI实战&#xff0c;简单略过打包和Avalonia差不多 总结 前言 作为C# .NET程序员&#xff0c;我有一些移动…

C++优先队列——priority_queue,函数对象,labmda表达式,pair等

头文件&#xff1a;#include<queue> 内部使用堆来实现&#xff0c;在需要或得最大的几个值或最小的几个值而不关心整个数组的顺序时非常好用。 用法&#xff1a; priority_queue<int, vector<int>, greater<int>>q; 第一个参数为堆中存储的元素。 …

Jmeter调用测试片段 —— 模块控制器

可以使用模块控制器调用测试片段。模块控制器提供了一种在运行时将测试片段替换为当前测试计划的机制。测试片段可以位于任何线程组中。 1、打开一个Jmeter窗口&#xff0c;添加好线程组、用户定义变量、模块控制器、测试片段、察看结果树。 2、用户定义变量同样定义好访问ip及…

linux离线安装jenkins及使用教程

本教程采用jenkins.war的方式离线安装部署&#xff0c;在线下载的方式会遇到诸多问题&#xff0c;不宜采用 一、下载地址 地址&#xff1a;Jenkins download and deployment 下载最新的长期支持版 由于jenkins使用java开发的&#xff0c;所以需要安装的linux服务器装有jdk环…

对话 Mines of Dalarnia: Web3 游戏创新,社区驱动与公链共建

作者&#xff1a;stellafootprint.network 嘉宾&#xff1a;Manfred Pack&#xff0c;Mines of Dalarnia 游戏开发总监 采访者&#xff1a;Alex Cooper&#xff0c;Footprint Analytics 北美社区与 BD 负责人 在区块链游戏领域&#xff0c;去中心化和玩家经济正在颠覆传统游戏…

3D模型格式转换案例 | CDM Tech如何应用HOOPS Exchange提升AR产品性能?

自2016年成立以来&#xff0c;CDM Tech一直致力于为汽车行业设计度量产品和提供其他解决方案&#xff0c;以满足主要的德国本土汽车制造巨头的需求。然而&#xff0c;随着时间的推移&#xff0c;他们开始将目光转向增强现实&#xff08;AR&#xff09;技术&#xff0c;并最终将…

【C语言】宏定义

1. 预定义符号 C语言设置了一些预定符号&#xff0c;可以直接使用&#xff0c;预定义符号也是在预处理期间处理的。 __FILE__ //进⾏编译的源⽂件 __LINE__ //⽂件当前的⾏号 __DATE__ //⽂件被编译的⽇期 __TIME__ //⽂件被编译的时间 __STDC__ //如果编译器遵循ANSI C&…

Convex and Semi-Nonnegative Matrix Factorizations

我们提出了非负矩阵分解&#xff08;NMF&#xff09;主题的几种新变体。考虑形式为X FG^T的因子分解&#xff0c;我们关注的是G被限制为包含非负元素的算法&#xff0c;但允许数据矩阵X具有混合符号&#xff0c;从而扩展了NMF方法的适用范围。我们还考虑了基向量F被约束为数据…