RabbitMQ消息队列-VirtualHost与权限管理
2019独角兽企业重金招聘Python工程师标准>>>
VirtualHost
像mysql有数据库的概念并且可以指定用户对库和表等操作的权限。那RabbitMQ呢?RabbitMQ也有类似的权限管理。在RabbitMQ中可以虚拟消息服务器VirtualHost,每个VirtualHost相当月一个相对独立的RabbitMQ服务器,每个VirtualHost之间是相互隔离的。exchange、queue、message不能互通。
在RabbitMQ中无法通过AMQP创建VirtualHost,可以通过以下命令来创建。
rabbitmqctl add_vhost [vhostname]
当然也可以通过WEB管理插件来创建。
如上图在创建完vhost后可以在All Virtual Host标签看到新建的VirtualHost。
用户权限管理
通常在权限管理中主要包含三步:
- 新建用户
- 配置权限
- 配置角色
新建用户
rabbitmqctl add_user superrd superrd
配置权限
set_permissions [-p <vhostpath>] <user> <conf> <write> <read>
其中, 的位置分别用正则表达式来匹配特定的资源,如
‘^(amq.gen.*|amq.default)$’
可以匹配server生成的和默认的exchange,’^$’不匹配任何资源
- exchange和queue的declare与delete分别需要exchange和queue上的配置权限
- exchange的bind与unbind需要exchange的读写权限
- queue的bind与unbind需要queue写权限exchange的读权限 发消息(publish)需exchange的写权限
- 获取或清除(get、consume、purge)消息需queue的读权限
示例:我们赋予superrd在“/”下面的全部资源的配置和读写权限。
rabbitmqctl set_permissions -p / superrd ".*" ".*" ".*"
注意”/”代表virtual host为“/”这个“/”和linux里的根目录是有区别的并不是virtual host为“/”可以访问所以的virtual host,把这个“/”理解成字符串就行。
配置角色
rabbitmqctl set_user_tags [user] [role]
RabbitMQ中的角色分为如下五类:none、management、policymaker、monitoring、administrator
官方解释如下:
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.
none
不能访问 management pluginmanagement
用户可以通过AMQP做的任何事外加:
列出自己可以通过AMQP登入的virtual hosts
查看自己的virtual hosts中的queues, exchanges 和 bindings
查看和关闭自己的channels 和 connections
查看有关自己的virtual hosts的“全局”的统计信息,包含其他用户在这些virtual hosts中的活动。policymaker
management可以做的任何事外加:
查看、创建和删除自己的virtual hosts所属的policies和parametersmonitoring
management可以做的任何事外加:
列出所有virtual hosts,包括他们不能登录的virtual hosts
查看其他用户的connections和channels
查看节点级别的数据如clustering和memory使用情况
查看真正的关于所有virtual hosts的全局的统计信息administrator
policymaker和monitoring可以做的任何事外加:
创建和删除virtual hosts
查看、创建和删除users
查看创建和删除permissions
关闭其他用户的connections
如下示例将superrd设置成administrator角色。
rabbitmqctl set_user_tags superrd administrator
转载于:https://my.oschina.net/LucasZhu/blog/1540058
RabbitMQ消息队列-VirtualHost与权限管理相关推荐
- RabbitMQ消息队列(十三)-VirtualHost与权限管理
像mysql有数据库的概念并且可以指定用户对库和表等操作的权限.那RabbitMQ呢?RabbitMQ也有类似的权限管理.在RabbitMQ中可以虚拟消息服务器VirtualHost,每个Virtua ...
- (四)RabbitMQ消息队列-服务详细配置与日常监控管理
(四)RabbitMQ消息队列-服务详细配置与日常监控管理 原文:(四)RabbitMQ消息队列-服务详细配置与日常监控管理 RabbitMQ服务管理 启动服务:rabbitmq-server -de ...
- 大数据互联网架构阶段 QuartZ定时任务+RabbitMQ消息队列
QuartZ定时任务+RabbitMQ消息队列 一 .QuartZ定时任务解决订单系统遗留问题 情景分析: 在电商项目中 , 订单生成后 , 数据库商品数量-1 , 但是用户迟迟不进行支付操作 , 这 ...
- 使用EasyNetQ组件操作RabbitMQ消息队列服务
RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现,是实现消息队列应用的一个中间件,消息队列中间件是分布式系统中重要的组件,主要解决应用耦合, ...
- 初探 RabbitMQ 消息队列
初探 RabbitMQ 消息队列 rabbitmq基础概念常见应用场景导入依赖属性配置具体编码定义队列实体类控制器消息消费者主函数测试总结说点什么 SpringBoot 是为了简化 Spring 应用 ...
- 消息队列——RabbitMQ消息队列集群
RabbitMQ消息队列集群 消息队列/中间件 RabbitMQ详解 RabbitMQ单机部署 RabbitMQ集群部署 消息队列/中间件 一.前言 在我们秒杀抢购商品的时候,系统会提醒我们稍等排队中 ...
- RabbitMQ消息队列常见面试题总结
1.什么是消息队列: 1.1.消息队列的优点: (1)解耦:将系统按照不同的业务功能拆分出来,消息生产者只管把消息发布到 MQ 中而不用管谁来取,消息消费者只管从 MQ 中取消息而不管是谁发布的.消息 ...
- rabbitMQ消息队列 – 面板介绍及简单demo
首先rabbit安装好之后,运维会给一个控制面板. 默认账号密码为guest 登入以后可以看到具体界面. 在此鸣谢百度翻译给予的大力支持.. ###写一个简单的demo 编写之前..虽然说可以直接用底 ...
- RabbitMQ消息队列(一)《Java-2021面试谈资系列》
RabbitMQ RabbitMQ消息队列 一.中间件 1.什么是中间件 2.中间件技术及架构概述 3.消息中间件 1.消息中间件的分布式架构 2.消息中间件使用场景 3.常见的消息中间件 4.消息中 ...
最新文章
- 使用VB.NET加快代码开发速度
- python3.6安装opencv-python3.6.5安装opencv3
- c+和python先学哪个比较好-C和Python我该先学什么?
- 【BZOJ2115】[Wc2011] Xor 高斯消元求线性基+DFS
- 关于远程终端不能登录问题解决!
- Hbase 表名修改
- 仪表板断面_【干货】内外饰断面设计规范
- SpringBoot2.0 基础案例(11):配置AOP切面编程,解决日志记录业务
- 浏览其中的【navigator】对象的【userAgent】判断浏览器。
- linux session 设置时间设置,设置linux系统history相关变量,命令时间、保存history条数,多session共享history...
- 计算机专业英语(一)学习方法
- matlab 模式识别工具箱下载,模式识别matlab工具箱
- 英语12种记忆单词的方法
- 数学之美系列—布隆过滤器(Bloom Filter)
- 抖音招商团长入驻条件
- 因为相信所以看见,既然看见注定坚信《6》
- c语言中ascii码的作用,C语言中ASCII码是什么意思?
- 武林传奇之七剑下天山java游戏开发商_武林传奇2之七剑下天山的配方
- 【Spring Boot 2.0学习之旅-15】SpringBoot2.0响应式编程
- linux从源码编译cairo,如何在windows下编译cairo