更新时间:2025-07-14 GMT+08:00
配置RabbitMQ ACL用户
RabbitMQ实例开启ACL访问控制后,生产和消费消息时需要进行ACL用户鉴权,鉴权成功后才能生产和消费消息。
本章节介绍如何创建、编辑和删除用户。
约束与限制
- 删除用户后,会删除授权关系,原来使用该用户认证的请求将无法访问。
- 仅RabbitMQ AMQP-0-9-1版本支持在控制台配置RabbitMQ ACL用户。RabbitMQ 3.x.x版本默认支持用户权限管理,您可以在RabbitMQ WebUI页面创建用户,并赋予相应的权限。
前提条件
- 已购买RabbitMQ AMQP-0-9-1版本的实例。
- 已开启ACL访问控制。
创建用户
- 登录RabbitMQ控制台。
- 在管理控制台左上角单击
,选择RabbitMQ实例所在的区域。
- 单击实例名称,进入实例详情页面。
- 在左侧导航栏,单击“用户管理”,进入用户列表页面。
- 单击“创建用户”,弹出“创建用户”对话框。
- 参考表1,设置用户名称和配置信息。
表1 用户参数说明 参数
说明
用户名
用户名支持自定义,但需要符合命名规则:长度为7~64个字符,由英文字母开头,只能由英文字母、数字、中划线、下划线组成。
用户名创建成功后,不可修改。
密码
设置用户的密码。
密码需要符合以下命名规则:
- 长度为8~32个字符。
- 至少包含以下字符中的3种:大写字母、小写字母、数字、特殊字符`~!@#$%^&*()-_=+\|[{}];:'",<.>?和空格,并且不能以-开头。
- 不能与用户名或倒序的用户名相同。
确认密码
再次输入密码,确认本次输入的密码和“密码”中输入的一致。
Vhost
- 可访问的Vhost:在下拉框中选择用户可以访问的Vhost。
- 可配置的资源:为用户授予Vhost下资源的权限,使用正则表达式匹配资源。例如输入“^test-.*”,表示为用户授予Vhost下所有名称以“test-”开头的资源的权限。
- 可写的资源:为用户授予Vhost下资源的写权限,使用正则表达式匹配资源。例如输入“.*”,表示为用户授予Vhost下所有资源的写权限。
- 可读的资源:为用户授予Vhost下资源的读权限,使用正则表达式匹配资源。例如输入“.*”,表示为用户授予Vhost下所有资源的读权限。
如果需要授予用户多个Vhost的访问权限,单击“添加”,继续添加其他Vhost信息。
图1 创建用户 - 单击“确定”,完成用户的创建。
在用户列表页面,查看新创建的用户。
- 开启ACL访问控制后,消息生产者和消费者都需要增加用户认证信息(代码中需包含username和password),具体操作如下:
编辑用户
- 登录RabbitMQ控制台。
- 在管理控制台左上角单击
,选择RabbitMQ实例所在的区域。
- 单击实例名称,进入实例详情页面。
- 在左侧导航栏选择“用户管理”,进入用户列表页面。
- 在待修改信息的用户所在行,单击“编辑”,弹出“编辑用户”对话框。
- 如果要编辑密码,在“密码”后,单击“编辑”,输入新密码。如果要编辑Vhost相关信息,参考如下信息,进行编辑。
表2 编辑Vhost参数说明 参数名称
编辑方法
可访问的Vhost
在下拉框中选择用户可以访问的Vhost。
可配置的资源
为用户授予Vhost下资源的权限,使用正则表达式匹配资源。例如输入“^test-.*”,表示为用户授予Vhost下所有名称以“test-”开头的资源的权限。
可写的资源
为用户授予Vhost下资源的写权限,使用正则表达式匹配资源。例如输入“.*”,表示为用户授予Vhost下所有资源的写权限。
可读的资源
为用户授予Vhost下资源的读权限,使用正则表达式匹配资源。例如输入“.*”,表示为用户授予Vhost下所有资源的读权限。
- 编辑完用户信息后,单击“确定”。
删除用户
- 登录RabbitMQ控制台。
- 在管理控制台左上角单击
,选择RabbitMQ实例所在的区域。
- 单击实例名称,进入实例详情页面。
- 在左侧导航栏选择“用户管理”,进入用户列表页面。
- 在待删除的用户所在行,单击“删除”,弹出“删除用户”对话框。
删除用户后,会删除授权关系,原来使用该用户认证的请求将无法访问。
- 单击“确定”,完成用户的删除。
删除的用户已从用户列表中移除,表明用户已成功删除。