子账号权限控制

最近更新时间:2019-09-11 11:42:43

操作场景

本文主要介绍如何授予子账号产品级访问控制权限。产品级访问控制权限可以让子账号对自己创建的产品,或主账号为其创建的产品,拥有访问控制能力。

操作步骤

创建策略

  1. 登录腾讯云 访问管理控制台,单击左侧菜单栏【策略】。
  2. 进入策略管理页面,单击【新建自定义策略】。
  3. 在弹出选择创建策略方式页面,选择【按策略语法创建】
  4. 选择“空白模版”,单击【下一步】。
  5. 填写自定义策略名称,并按照策略模版编辑策略内容。示例代码如下:
    {
         "version": "2.0",
         "statement": [
             {
                 "action": [
                     "iotcloud:CreateProduct"
                 ],
                 "resource": "*",
                 "effect": "deny"
             },
             {
                 "action": [
                     "iotcloud:*"
                 ],
                 "resource": "*",
                 "effect": "allow",
                 "condition": {
                     "string_equal_if_exist": {
                         "product": [
                             "${productID1}",
                             "${productID2}",
                             "${productID3}"
                         ]
                     }
                 }
             }
         ]
    }

关联策略

  1. 自定义策略创建完毕后,进入 用户列表 页面,在“权限”那栏,选择想要赋予权限的子账号,单击【关联策略】。
  2. 搜索刚才创建的策略名称,选择后单击【确定】,完成授予策略中定义的权限。

策略说明

  • 下面的策略模板表示禁止子账号创建产品权限。若要禁止子账号其它权限,可以将权限 API 名称写在 action 中,如 "iotcloud::DeleteDevice" 禁止删除设备权限。
    {
           "action": [
                "iotcloud:CreateProduct"
           ],
           "resource": "*",
           "effect": "deny"
    }
  • 下面的策略模板表示其它权限(创建设备、删除设备等)均被允许。但只能在规定的产品下进行操作,对哪个产品开放此类权限取决于 product 列表中填入的 PID,用户将其中的 ${productID*} 替换成需要授权的物联网产品 productID 即可。
    {
         "action": [
              "iotcloud:*"
          ],
          "resource": "*",
          "effect": "allow",
          "condition": {
               "string_equal_if_exist": {
                    "product": [
                         "${productID1}",
                         "${productID2}",
                         "${productID3}"
                    ]
               }
         }
    }
    至此,您可以通过物联网通信控制台获取产品的基本信息,如下图所示: