RabbitMQ 新建用户

使用guest用户进行远程登录报错,RabbitMQ 默认对 guest 用户的远程登录限制在 3.3.0 版本后已调整

配置或版本允许 guest 远程访问

  1. 版本兼容问题 若使用的 RabbitMQ 版本 ≤ 3.2.xguest 用户默认允许远程登录(无 localhost 限制),这是早期版本的默认行为。

  2. 配置文件修改了默认限制 若版本 ≥ 3.3.0,但管理员在 rabbitmq.conf 中添加了以下配置,会解除 guest 用户的远程限制:

    loopback_users = none  # 允许所有用户(包括 guest)远程登录

    或单独允许 guest

    loopback_users.guest = false  # 显式关闭 guest 的 localhost 限制
  3. 容器镜像自定义配置 若使用的是第三方定制的 RabbitMQ 镜像(非官方默认镜像),可能预先修改了配置,默认允许 guest 远程登录。

注意:生产环境风险

guest 用户默认拥有最高权限(administrator 角色),允许远程登录存在安全风险。建议生产环境:

  • 禁用 guest 用户(rabbitmqctl delete_user guest)。

  • 使用自定义用户并合理分配权限。

新建测试用户

这是 RabbitMQ 可视化管理界面中用户权限配置的核心区域,用于精细控制用户对虚拟主机(Virtual Host)的操作权限。以下是每个部分的详细作用:

一、基础权限配置(Set permission)

用于设置用户对 指定虚拟主机 的通用操作权限(针对队列、交换机等基础资源)。

配置项作用说明
Virtual Host选择要配置权限的虚拟主机(如 / 是默认虚拟主机),用户权限是“虚拟主机级别的”,不同虚拟主机需单独配置。
Configure regexp正则表达式,控制用户可“配置”的资源(如创建/删除队列、交换机)。.* 表示允许配置所有资源。
Write regexp正则表达式,控制用户可“写入”的资源(如发送消息到队列/交换机)。.* 表示允许写入所有资源。
Read regexp正则表达式,控制用户可“读取”的资源(如从队列消费消息、获取队列状态)。.* 表示允许读取所有资源。
Set permission保存权限配置,点击后将上述规则应用到该用户和虚拟主机的权限关联中。

二、主题权限配置(Topic permissions)

用于更细粒度控制用户对 Topic 类型交换机 的消息读写权限(仅针对 Topic 交换机生效)。

配置项作用说明
Virtual Host选择要配置 Topic 权限的虚拟主机(需与基础权限的虚拟主机一致)。
Exchange选择要限制的 Topic 交换机(如 (AMQP default) 是默认交换机,也可指定自定义交换机)。
Write regexp正则表达式,控制用户可“写入”该交换机的消息路由键(Routing Key)。.* 表示允许所有路由键。
Read regexp正则表达式,控制用户可“读取”该交换机的消息路由键(即订阅哪些路由键的消息)。.* 表示允许所有路由键。
Set topic permission保存 Topic 权限配置,点击后将规则应用到该用户、虚拟主机和交换机的关联中。

三、核心逻辑:正则表达式的作用

RabbitMQ 的权限系统通过 正则表达式匹配资源名称(队列名、交换机名、路由键等)来决定权限:

  • .* 是通配符,表示“匹配所有”,适合测试或管理员账号。

  • 生产环境建议更严格的正则,例如:

    • 生产者账号:Configure regexp = ""(禁止创建/删除资源),Write regexp = "my-exchange|my-queue"(仅允许写入特定交换机/队列)。

    • 消费者账号:Read regexp = "my-queue"(仅允许读取特定队列)。

四、最佳实践(生产环境)

  1. 基础权限

    • 生产者账号:Configure regexp = ""(禁止配置资源),Write regexp = ".*"(允许发消息),Read regexp = ""(禁止读资源)。

    • 消费者账号:Configure regexp = ""Write regexp = ".*"(允许 ACK 消息),Read regexp = ".*"(允许消费消息)。

  2. Topic 权限: 仅在使用 Topic 交换机时配置,例如限制生产者只能发 order.* 路由键的消息,消费者只能订阅 order.pay 路由键的消息。

通过这套配置,可实现 “最小权限原则”(用户只能操作必需的资源),避免因权限过大导致的误操作或安全风险。、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值