有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

名词解释

用户是指在 TDMQ RabbitMQ 版集群内部做权限划分的最小单位,您可以通过为用户配置权限为其赋予不同 Vhost 下的配置和读写权限。
用户密码:用户可以通过在客户端中添加用户名和密码来访问 TDMQ RabbitMQ 版集群进行消息的生产消费。
权限指的是用户对该 Vhost 下 Exchange,Queue的操作权限,包括配置权限,读写权限。配置权限会影响 Exchange,Queue的声明和删除。读写权限影响从 Queue 里读取消息,向 Exchange 发送消息以及Queue 和 Exchange 的绑定(bind)操作。

使用限制

单集群下用户数量上限为20个。

使用场景

用户需要安全地使用 TDMQ RabbitMQ 版进行消息的生产消费。
用户需要对不同的 Vhost 设置不同用户的生产消费权限。
例如:一个公司有 A 部门和 B 部门,A 部门的系统产生交易数据,B 部门的系统根据这些交易数据做数据分析和展示。那么遵循权限最小化原则,可以创建两个用户,A 部门用户只授予往交易系统 Vhost 中生产消息的权限,B 部门则只授予消费消息的权限。这样可以很大程度避免由于权限不清带来的数据混乱、业务脏数据等问题。

操作步骤

新增用户

每个集群下都默认有一个名为 “admin” 的用户,您可以为这个默认用户配置权限,也可以重新新建用户。
1. 登录 TDMQ 控制台
2. 在左侧导航栏选择 RabbitMQ > 集群管理,选择好地域后,单击目标集群的“ID”,进入集群基本信息页面。
3. 在页面顶部选择用户与权限页签,在用户管理页面,单击新建用户。
4. 在新建用户页面,填写用户名称密码和说明:
用户名称:不能为空,不能只输入“.”,1-64个字符,只能包含字母、数字、“.”、“-”及“_”。
用户密码:不能为空,8-64个字符,至少要包含小写字母、大写字母、数字、特殊字符【()`~!@#$%^&*_=|{}[]:;',.?/】中的两项。
角色:选择用户角色。
角色
权限说明
none
无法登录 Web 控制台,通常是普通的生产者和消费者。
management
可以登录 Web 控制台; 可以查看其名下的 Vhost,以及其中的 queue、exchange 和 binding; 可以查看和关闭其名下的 channe l和 connection。
policymaker
在 “management” 所有权限的基础上:
可以查看、修改、删除其名下的 Vhost 的策略和参数。
monitoring
在“management”所有权限的基础上:
可以查看所有 Vhost、connection 和 channel 列表; 可以查看节点相关信息(如磁盘使用情况、内存使用情况、进程数等)。
administrator
超级管理员,在 “policymaker” 和 “monitoring” 所有权限的基础上:
可以创建和删除 Vhost;
可以查看、创建和删除用户和权限;
关闭其他用户的 connection。
说明(选填):填写用户说明。
5. 单击提交,完成当前集群的用户创建。




配置权限

1. 用户与权限页面,选择权限列表页签,进入权限列表,单击配置权限
2. 在权限配置页面,选择好需要配置权限的 Vhost 和用户,并设置好权限规则。
权限规则设置支持使用正则表达式匹配资源。例如,勾选“配置”且在输入框内输入 “test.-*”,则表示授权给该用户当前 Vhost 下,所有名称以 “test-” 开头的资源的配置权限。



3. 单击提交,完成权限配置。
4. 将用户名和密码添加到客户端的参数中。如何在客户端代码中添加密钥参数请参考 RabbitMQ 的 SDK文档,对应其中的 Username 和 password。
5. 检查权限是否生效。您可以运行配置好的客户端访问对应 Vhost 中的 Exchange 和 Queue 资源,按照刚刚配置的权限进行生产或消费,看是否会产生没有权限的报错信息,如果没有即代表配置成功。

删除权限

删除权限前请确保当前业务已经没有使用该用户进行消息的生产消费再进行此项操作,否则可能会出现客户端无法生产消费而导致的异常。
1. 在用户与权限列表页面,找到需要删除权限的权限,单击操作列的删除
2. 在删除的弹框中,单击确认,即可删除该权限。