You need to enable JavaScript to run this app.
导航

配置密钥权限

最近更新时间2023.06.16 18:00:36

首次发布时间2022.03.05 11:34:49

消息队列 RocketMQ版的 ACL 权限管理功能支持不同逻辑维度的权限管理,您可以配置指定密钥的权限策略,为密钥设置默认权限或自定义权限,也可以从 Topic 角度设置指定 Topic 的权限策略,即设置所有密钥对于此 Topic 的权限。

前提条件

  • 已创建密钥。详细操作请参考创建密钥
  • 如果需要为密钥添加自定义权限,需要提前创建 Topic。详细操作请参考创建 Topic
  • 如果需要取消某个密钥的发布或者订阅的权限,请确认没有正在运行的应用使用了此密钥,以免影响线上业务的正常运行。

背景信息

消息队列 RocketMQ版支持 ACL 权限控制,通过密钥实现 Topic 资源级别的访问控制。密钥具备默认权限,默认对实例中所有的 Topic 生效。如果您需要更为精细的权限粒度管控,也可以为密钥添加自定义权限,设置该密钥对于指定 Topic 的权限策略。为密钥添加自定义权限之后,密钥的默认权限仅对自定义权限之外的 Topic 生效。例如某密钥的默认权限为发布,对于指定 Topic 的自定义权限为发布、订阅,则密钥对于此 Topic 实际权限为发布、订阅,对于实例中的其他 Topic 的权限为发布
除密钥角度的权限策略之外,您也可以从 Topic 的角度设置权限策略,即设置实例中所有密钥对于此 Topic 分别具备怎样的权限策略。设置后,如果某些密钥对于此 Topic 的权限与其默认权限不一致,消息队列 RocketMQ版会自动为密钥添加一条对应的自定义权限,并显示在该密钥的自定义权限列表中。

配置密钥的默认权限

创建密钥时需要指定密钥的默认权限,出于业务需求,您也可以在创建密钥后参考以下步骤修改此默认权限。

  1. 登录消息队列 RocketMQ版控制台
  2. 在顶部菜单栏中选择地域。
  3. 实例列表页面单击指定实例名称。
  4. 密钥管理页签中找到指定密钥,并在其对应的操作列单击查看权限详情
  5. 密钥信息一栏中找到默认权限,并单击编辑图标。
  6. 重新设置密钥的默认权限,并单击确认图标。

配置密钥的自定义权限

默认权限对于实例中的所有 Topic 生效,如果需要更细粒度的权限策略,可以为密钥添加自定义权限。例如密钥 A 的默认权限为拒绝,自定义权限为 Topic 1 和 Topic 2 的权限为发布,表示客户端使用此密钥时,只能向 Topic 1 和 Topic 2 推送消息,且对于其他 Topic 不具备任何权限。
消息队列 RocketMQ版支持按需添加、修改或删除自定义权限。配置自定义权限的操作步骤如下。

  1. 登录消息队列 RocketMQ版控制台
  2. 在顶部菜单栏中选择地域。
  3. 实例列表页面单击指定实例名称。
  4. 密钥管理页签中找到指定密钥,并在其对应的操作列单击查看权限详情
  5. 配置自定义权限。
    未配置自定义权限时,此密钥在所有 Topic 中具备默认权限,为某些 Topic 添加自定义权限后,此密钥对于这些 Topic 的权限以自定义权限为准。
    • 添加自定义权限。
      单击 添加自定义权限 ,为指定 Topic 设置对应的自定义权限,并单击 确定 。支持批量设置自定义权限。
    • 修改已添加的自定义权限。
      1. 自定义权限区域中找到指定 Topic,在其对应的操作列单击修改权限
      2. 重新设置 Topic 对应的权限,并单击确定
    • 删除自定义权限。
      删除自定义权限后,密钥对该 Topic 将恢复默认权限。
      1. 自定义权限区域中找到指定 Topic,在其对应的操作列单击删除
      2. 在弹出对话框中单击确定

配置 Topic 的权限策略

Topic管理页面可以查看并修改指定 Topic 在所有密钥中的权限策略。

说明

配置 Topic 的权限策略时,修改的是密钥的自定义权限,不会同时修改密钥的默认权限。

  1. 登录消息队列 RocketMQ版控制台
  2. 在顶部菜单栏中选择地域。
  3. 实例列表页面单击指定实例名称。
  4. Topic管理页签中找到指定 Topic,并在其对应的操作列展开折叠菜单,并单击设置密钥权限
  5. 密钥权限中修改指定密钥对于当前 Topic 的权限。
    如果需要修改某个密钥的对应权限,直接在其对应的 自定义权限 列调整即可。支持批量设置密钥权限。

    说明

    • 调整密钥权限时不会同步修改密钥的默认权限。
    • 密钥权限区域中展示当前实例下所有的密钥,以及每个密钥对于当前 Topic 的权限。如果权限一列显示为暂无权限,请设置默认权限,表示此密钥对于当前 Topic 采用默认权限。
  6. 单击确定