RabbitMQ 权限分离&HA操作文档

Posted exman

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RabbitMQ 权限分离&HA操作文档相关的知识,希望对你有一定的参考价值。

概要

    默认情况下,使用帐号guest帐号登陆MQ,所有用户的queue信息,全部创建在根目录/的virtual host下,而这样,就会导致,任一用户登录后,都能看到其他用户的queue信息。

    针对以上情况,就需要各个用户的权限进行分离。

一、配置步骤(假设想要分离的用户为colander,即,使用该用户登陆后,只能看到该用户对应的queue)

首先登录MQ HttpAPI环境,以colander为例,使用guest/guest登录地址 : http://192.168.1.26:15672

1. 增加colander用户

  • 点击 admin,然后选择右侧的users节点
  • 点击add user,输入:
                    Username:colander
                    Password:123
                                   123
                          Tags:administrator(此处tags是为了兼容低版本)
  • 点击 Add User按钮,添加用户成功。 

2. 增加colander用户的virtual host

  • 点击admin ,然后选择右侧的Virtual host节点
  • 点击add virtual host,输入:
                   Name:/colander
  • 点击 add virtural host按钮,添加成功。

3. 给/colander virtual host设置访问用户

  • 点击/colander
  • 选择:
                      User:colander
       Configre regexp:.*
           Write regexp:.*
            Read regexp:.*
  • 点击 Set permission按钮, 设置成功。

4. 给/colander 设置Policies

  • 点击admin,然后选择右侧的Policies
  • 下拉框选择/colander节点
                Virtual host:/colander
                       Name:colander_ha
                     Pattern:^colander.
                  Definition:hamode=all
  • 点击 Add policy按钮, 设置成功。

5. 删除colander用户下的所有与colander有关的queue

6. 删除colander用户下的所有与colander有关的exchange

二、权限验证:
 
1. 使用colander用户登录,看看是否只能看到colander用户下的queue相关信息。
2. 使用guest用户,看看是否无法看到colander用户下的queue信息
3. 由于设置了HA模式,所以需要查看是否支持HA

PS:cyberlocker可以不需要重复以上步骤创建。因为cyberlocker默认虚拟host为"/" 而“/”是没有权限查看/colander用户下的queue信息的

以上是关于RabbitMQ 权限分离&HA操作文档的主要内容,如果未能解决你的问题,请参考以下文章

RabbitMQ消息丢失问题和保证消息可靠性-消费端不丢消息和HA

Linux基础——文件权限管理&光盘镜像挂载

RabbitMQ使用

没有设置镜像策略的 HA RabbitMQ

windows搭建rabbitmq ha

RabbitMQ集群配置与HA