- 文档首页
消息队列 RocketMQ版
用户指南
密钥管理
配置密钥权限
配置密钥权限
消息队列 RocketMQ版的 ACL 权限管理功能支持不同逻辑维度的权限管理,您可以为密钥设置默认权限或自定义权限,也可以从 Topic 角度设置指定 Topic 的权限策略,即设置所有密钥对于此 Topic 的权限。
前提条件
- 如果需要为密钥添加自定义权限,需要提前创建 Topic。详细操作请参考创建 Topic。
- 如果需要取消某个密钥的发布或者订阅的权限,请确认没有正在运行的应用使用了此密钥,以免影响线上业务的正常运行。
背景信息
消息队列 RocketMQ版支持 ACL 权限控制,通过密钥实现 Topic 资源级别的访问控制,密钥权限默认对实例中所有的 Topic 生效。
如果您需要更为精细的权限粒度管控,也可以为密钥添加自定义权限,设置该密钥对于指定 Topic 的权限策略。为密钥添加自定义权限之后,密钥的默认权限仅对自定义权限之外的 Topic 生效。例如某密钥的默认权限为发布,对于指定 Topic 的自定义权限为发布、订阅,则密钥对于此 Topic 实际权限为发布、订阅,对于实例中的其他 Topic 的权限为发布。
除密钥角度的权限策略之外,您也可以从 Topic 的角度设置权限策略,即设置实例中所有密钥对于此 Topic 分别具备怎样的权限策略。设置后,如果某些密钥对于此 Topic 的权限与其默认权限不一致,消息队列 RocketMQ版会自动为密钥添加一条对应的自定义权限,并显示在该密钥的自定义权限列表中。
修改密钥的默认权限
创建密钥时需要指定密钥的默认权限,出于业务需求,您也可以在创建密钥后参考以下步骤修改此默认权限。
- 在密钥管理页签中找到指定密钥,然后单击密钥的 AccessKey ID。
配置密钥的自定义权限
默认权限对于实例中的所有 Topic 生效,如果需要更细粒度的权限策略,可以为密钥添加自定义权限。例如密钥 A 的默认权限为拒绝,自定义权限为 Topic 1 和 Topic 2 的权限为发布,表示客户端使用此密钥时,只能向 Topic 1 和 Topic 2 推送消息,且对于其他 Topic 不具备任何权限。
消息队列 RocketMQ版支持按需添加、修改或删除自定义权限。配置自定义权限的操作步骤如下。
- 在密钥管理页签中找到指定密钥,然后单击密钥的 AccessKey ID。
- 未配置自定义权限时,此密钥在所有 Topic 中具备默认权限,为某些 Topic 添加自定义权限后,此密钥对于这些 Topic 的权限以自定义权限为准。
配置 Topic 的权限策略
在Topic管理页面可以查看并修改 Topic 的密钥权限。配置 Topic 的密钥权限策略时,修改的是密钥的自定义权限,不会同时修改密钥的默认权限。
- 在Topic管理页签中找到指定 Topic,并在其对应的操作列展开折叠菜单,并单击设置密钥权限。
- 在密钥权限中修改指定密钥对于当前 Topic 的权限。
- 确认每个 RocketMQ 密钥对于当前 Topic 的自定义权限;若不设置,每个密钥对于当前 Topic 维持密钥的默认权限。
- 单个设置密钥权限。您可以选择目标密钥,然后设置对于此 Topic 的自定义权限。
- 例如为密钥 A 的默认权限为拒绝,设置自定义权限为发布,创建 Topic 成功后,密钥 A 对于此 Topic 的权限为发布。
-
- 支持批量设置权限。选中批量设置权限,然后选择多个密钥,再设置对于此 Topic 需要的自定义权限。
-
最近更新时间:2025.07.09 16:22:41