角色与鉴权

最近更新时间: 2024-10-17 17:10:00

名词解释

  • 角色(role):TDMQ 的“角色”是 TDMQ 内专有的概念,是用户自行在 TDMQ 内部做权限划分的最小单位,用户可以添加多个角色并为其赋予不同命名空间下的生产和消费权限。

  • 密钥(token):TDMQ 的“密钥”是一种鉴权工具,用户可以通过在客户端中添加密钥来访问 TDMQ 进行消息的生产消费。密钥和角色一一对应,每种角色都有其对应的唯一密钥。

使用场景

  • 用户需要安全地使用 TDMQ 进行消息的生产消费。

  • 用户需要对不同的命名空间设置不同角色的生产消费权限。

例如:一个公司有 A 部门和 B 部门,A 部门的系统产生交易数据,B 部门的系统根据这些交易数据做数据分析和展示。那么遵循权限最小化原则,可以配置两种角色,A 部门角色只授予往交易系统命名空间中生产消息的权限,B 部门则只授予消费消息的权限。这样可以很大程度避免由于权限不清带来的数据混乱、业务脏数据等问题。

操作步骤

新增角色并授权

  1. 登录 TDMQ 控制台,在左侧导航栏单击【角色管理】,进入角色管理页面。

  2. 在角色管理页面,选择地域和当前集群后,单击【新建】进入新建角色页面。

  3. 在新建角色页面,填写角色名称和说明:

    • 角色:最长为32个字符,支持数字、大小写字母和分隔符("_","-")。

    • 说明(选填):不得超过100个字符。

    • 所有权限:选择需要授权的命名空间,并配置生产消费权限。

  4. 单击【保存】,完成当前集群命名空间的创建。

检查授权是否生效

  1. 在 TDMQ 控制台的【角色管理】中,找到新建的角色,通过以下任一种方式复制角色密钥:

    方式一:【密钥】列复制 单击密钥列的【复制】。

方式二:【操作】列查看并复制 单击操作列的【查看密钥】,在查看密钥弹框中单击复制图标。

  1. 将复制的角色密钥添加到客户端的参数中。如何在客户端代码中添加密钥参数请参考 [JWT 鉴权配置]。

注意:

密钥泄露很可能导致您的数据泄露,请妥善保管您的密钥。

  1. 检查权限是否生效。 您可以运行配置好的客户端访问对应命名空间中的 Topic 资源,按照刚刚配置的权限进行生产或消费,看是否会产生没有权限的报错信息,如果没有即代表配置成功。

编辑权限

  1. 在 TDMQ 控制台的【命名空间】中,找到需要配置生产消费权限的一个命名空间,单击操作列的【配置权限】,进入配置权限列表。

  2. 在配置权限列表中,找到需要编辑权限的角色,单击操作列的【编辑】。

  3. 在编辑的弹框中,修改权限信息后,单击【保存】。

删除权限

注意:

  • 删除权限为危险操作,请确保当前业务已经没有使用该角色进行消息的生产消费再进行此项操作,否则可能会出现客户端无法生产消费而导致的异常。
  • 当角色还有配置在各命名空间中的权限时,不可删除。
  1. 在 TDMQ 控制台的【命名空间】中,找到需要配置生产消费权限的一个命名空间,单击操作列的【配置权限】,进入配置权限列表。

  2. 在配置权限列表中,找到需要删除权限的角色,单击操作列的【删除】。

  3. 在删除的弹框中,单击【确认】,即可删除该权限。