操作场景
本文主要介绍如何授予子账号产品级访问控制权限。产品级访问控制权限可以让子账号对自己创建的产品或主账号为其创建的产品拥有访问控制能力。
主账号已创建了一个或多个项目,并在某个项目下建立了若干产品。例如智能酒店项目下有5个产品,分配给5个不同的合作商。如下图所示:
操作步骤
创建策略
1. 使用腾讯云主账号登录 访问管理控制台,单击左侧菜单策略。
2. 进入策略页面,单击新建自定义策略。
3. 选择按策略语法创建。
4. 选择模板类型,勾选空白模板,单击下一步。
5. 填写自定义策略名称,并按照策略模板编辑策略内容。
示例代码如下:
分配子账号所有权限示例:
{"version": "2.0","statement": [{"action": ["*"],"resource": ["qcs::iotcloud:gz:uin/your_uid:*","qcs::iotexplorer:gz:uin/your_uid:project/your_project_id","qcs::iotexplorer:gz:uin/your_uid:project/your_project_id/","qcs::iotexplorer:gz:uin/your_uid:project/your_project_id/product/your_product_id","qcs::iotexplorer:gz:uin/your_uid:project/your_project_id/product/your_product_id/*"],"effect": "allow"}]}
策略说明如下:
Resource 对应的就是项目和产品。如果要把主账号某个项目 ID 的某个产品 ID 授权给某个子用户,则需要在 resource 部分增加下面4条,红色标注为需替换部分 :your_uid 为用户账号 ID,your_project_id 为控制台项目 ID,your_product_id 为项目内产品 ID。
Action:
*
号表示所有操作。Effect:allow 表示允许, deny 表示不允许。
项目策略语法使用说明,请参见 策略语法说明。
禁用子账号部分权限:
示例代码(此处示例禁用了子账号删除产品和设备):
{"version": "2.0","statement": [{"action": ["*"],"resource": ["qcs::iotcloud:gz:uin/your_uid:*","qcs::iotexplorer:gz:uin/your_uid:project/your-project-id","qcs::iotexplorer:gz:uin/your_uid:project/your-project-id/","qcs::iotexplorer:gz:uin/your_uid:project/your-project-id/product/your-product-id","qcs::iotexplorer:gz:uin/your_uid:project/your-project-id/product/your-product-id/*"],"effect": "allow"},{"action": ["iotexplorer:DeleteStudioProduct","iotexplorer:DeleteDevice"],"resource": ["qcs::iotcloud:gz:uin/your_uid:*","qcs::iotexplorer:gz:uin/your_uid:project/your-project-id","qcs::iotexplorer:gz:uin/your_uid:project/your-project-id/","qcs::iotexplorer:gz:uin/your_uid:project/your-project-id/product/your-product-id","qcs::iotexplorer:gz:uin/your_uid:project/your-project-id/product/your-product-id/*"],"effect": "deny"}]}
子账号登录控制台,删除项目或产品,会弹出窗口提示无权限:
Action:输入相关的接口名称,例如:DeleteStudioProduct(删除产品),DeleteDevice(删除设备)等。具体其他接口名称请查阅 API 概览 相关接口。
Effect:allow 表示允许, deny 表示不允许。
关联策略
1. 自定义策略创建完毕后,进入用户 > 用户列表页面,选择想要赋予权限的子账号。
2. 单击用户名称,进入用户详情页,在“权限”栏中,单击关联策略。
3. 搜索刚才创建的策略名称,选择后单击确定,完成授予策略中定义的权限。