- 使用以下命令打开 RabbitMQ 的控制台:
|
|
例如,要添加名为 guest
的用户,命令如下所示:
|
|
- 添加到管理员组:
rabbitmqctl set_user_tags guest administrator
权限与分组
RabbitMQ 的权限分组与其用户角色相关。RabbitMQ 有四个默认的用户角色: administrator
,monitoring
,policymaker
和management
。每个角色都可以分配不同的访问权限。
这四个角色的具体含义如下:
administrator
: 具有所有操作权限,包括管理用户、虚拟主机、策略、连接器等。monitoring
: 仅允许查看 RabbtiMQ 状态和统计信息。policymaker
: 具有定义和管理策略的权限,但无法更改用户、虚拟主机或插件设置。management
: 具有在管理界面上查看和管理 RabbitMQ 和其对象的权限。
此外,您还可以通过自定义角色来创建自定义权限组。要创建自定义角色,请运行以下命令:
sudo rabbitmqctl add_vhost <virtual_host>
sudo rabbitmqctl add_user <username> <password>
sudo rabbitmqctl set_permissions -p <virtual_host> <username> ".*" ".*" ".*"
sudo rabbitmqctl set_user_tags <username> <tag_list>
其中 <tag_list>
是以逗号分隔的标记列表,每个标记代表一个角色。例如,要为名为 myuser
的用户创建一个自定义角色,命令如下所示:
sudo rabbitmqctl add_vhost /myvhost
sudo rabbitmqctl add_user myuser mypassword
sudo rabbitmqctl set_permissions -p /myvhost myuser ".*" ".*" ".*"
sudo rabbitmqctl set_user_tags myuser mytag
然后可以通过在 RabbitMQ 管理界面或定义 json 配置文件中添加自定义权限来为新角色分配访问权限。
需要注意的是,完全授权所有权限可能存在安全风险,因此建议根据实际需求进行适当的限制。