MQ
是消费-生产者模型的一个典型的代表,一端往
消息队列
中不断写入消息,而另一端则可以读取或者订阅队列中的消息。
1. RabbitMQ安装(Debian系统)。
这样,就能通过web页面查看到MQ队列中的内容了。
Username:colander
Password:123
123
Tags:administrator(此处tags是为了兼容低版本)
Name:/colander
User:colander
Configreregexp:.*
Write regexp:.*
Read regexp:.*
Virtualhost:/colander
Name:colander_ha
Pattern:^colander\.
Definition:hamode=all
- 通过wget下载压缩包,安装MQ。
- 使用命令:rabbitmq-plugins enable rabbitmq_management,激活管理页面。
RabbitMQ 权限分离&HA操作文档
概要 默认情况下,使用帐号guest帐号登陆MQ,所有用户的queue信息,全部创建在根目录/的virtualhost下,而这样,就会导致,任一用户登录后,都能看到其他用户的queue信息。
针对以上情况,就需要各个用户的权限进行分离。
一、配置步骤(假设想要分离的用户为colander,即,使用该用户登陆后,只能看到该用户对应的queue)
首先登录MQ HttpAPI环境,以colander为例,使用guest/guest登录地址: http://192.168.1.26:15672
1. 增加colander用户
- 点击admin,然后选择右侧的users节点
- 点击add user,输入:
- 点击 AddUser按钮,添加用户成功。
2. 增加colander用户的virtualhost
- 点击admin ,然后选择右侧的Virtualhost节点
- 点击add virtualhost,输入:
- 点击 add virturalhost按钮,添加成功。
3. 给/colander virtual host设置访问用户
- 点击/colander
- 选择:
- 点击 Set permission按钮,设置成功。
4. 给/colander 设置Policies
- 点击admin,然后选择右侧的Policies
- 下拉框选择/colander节点
- 点击 Add policy按钮,设置成功。
5.删除colander用户下的所有与colander有关的queue
- 点击queue名称,比如:colander.queue.test
- 点击delete按钮,删除成功
6.删除colander用户下的所有与colander有关的exchange
- 点击exchange名称,比如:colander.exchange.test
- 点击 delete 按钮,删除成功
二、权限验证:
1. 使用colander用户登录,看看是否只能看到colander用户下的queue相关信息。
2. 使用guest用户,看看是否无法看到colander用户下的queue信息
3. 由于设置了HA模式,所以需要查看是否支持HA