通过控制台设置权限

最近更新时间:2023-08-11 10:30:33

我的收藏

操作场景

本文以指定某用户拥有 CMQ 队列模型的 消费消息及批量消费消息写权限 为例,演示如何设置 CMQ 权限。

权限说明

接入 CAM 后,子账号除了可以查看 list ,默认是没有其他操作权限的(登录控制台用的是子账号的密钥),需要主账号通过 CAM 授权,才有访问权限。
子账号通过控制台查看监控数据需要对腾讯云可观测平台接口进行 CAM 授权

操作步骤

创建子用户

1. 登录【访问管理控制台】>【用户】>【用户列表】,单击左上角的【新建用户】。
2. 在新建用户页面,您可以通过快速创建、自定义创建、微信/企业微信导入三种方式创建子用户,具体操作方法请参考访问管理的 新建子用户 文档。
3. 在【用户】>【用户列表】中,即可查看已添加的子用户。

新建自定义策略

您可以创建某自定义策略指定开启具体 API 接口的权限,下面以指定 CMQ Queue 的写权限(消费消息、批量消费消息)为例:
1. 登录【访问管理】>【策略】,单击左上角的【新建自定义策略】。
2. 在选择创建策略方式中,选择按策略生成器创建,进入配置服务类型页面。
3. 在选择服务和操作页面,补充以下信息。
服务(必选):选择队列模型 (cmqqueue)(若未找到请确认是否已经开通 CMQ 服务)。
操作(必选):选择您要授权的操作。
资源(必填):填入您要授权的资源的资源六段式。CMQ 的资源六段式描述,例如qcs::cmqqueue:bj:uin/1238423:queueName/uin/3232/myqueue。详情参考 接入 CAM 的 API 授权详情
第一段为固定格式 qcs;
第二段为空;
第三段表示消息队列的类型,队列模型为 cmqqueue,主题模型为 cmqtopic;
第四段为地域信息,例如 gz、bj、sh 若为全地域,则设置为空;
第五段为主账号 uin/{主账号uin}
第六段为资源的描述,当为队列模式时,则 queueName/uin/{创建者Uin}/{队列名字} ,当为主题模式时该值取 topicName/uin/{创建者Uin}/{主题名字}。创建者的 Uin 可以通过控制台详情页获取,或者通过云api 接口 GetQueueAttributes 或者GetTopicAttributes 的返回值 createUin 获取。
条件(选填):设置子账号上述授权的生效条件。详细可参阅 生效条件



4. 单击【添加声明】>【下一步】,进入编辑策略页面。
5. 在策略编辑页面,补充策略名称、描述信息,确认策略内容,其中策略名称和策略内容由控制台自动生成。
策略名称:默认为 "policygen" ,后缀数字根据创建日期生成。您可进行自定义。
策略内容:与 第 3 步 的服务和操作对应,您可根据实际需求进行修改。



6. 单击【完成】,完成按策略生成器创建自定义策略的操作。
7. 在策略列表,选择目标策略,单击操作列的【关联用户/组】,对已开启的权限配置策略的关联对象,选择关联对象后,单击【确认】,完成配置。


关于 CAM 策略的其他详细说明可参考 策略 文档。
说明
CMQ 的 list 接口权限默认全部开放(即登录 CMQ 的控制台,可以在控制台看到具体的资源列表),具体查看的资源内容可以通过权限控制。

子账号登录

使用子账号登录后,若找不到对应的资源,请在控制台右上角,单击切换协作者开发商账号。



接入 CAM 的 API 授权详情

支持资源级授权的 API 列表

API 名
API 描述
资源类型
资源六段式示例
ClearSubscriptionFilterTags
清空订阅者消息标签
订阅接口相关
qcs::cmqqueue:$region:uin/{主账号uin}:topicName/uin/{创建者Uin}/{主题名字}
CreateSubscribe
创建订阅接口
订阅接口相关
qcs::cmqqueue:$region:uin/{主账号uin}:topicName/uin/{创建者Uin}/{主题名字}
DeleteSubscribe
删除订阅
订阅接口相关
qcs::cmqqueue:$region:uin/{主账号uin}:topicName/uin/{创建者Uin}/{主题名字}
ModifySubscriptionAttribute
修改订阅属性
订阅接口相关
qcs::cmqqueue:$region:uin/{主账号uin}:topicName/uin/{创建者Uin}/{主题名字}
CreateTopic
创建主题
主题接口相关
qcs::cmqqueue:$region:uin/{主账号uin}:topicName/uin/{创建者Uin}/{主题名字}
DeleteTopic
删除主题
主题接口相关
qcs::cmqqueue:$region:uin/{主账号uin}:topicName/uin/{创建者Uin}/{主题名字}
ModifyTopicAttribute
修改主题属性
主题接口相关
qcs::cmqqueue:$region:uin/{主账号uin}:topicName/uin/{创建者Uin}/{主题名字}
ClearQueue
清空消息队列中的消息
队列接口相关
qcs::cmqqueue:$region:uin/{主账号uin}:queueName/uin/{创建者Uin}/{队列名字}
CreateQueue
创建队列接口
队列接口相关
qcs::cmqqueue:$region:uin/{主账号uin}:queueName/uin/{创建者Uin}/{队列名字}
DeleteQueue
删除队列
队列接口相关
qcs::cmqqueue:$region:uin/{主账号uin}:queueName/uin/{创建者Uin}/{队列名字}
ModifyQueueAttribute
修改队列属性
队列接口相关
qcs::cmqqueue:$region:uin/{主账号uin}:queueName/uin/{创建者Uin}/{队列名字}

不支持资源级授权的 API 列表

API 名
API 描述
资源类型
资源六段式示例
DescribeSubscriptionDetail
查询订阅详情
订阅接口相关
*
DescribeTopicDetail
查询主题详情
主题接口相关
*
DescribeDeadLetterSourceQueues
枚举死信队列源队列
队列接口相关
*
DescribeQueueDetail
枚举队列
队列接口相关
*
RewindQueue
回溯队列
队列接口相关
*
UnbindDeadLetter
解绑死信队列
队列接口相关
*