RabbitMQ创建新用户,并给用户添加角色和授权
作者:mmseoamin日期:2024-02-02

一、进入容器

1.1 查看运行容器的详细信息

docker ps -a

 RabbitMQ创建新用户,并给用户添加角色和授权,第1张

1.2 进入容器命令

docker exec -it 容器ID /bin/bash 

docker exec -it 容器name bash 

 RabbitMQ创建新用户,并给用户添加角色和授权,第2张

1.3 退出容器命令

exit   或者 Ctrl+Q+P

 RabbitMQ创建新用户,并给用户添加角色和授权,第3张

二、操作RabbitMQ

2.1 查看用户列表

        注:先进入到容器内部

rabbitmqctl list_users

RabbitMQ创建新用户,并给用户添加角色和授权,第4张

2.2 创建用户

rabbitmqctl add_user 「用户名」 「密码」
// 设置用户角色
rabbitmqctl set_user_tags 「用户名」 「角色」

注:此处的角色只是一个标签(角色有administrator、monitoring、policymaker、management等等),也可以自己自定义

RabbitMQ角色释义

administrator

policymaker和monitoring可以做的任何事外加:

创建和删除virtual hosts

查看、创建和删除users

查看创建和删除permissions

关闭其他用户的connections

management

仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对policies进行管理。用户可以通过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的全局的统计信息

同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)

none

不能访问 management plugin,通常代表普通的生产者和消费者。

RabbitMQ创建新用户,并给用户添加角色和授权,第5张

添加用户的告警信息:不要忘记给给用户授予某些虚拟主机权限!参考“rabbitmqctl help set_permissions”以了解更多信息。 

2.3 给用户授权

// 使用户user具有vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源
rabbitmqctl  set_permissions -p vhost1 user '.*' '.*' '.*' 
// 查看权限
rabbitmqctl list_user_permissions user
//查看所有用户的权限
rabbitmqctl list_permissions -p vhost
// 清除权限
rabbitmqctl clear_permissions [-p VHostPath] User