更新时间:2024-10-25 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版”,进入分布式消息服务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版”,进入分布式消息服务RabbitMQ专享版页面。
- 单击实例名称,进入实例详情页面。
- 在左侧导航栏选择“用户管理”,进入用户列表页面。
- 在待修改信息的用户所在行,单击“编辑”,弹出“编辑用户”对话框。
- 如果要编辑密码,在“密码”后,单击“编辑”,输入新密码。如果要编辑Vhost相关信息,参考如下信息,进行编辑。
- 可访问的Vhost:在下拉框中选择用户可以访问的Vhost。
- 可配置的资源:为用户授予Vhost下资源的权限,使用正则表达式匹配资源。例如输入“^test-.*”,表示为用户授予Vhost下所有名称以“test-”开头的资源的权限。
- 可写的资源:为用户授予Vhost下资源的写权限,使用正则表达式匹配资源。例如输入“.*”,表示为用户授予Vhost下所有资源的写权限。
- 可读的资源:为用户授予Vhost下资源的读权限,使用正则表达式匹配资源。例如输入“.*”,表示为用户授予Vhost下所有资源的读权限。
- 编辑完用户信息后,单击“确定”。
删除用户
- 登录管理控制台。
- 在管理控制台左上角单击,选择区域。
此处请选择RabbitMQ实例所在的区域。
- 在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务RabbitMQ版”,进入分布式消息服务RabbitMQ专享版页面。
- 单击实例名称,进入实例详情页面。
- 在左侧导航栏选择“用户管理”,进入用户列表页面。
- 在待删除的用户所在行,单击“删除”,弹出“删除用户”对话框。
- 单击“确定”,完成用户的删除。
删除用户后会删除授权关系,原来使用该用户认证的请求将无法访问。
父主题: 配置RabbitMQ访问控制