- 浏览: 623841 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (819)
- java开发 (110)
- 数据库 (56)
- javascript (30)
- 生活、哲理 (17)
- jquery (36)
- 杂谈 (15)
- linux (62)
- spring (52)
- kafka (11)
- http协议 (22)
- 架构 (18)
- ZooKeeper (18)
- eclipse (13)
- ngork (2)
- dubbo框架 (6)
- Mybatis (9)
- 缓存 (28)
- maven (20)
- MongoDB (3)
- 设计模式 (3)
- shiro (10)
- taokeeper (1)
- 锁和多线程 (3)
- Tomcat7集群 (12)
- Nginx (34)
- nodejs (1)
- MDC (1)
- Netty (7)
- solr (15)
- JSON (8)
- rabbitmq (32)
- disconf (7)
- PowerDesigne (0)
- Spring Boot (31)
- 日志系统 (6)
- erlang (2)
- Swagger (3)
- 测试工具 (3)
- docker (17)
- ELK (2)
- TCC分布式事务 (2)
- marathon (12)
- phpMyAdmin (12)
- git (3)
- Atomix (1)
- Calico (1)
- Lua (7)
- 泛解析 (2)
- OpenResty (2)
- spring mvc (19)
- 前端 (3)
- spring cloud (15)
- Netflix (1)
- zipkin (3)
- JVM 内存模型 (5)
- websocket (1)
- Eureka (4)
- apollo (2)
- idea (2)
- go (1)
- 业务 (0)
- idea开发工具 (1)
最新评论
-
sichunli_030:
对于频繁调用的话,建议采用连接池机制
配置TOMCAT及httpClient的keepalive以高效利用长连接 -
11想念99不见:
你好,我看不太懂。假如我的项目中会频繁调用rest接口,是要用 ...
配置TOMCAT及httpClient的keepalive以高效利用长连接
RabbitMQ:基本命令
rabbitmq的安装、启动和停止
rabbitmq-service.bat install
rabbitmq-service.bat start
rabbitmq-service.bat stop
列出所有queue
rabbitmqctl list_queues
列出指定queue的信息
rabbitmqctl list_queues [the queue name] messages_ready messages_unacknowledged
列出所有exchange
rabbitmqctl list_exchanges
列出所有binding
rabbitmqctl list_bindings
安装基于web的管理插件
rabbitmq-plugins.bat enable rabbitmq_management
参考:http://www.cnblogs.com/happyframework/p/3997307.html
#######################
#用户角色
#######################
RabbitMQ的用户角色分类:
none、management、policymaker、monitoring、administrator
RabbitMQ各类角色描述:
none
不能访问 management plugin
management
用户可以通过AMQP做的任何事外加:
列出自己可以通过AMQP登入的virtual hosts
查看自己的virtual hosts中的queues, exchanges 和 bindings
查看和关闭自己的channels 和 connections
查看有关自己的virtual hosts的“全局”的统计信息,包含其他用户在这些virtual hosts中的活动。
policymaker
management可以做的任何事外加:
查看、创建和删除自己的virtual hosts所属的policies和parameters
monitoring
management可以做的任何事外加:
列出所有virtual hosts,包括他们不能登录的virtual hosts
查看其他用户的connections和channels
查看节点级别的数据如clustering和memory使用情况
查看真正的关于所有virtual hosts的全局的统计信息
administrator
policymaker和monitoring可以做的任何事外加:
创建和删除virtual hosts
查看、创建和删除users
查看创建和删除permissions
关闭其他用户的connections
创建用户并设置角色:
可以创建管理员用户,负责整个MQ的运维,例如:
windows下,进入到rabbitMQ安装的sbin目录下
赋予其administrator角色:
可以创建RabbitMQ监控用户,负责整个MQ的监控,例如:
赋予其monitoring角色:
可以创建某个项目的专用用户,只能访问项目自己的virtual hosts
赋予其monitoring角色:
创建和赋角色完成后查看并确认:
########################
#RabbitMQ 权限控制:
########################
默认virtual host:"/"
默认用户:guest
guest具有"/"上的全部权限,仅能有localhost访问RabbitMQ包括Plugin,建议删除或更改密码。可通过将配置文件中loopback_users置孔来取消其本地访问的限制:
[{rabbit, [{loopback_users, []}]}]
用户仅能对其所能访问的virtual hosts中的资源进行操作。这里的资源指的是virtual hosts中的exchanges、queues等,操作包括对资源进行配置、写、读。配置权限可创建、删除、资源并修改资源的行为,写权限可向资源发送消息,读权限从资源获取消息。比如:
exchange和queue的declare与delete分别需要exchange和queue上的配置权限
exchange的bind与unbind需要exchange的读写权限
queue的bind与unbind需要queue写权限exchange的读权限
发消息(publish)需exchange的写权限
获取或清除(get、consume、purge)消息需queue的读权限
对何种资源具有配置、写、读的权限通过正则表达式来匹配,具体命令如下:
set_permissions [-p <vhostpath>] <user> <conf> <write> <read>
其中,<conf> <write> <read>的位置分别用正则表达式来匹配特定的资源,如'^(amq\.gen.*|amq\.default)$'可以匹配server生成的和默认的exchange,'^$'不匹配任何资源
需要注意的是RabbitMQ会缓存每个connection或channel的权限验证结果、因此权限发生变化后需要重连才能生效。
为用户赋权:
该命令使用户user_admin具有/vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源
权限控制
1.创建虚拟主机
# rabbitmqctl add_vhost vhostpath
2.删除虚拟主机
# rabbitmqctl delete_vhost vhostpath
3.列出所有虚拟主机
# rabbitmqctl list_vhosts
4.设置用户权限
# rabbitmqctl set_permissions [-p vhostpath] username regexp regexp regexp
5.清除用户权限
# rabbitmqctl clear_permissions [-p vhostpath] username
6.列出虚拟主机上的所有权限
# rabbitmqctl list_permissions [-p vhostpath]
7.列出用户权限
# rabbitmqctl list_user_permissions username
参考:http://blog.csdn.net/zyz511919766/article/details/42292655
rabbitmq操作命令:http://a52071453.iteye.com/blog/1559011
rabbitmq的web管理界面无法使用guest用户登录
https://www.cnblogs.com/mingaixin/p/4134920.html
rabbitmq的安装、启动和停止
rabbitmq-service.bat install
rabbitmq-service.bat start
rabbitmq-service.bat stop
列出所有queue
rabbitmqctl list_queues
列出指定queue的信息
rabbitmqctl list_queues [the queue name] messages_ready messages_unacknowledged
列出所有exchange
rabbitmqctl list_exchanges
列出所有binding
rabbitmqctl list_bindings
安装基于web的管理插件
rabbitmq-plugins.bat enable rabbitmq_management
参考:http://www.cnblogs.com/happyframework/p/3997307.html
#######################
#用户角色
#######################
RabbitMQ的用户角色分类:
none、management、policymaker、monitoring、administrator
RabbitMQ各类角色描述:
none
不能访问 management plugin
management
用户可以通过AMQP做的任何事外加:
列出自己可以通过AMQP登入的virtual hosts
查看自己的virtual hosts中的queues, exchanges 和 bindings
查看和关闭自己的channels 和 connections
查看有关自己的virtual hosts的“全局”的统计信息,包含其他用户在这些virtual hosts中的活动。
policymaker
management可以做的任何事外加:
查看、创建和删除自己的virtual hosts所属的policies和parameters
monitoring
management可以做的任何事外加:
列出所有virtual hosts,包括他们不能登录的virtual hosts
查看其他用户的connections和channels
查看节点级别的数据如clustering和memory使用情况
查看真正的关于所有virtual hosts的全局的统计信息
administrator
policymaker和monitoring可以做的任何事外加:
创建和删除virtual hosts
查看、创建和删除users
查看创建和删除permissions
关闭其他用户的connections
创建用户并设置角色:
可以创建管理员用户,负责整个MQ的运维,例如:
windows下,进入到rabbitMQ安装的sbin目录下
引用
rabbitmqctl add_user user_admin passwd_admin
赋予其administrator角色:
引用
rabbitmqctl set_user_tags user_admin administrator
可以创建RabbitMQ监控用户,负责整个MQ的监控,例如:
引用
rabbitmqctl add_user user_monitoring passwd_monitor
赋予其monitoring角色:
引用
rabbitmqctl set_user_tags user_monitoring monitoring
可以创建某个项目的专用用户,只能访问项目自己的virtual hosts
引用
rabbitmqctl add_user user_proj passwd_proj
赋予其monitoring角色:
引用
rabbitmqctl set_user_tags user_proj management
创建和赋角色完成后查看并确认:
引用
rabbitmqctl list_users
########################
#RabbitMQ 权限控制:
########################
默认virtual host:"/"
默认用户:guest
guest具有"/"上的全部权限,仅能有localhost访问RabbitMQ包括Plugin,建议删除或更改密码。可通过将配置文件中loopback_users置孔来取消其本地访问的限制:
[{rabbit, [{loopback_users, []}]}]
用户仅能对其所能访问的virtual hosts中的资源进行操作。这里的资源指的是virtual hosts中的exchanges、queues等,操作包括对资源进行配置、写、读。配置权限可创建、删除、资源并修改资源的行为,写权限可向资源发送消息,读权限从资源获取消息。比如:
exchange和queue的declare与delete分别需要exchange和queue上的配置权限
exchange的bind与unbind需要exchange的读写权限
queue的bind与unbind需要queue写权限exchange的读权限
发消息(publish)需exchange的写权限
获取或清除(get、consume、purge)消息需queue的读权限
对何种资源具有配置、写、读的权限通过正则表达式来匹配,具体命令如下:
set_permissions [-p <vhostpath>] <user> <conf> <write> <read>
其中,<conf> <write> <read>的位置分别用正则表达式来匹配特定的资源,如'^(amq\.gen.*|amq\.default)$'可以匹配server生成的和默认的exchange,'^$'不匹配任何资源
需要注意的是RabbitMQ会缓存每个connection或channel的权限验证结果、因此权限发生变化后需要重连才能生效。
为用户赋权:
引用
rabbitmqctl set_permissions -p /vhost1 user_admin '.*' '.*' '.*'
正确的命令为:rabbitmqctl set_permissions -p /vhost1 user_admin .* .* .*
正确的命令为:rabbitmqctl set_permissions -p /vhost1 user_admin .* .* .*
该命令使用户user_admin具有/vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源
引用
在使用rabbitMQ的客户端命令对用户进行赋权限时,不能带有'',否则在插入消息时,会报如下的错误:Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=403, reply-text=ACCESS_REFUSED - access to queue 'hello' in vhost '/' refused for user 'admin', class-id=50, method-id=10)
权限控制
1.创建虚拟主机
# rabbitmqctl add_vhost vhostpath
2.删除虚拟主机
# rabbitmqctl delete_vhost vhostpath
3.列出所有虚拟主机
# rabbitmqctl list_vhosts
4.设置用户权限
# rabbitmqctl set_permissions [-p vhostpath] username regexp regexp regexp
5.清除用户权限
# rabbitmqctl clear_permissions [-p vhostpath] username
6.列出虚拟主机上的所有权限
# rabbitmqctl list_permissions [-p vhostpath]
7.列出用户权限
# rabbitmqctl list_user_permissions username
参考:http://blog.csdn.net/zyz511919766/article/details/42292655
rabbitmq操作命令:http://a52071453.iteye.com/blog/1559011
rabbitmq的web管理界面无法使用guest用户登录
https://www.cnblogs.com/mingaixin/p/4134920.html
发表评论
-
RocketMQ教程,包含所有MQ核心知识点!
2022-04-28 13:49 155RocketMQ教程,包含所有MQ核心知识点 原创 | Ja ... -
rabbitmq死信队列和延时队列的使用
2021-12-25 23:19 240rabbitmq死信队列和延时队列的使用 -
IM消息送达保证机制实现(一):保证在线实时消息的可靠投递
2021-12-14 11:49 164[url=http://www.52im.net/thread ... -
RabbitMQ高级特性TTL队列/消息
2021-09-04 22:47 211RabbitMQ高级特性-TTL队列/消息 RabbitMQ ... -
如何保证消息不丢失,消息顺序执行-面试
2021-05-26 20:24 227关于MQ的几件小事(四)如何保证消息不丢失 如何保证Rab ... -
RabbitMQ 相关问题汇总
2017-06-28 17:43 427RabbitMQ 相关问题汇总 rabbitmq基础概念与基 ... -
rabbitMq集成Spring后,消费者设置手动ack,并且在业务上控制是否ack
2017-06-12 20:30 2156http://blog.csdn.net/u010841296 ... -
rabbitmq消费消息的两种方式
2016-12-05 20:12 993rabbitMQ中consumer通过建立到queue的连接, ... -
rabbitmq——镜像队列
2016-12-02 20:05 11181. 镜像队列的设置 镜像队列的配置通过添加policy完成 ... -
RabbitMQ 内部实现
2016-12-01 14:41 1014http://blog.csdn.net/joeyon1985 ... -
OpenStack RabbitMQ 集群-后续整理
2016-12-01 14:18 500参考:http://www.iyunv.com/thread- ... -
RabbitMQ (三) 发布/订阅
2016-11-30 19:53 5541、转发器(Exchanges) ... -
RabbitMQ学习(六)之远程过程调用(RPC)
2016-11-30 14:31 833在一般使用RabbitMQ做RPC很容易。客户端发送一个请求消 ... -
RabbitMQ学习之Headers交换类型
2016-11-28 10:51 791Headers类型的exchange使用的比较少,它也是忽略r ... -
RabbitMQ能打开的最大连接数
2016-11-28 10:29 2567转自:http://blog.csdn.net/huoyuns ... -
RabbitMQ基础知识
2016-11-28 10:25 515Routing key由生产者指定。Binding key由消 ... -
RabbitMQ Consumer获取消息的两种方式(poll,subscribe)解析
2016-11-25 21:36 882rabbitMQ中consumer通过建立到queue的连接, ... -
解决RabbitMQ远程不能访问的问题
2016-11-24 15:18 1156刚刚安装的RabbitMQ-Server-3.3.5,并且 ... -
publish消息确认
2016-11-23 18:01 663Using standard AMQP, the only w ... -
rabbitMQ ConfirmListener
2016-11-23 15:53 2152消息消费者 操作步骤: 1. 创建连接工厂Connection ...
相关推荐
RabbitMQ允许创建不同的用户角色和虚拟消息服务器VirtualHosts,每个VirtualHosts类似于独立的RabbitMQ服务器,彼此之间隔离,确保了消息的安全性和权限控制。 RabbitMQ的用户角色包括超级管理员、监控者、策略制定...
8. **安全与权限**:RabbitMQ有内置的用户管理和访问控制机制,允许管理员定义用户角色和权限,保障系统安全。 9. **插件系统**:RabbitMQ支持丰富的插件,可以扩展其功能,例如监控工具、管理界面、审计日志等。 ...
用户角色** RabbitMQ中的用户有不同的角色,如管理员、监控者和普通用户,每个角色有不同的权限。配置用户时,需要设定相应的访问控制列表(ACL),以确保安全和权限管理。 **2.2.1. Virtual Hosts** Virtual ...
在生产环境中,强烈建议配置 TLS/SSL 以加密传输,并设置访问控制,通过用户、角色和权限来限制谁可以连接和发布/订阅哪些主题。 总结来说,RabbitMQ 的安装与 MQTT 功能的开启涉及下载和安装 Erlang OTP 以及 ...
安全方面,RabbitMQ支持基于用户角色的权限控制(RBAC),可以通过插件实现认证和授权,例如使用内置的rabbitmq_auth_mechanism_ssl支持SSL/TLS,或者使用rabbitmq_management插件进行HTTP API访问控制。 在部署和...
9. **安全性**:RabbitMQ支持基于角色的访问控制(RBAC),允许精细地配置用户权限,控制他们能访问哪些资源(如虚拟主机、队列、交换机)以及执行哪些操作。 10. **监控与日志**:RabbitMQ的日志可以帮助诊断问题...
通过这些角色划分,可以有效地控制不同用户对RabbitMQ的访问权限,从而提高系统的安全性。 综上所述,RabbitMQ不仅是一款强大的消息中间件,还提供了丰富的工具和详细的权限管理机制,适用于各种复杂的应用场景。...
1. 用户认证:RabbitMQ支持用户、密码、VHost的权限控制,确保通信安全。 2. 权限策略:通过设置权限策略,限制用户对交换器、队列和绑定的操作。 总结,RabbitMQ在分布式系统中扮演着关键角色,通过高效部署和配置...
8. **安全性**:用户权限控制、虚拟主机和访问控制列表(ACL)是RabbitMQ安全配置的重要部分,防止未经授权的访问。 9. **监控与日志**:了解如何使用RabbitMQ的管理界面和各种工具进行性能监控和故障排查,以及...
RabbitMQ 提供基于角色的访问控制(RBAC),可以通过管理界面或 API 来设置用户权限。此外,还可以通过 SSL/TLS 加密连接,确保数据传输的安全。 ### 8. 高可用性与集群 为了提高服务的可用性和可扩展性,RabbitMQ...
4. **RabbitMQ安装与配置**:学习如何在CentOS系统上安装RPM包,配置RabbitMQ服务器,包括设置用户、虚拟主机、权限等。 5. **安全设置**:由于涉及到“安全”标签,所以理解如何配置SSL/TLS加密,设置访问控制,...
- RabbitMQ中有不同级别的用户角色,如管理员(administrator)、监控者(monitoring)、策略制定者(policymaker)和普通管理者(management)。不同的角色有不同的权限,例如: - 管理员可以查看所有信息并管理...
在vhost内部,拥有独立的queue、exchange和binding等资源,但更重要的是,它拥有独立的权限系统,可以做到对vhost范围内的用户进行控制。从RabbitMQ的全局角度,vhost可作为不同权限隔离的手段,例如不同的应用可以...
同时,书中会讲解如何配置RabbitMQ服务器,包括管理插件的启用、用户权限的设置以及集群的搭建。 3. **工作模式**:书中会涵盖RabbitMQ的各种工作模式,如Direct、Fanout、Topic、Header和Routing,这些模式对应...
在权限管理中,Vue.js可以在前端实现菜单、按钮的动态加载和显示,根据用户角色权限决定是否显示或禁用。 **权限控制思路:** 1. **用户认证**:当用户登录时,Spring Boot后端通过Shiro验证用户名和密码,如果...
4. **安全设置**: 配置用户、权限和虚拟主机,实现访问控制。 **三、RabbitMQ工作流程** 1. **生产者发送消息**: 生产者创建消息并指定交换器,RabbitMQ将消息路由到相应的队列。 2. **消息路由**: 交换器根据...
9. **安全性**:为避免未授权访问,建议禁用默认的`guest`用户,并为不同应用创建独立的用户和角色,设置合适的访问控制策略。 10. **高可用性**:RabbitMQ支持集群模式,通过创建集群,可以实现数据的冗余和故障...
- 通过定义用户账号、角色和权限来控制访问权限。 **42. RabbitMQ支持哪些加密机制?** - 主要支持TLS/SSL协议进行数据加密。 #### 七、故障排查 **43. RabbitMQ常见的性能问题有哪些?** - **内存泄露:** ...
##### 用户角色管理及 Vhost 权限 RabbitMQ 的用户角色分为五个级别:none、management、policymaker、monitoring 和 administrator。 - **None**:没有访问管理界面的权限。 - **Management**:除了基本功能外,还...