虚拟主机用户权限管理
更新时间 2025-12-16 09:38:33
最近更新时间: 2025-12-16 09:38:33
介绍分布式消息服务RabbitMQ虚拟主机权限管理内容。
场景描述
在RabbitMQ中,虚拟主机(Virtual Hosts, vhosts)是一种逻辑隔离机制,允许单个 RabbitMQ 实例划分为多个独立的环境。每个虚拟主机都有自己的交换机、队列、绑定和权限设置。虚拟主机的用户权限管理,支持对每个用户配置三种权限,分别是配置权限、写权限、读权限,用户在未配置这三种权限之前,无法访问对应的虚拟主机。三个权限的详情如下:
配置权限:允许用户创建、修改或删除交换器(Exchange)、队列(Queue)和绑定关系。
写权限:允许用户向交换器发布消息。
读权限:允许用户消费队列中的消息或获取队列状态。
权限配置
在RabbitMQ中,虚拟主机的用户权限配置,采用的是正则表达式匹配方式, 只有满足正则表达式的资源才有权限。比如配置写权限为:".*",表示该用户可以向虚拟主机下全部的交换器发布消息。配置写权限为:"^$”,表示该用户不允许向任何交换器发布消息。配置写权限为:"^exchange_.*",表示该用户可以向虚拟主机下以"exchange_"开头的交换器发布消息。
最佳实践
登录管理控制台。
进入RabbitMQ管理控制台。
在实例列表页在操作列,目标实例行点击“管理”。
进入具体的实例管理页面,点击Vhost管理,在vhost列表页,针对指定的vhost,点击vhost进入具体的权限管理页:
在具体的权限管理页,点击新建,选择指定用户,配置权限为".*"、".*"、".*",则该用户拥有对虚拟主机下全部资源的配置权限、写权限和读权限:
点击权限列表的操作列的“修改”或“删除”按钮,可以修改或删除对应用户的权限: