消息队列 RocketMQ版的 ACL 权限管理功能支持不同逻辑维度的权限管理,您可以为密钥设置默认权限或自定义权限,也可以从 Topic 角度设置指定 Topic 的权限策略,即设置所有密钥对于此 Topic 的权限。
消息队列 RocketMQ版支持 ACL 权限控制,通过密钥实现 Topic 资源级别的访问控制,密钥权限默认对实例中所有的 Topic 生效。
如果您需要更为精细的权限粒度管控,也可以为密钥添加自定义权限,设置该密钥对于指定 Topic 的权限策略。为密钥添加自定义权限之后,密钥的默认权限仅对自定义权限之外的 Topic 生效。例如某密钥的默认权限为发布,对于指定 Topic 的自定义权限为发布、订阅,则密钥对于此 Topic 实际权限为发布、订阅,对于实例中的其他 Topic 的权限为发布。
除密钥角度的权限策略之外,您也可以从 Topic 的角度设置权限策略,即设置实例中所有密钥对于此 Topic 分别具备怎样的权限策略。设置后,如果某些密钥对于此 Topic 的权限与其默认权限不一致,消息队列 RocketMQ版会自动为密钥添加一条对应的自定义权限,并显示在该密钥的自定义权限列表中。
创建密钥时需要指定密钥的默认权限,出于业务需求,您也可以在创建密钥后参考以下步骤修改此默认权限。
默认权限对于实例中的所有 Topic 生效,如果需要更细粒度的权限策略,可以为密钥添加自定义权限。例如密钥 A 的默认权限为拒绝,自定义权限为 Topic 1 和 Topic 2 的权限为发布,表示客户端使用此密钥时,只能向 Topic 1 和 Topic 2 推送消息,且对于其他 Topic 不具备任何权限。
消息队列 RocketMQ版支持按需添加、修改或删除自定义权限。配置自定义权限的操作步骤如下。
在顶部菜单栏中选择地域。
在实例列表页面单击指定实例名称。
在密钥管理页签中找到指定密钥,然后单击密钥的 AccessKey ID。
配置自定义权限。
未配置自定义权限时,此密钥在所有 Topic 中具备默认权限,为某些 Topic 添加自定义权限后,此密钥对于这些 Topic 的权限以自定义权限为准。
操作 | 说明 |
---|---|
添加自定义权限 | 单击添加自定义权限,为指定 Topic 设置对应的自定义权限,并单击确定。 |
修改自定义权限 |
|
删除自定义权限 | 删除自定义权限后,密钥对该 Topic 将恢复默认权限。
|
在Topic管理页面可以查看并修改 Topic 的密钥权限。配置 Topic 的密钥权限策略时,修改的是密钥的自定义权限,不会同时修改密钥的默认权限。