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