rabbitmq 添加用户以及权限

本文介绍如何配置RabbitMQ以允许远程访问。通过创建新用户、设置权限及管理员角色,实现生产者与消费者间的消息传递。适用于需要跨网络部署RabbitMQ的场景。

原因:默认情况下访问rabbitmq的用户名和密码都是guest,这个账户是有限制的,默认只能通过本地网络也就是localhost访问,远程访问受限制,所以要实现生产和消费者消息之前,需要另外新增用户名和密码,并设置相应的权限

步骤:

1)新增一个用户

rabbitmqctl add_user root root

2) 为root用户设置权限所有权限

rabbitmqctl set_permissions -p / root ".*" ".*" ".*"

3)设置root用户为管理员角色

rabbitmqctl set_user_tags root administrator

RabbitMQ Management 插件中添加用户设置权限,可以通过以下步骤进行操作: ### 添加用户分配角色 1. **创建用户** 使用命令行工具 `rabbitmqctl` 创建新用户指定用户名和密码: ```bash rabbitmqctl add_user <用户名> <密码> ``` 例如,创建一个名为 `user1` 的用户,密码为 `password1`: ```bash rabbitmqctl add_user user1 password1 ``` 2. **分配角色** 使用 `rabbitmqctl` 命令为用户分配角色,例如将用户设置为 `administrator` 角色: ```bash rabbitmqctl set_user_tags <用户名> <角色> ``` 例如,为 `user1` 分配 `administrator` 角色: ```bash rabbitmqctl set_user_tags user1 administrator ``` 角色可以是以下之一:`none`、`management`、`policymaker`、`monitoring`、`administrator`、`impersonator`[^1]。 3. **查看用户列表** 可以通过以下命令查看当前所有用户及其角色: ```bash rabbitmqctl list_users ``` ### 通过 RabbitMQ Management 插件设置权限 1. **登录 RabbitMQ Management 界面** 打开浏览器,访问 `http://<RabbitMQ服务器地址>:15672/`,使用具有 `management` 权限用户登录。 2. **添加用户** - 点击顶部菜单中的 **"Admin"**。 - 在 **"Users"** 部分点击 **"Add a user"**。 - 输入用户名和密码,选择角色(如 `management`、`administrator` 等),然后点击 **"Add user"**。 3. **设置虚拟主机权限** - 在 **"Virtual Hosts"** 部分确保已经存在需要授权的虚拟主机(vhost),如果没有可以点击 **"Add a new virtual host"** 创建。 - 回到 **"Users"** 列表,点击目标用户,进入用户详情页面。 - 在 **"Permissions"** 部分,选择虚拟主机,然后设置 `Configure`、`Write`、`Read` 权限的正则表达式(通常设置为 `.*` 表示允许所有)。 - 点击 **"Set permission"** 完成权限设置。 4. **查看权限** - 可以通过用户详情页面查看当前用户权限设置。 - 也可以使用命令行查看用户权限: ```bash rabbitmqctl list_user_permissions <用户名> ``` ### 示例:创建用户分配权限 假设需要创建一个用户 `dev_user`,密码为 `dev_pass`,为其分配 `management` 角色,同时在虚拟主机 `/dev_vhost` 中赋予所有权限: 1. 创建用户: ```bash rabbitmqctl add_user dev_user dev_pass ``` 2. 分配角色: ```bash rabbitmqctl set_user_tags dev_user management ``` 3. 创建虚拟主机(如果尚未存在): ```bash rabbitmqctl add_vhost /dev_vhost ``` 4. 设置权限: ```bash rabbitmqctl set_permissions -p /dev_vhost dev_user '.*' '.*' '.*' ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值