概要
默认情况下,使用帐号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
- 点击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
PS:cyberlocker可以不需要重复以上步骤创建。因为cyberlocker默认虚拟host为"/" 而“/”是没有权限查看/colander用户下的queue信息的