docker 一键部署rabbitmq:
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management
docker管理mq对用户授权操作:
当前mq通过docker镜像安装
1:查询mq容器
2:进入容器 docker exec -it 容器名称 bash
docker exec -it rabbitmq3.7.7 bash
3:在进入 /etc/rabbitmq 目录下。
4:查看用户列表:rabbitmqctl list_users
5:添加用户 rabbitmqctl add_user 用户名 密码
删除用户:rabbitmqctl delete_user 用户名
修改密码:rabbitmqctl change_password 用户名 新密码
6:用户角色管理
按照个人理解,用户角色可分为五类,超级管理员, 监控者, 策略制定者, 普通管理者以及其他。
(1) 超级管理员( )
可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
(2) 监控者(monitoring)
可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
(3) 策略制定者(policymaker)
可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
与administrator的对比,administrator能看到这些内容
(4) 普通管理者(management)
仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
(5) 其他
无法登陆管理控制台,通常就是普通的生产者和消费者。
设置用户角色命令: rabbitmqctl set_user_tags admin administrator
对admin用户设置:超级管理员(administrator)
6:权限配置
读——有关消费者的任何操作,包括“清除”整个队列(需要绑定队列成功)
写——发布消息(需要绑定队列成功)
配置——队列和交换器的创建和删除
授权模板: rabbitmqctl set_permissions -p my_vost \ mq01 “." ".” ". "
-p my_vost——作用的vhost
mq01 ——被授予权限的用户
“." ".” ".* "——授予的权限,分别对应配置、写、读 。注:“.”表示匹配任何队列和交换器;“check- .” 表示匹配名字以check- 为开头的名字个交换器
“” 表示不匹配任何队列和交换器
rabbitmqctl set_permissions -p my_vost mq01 ConfP WriteP – 待核实
用户新增及编辑相应的权限:
对新增用户绑定vost并授权:
设置mq01角色
rabbitmqctl set_user_tags mq03 administrator
// 清除权限
rabbitmqctl clear_permissions -p my_vhost mq01