操作场景
您可通过访问管理控制台的策略功能,将主账号拥有的、已经绑定标签的 RocketMQ 资源,通过按标签授权的方式授予子账号这些资源的读写权限,得到权限的子账号可以获得具有相应标签下资源的控制能力。
当前消息队列 RocketMQ 版支持集群,Topic 和 Group 三种资源级别的标签管理。
注意:
由于集群和 Topic/Group 之间存在从属关系,即 Topic 和 Group 是存在于集群内的二级资源,因此在维护标签和按照标签授权时,请注意集群和 Topic/Group之间的资源标签关系。
如集群的标签为 TAG=1,Topic/Group 的标签为 TAG=2,这种情况下,如果只授予某子账号 TAG=2 标签的权限,则该子账号无法在控制台找到对应的 Topic/Group,因为 Topic/Group 在集群内,而子账号没有集群的标签权限。
所以在以上情况,需要同时给对应的 Topic/Group 打上 TAG=1 和 TAG=2 的标签,并授予该子账号 TAG=1 和 TAG=2 的标签权限。
操作前提
已使用腾讯云主账号为员工创建好子账号,详细操作请参考新建子账号。
至少拥有一个 RocketMQ 集群资源。
至少拥有一个标签,若没有可以参考标签管理创建。
操作步骤
步骤 1:为资源绑定标签
1. 使用主账号登录到 消息队列 RocketMQ 控制台,进入集群管理页面。
2. 对于已创建好的资源,可以直接编辑资源标签。
集群:勾选目标资源,单击左上角的编辑资源标签,为集群绑定好资源标签。

Topic/Group:单击列表页的列头 资源标签 
图标将资源标签全部展开(如果已经全部展开,如下图所示,则不用再次展开标签)后,点击具体的资源标签进行编辑。


步骤 2:按标签授权
1. 进入访问管理控制台。
2. 在左侧导航栏选择策略,单击新建自定义策略,创建策略方式选择按标签授权。
3. 在可视化策略生成器中,选择好服务,具体的选择说明如下:
4.x 版本:输入 tdmq 进行筛选,在结果中选择消息队列 TDMQ (tdmq)。
5.x 版本:输入 trocket 进行筛选,在结果中选择消息队列 RocketMQ 版 (trocket)。
4. 在操作中选择全部操作,您也可以根据业务需要选择特定的操作。
说明:
操作中包含该服务所有接口,您可以通过“是否支持按标签授权”筛选查看接口是否支持按标签授权。
是:支持按标签授权接口,将包含关联对应标签资源的操作权限。
否:不支持按标签授权接口。
若要支持多个服务的授权,可单击左上角“添加”,继续添加多个授权声明,对另外的服务进行授权策略配置。
5. 在选择标签位置,选择集群资源绑定的标签键和标签值,支持多选。
6. 在选择条件键位置,选择好条件键。条件键 resource_tag、request_tag 可多选,也可只选择其中一个。

7. 选择是否授予不支持标签的接口"resource": "*"权限,若勾选不支持标签的接口将包含所有资源的操作权限。
8. 单击下一步,设置策略名称,策略名称由控制台自动生成,默认为 "policygen" ,后缀数字根据创建日期生成,您可进行自定义。
9. 单击选择用户或选择用户组,可选择需要授予资源权限的用户或用户组。

10. 单击完成,相关子账号就能够根据策略控制指定标签下的资源。

