子账号权限控制

最近更新时间:2020-08-26 16:54:34

操作场景

本文主要介绍如何授予子账号产品/设备级访问控制权限。

  • 产品级访问控制权限可以让子账号对自己创建的产品,或主账号为其创建的产品,拥有访问控制能力。
  • 设备级访问控制权限,子账号只拥有主账号为其创建的设备的访问控制能力。

按策略语法创建方式授权

创建策略

  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. 选择想要赋予权限的子账号,在“权限”那栏,单击【关联策略】。
  3. 搜索刚才创建的策略名称,选择后单击【确定】,完成授予策略中定义的权限。

策略说明

  • 下面的策略模板表示禁止子账号创建产品权限。若要禁止子账号其它权限,可以将权限 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}"
                    ]
               }
         }
    }
    至此,您可以通过物联网通信控制台获取产品的基本信息。

按标签方式授权

创建设备标签

  1. 进入物联网通信控制台,进入产品信息界面。若未添加产品与设备,需先进行添加操作,操作步骤详情请参见 设备接入准备
  2. 单击“设备信息”页面的“标签信息”,单击【点击添加】按钮,填写 key 和 value 等信息进行设备标签添加。
    • 标签 key:支持英文、数字、下划线的组合,最多不超过16个字符。
    • 标签 value:支持英文、数字、下划线的组合,最多不超过16个字符。
  3. 编辑完成后单击【确认】,即完成对“标签信息”的添加,设备信息中讲会展示相应的标签内容。

创建策略与关联策略

  1. 登录腾讯云 访问管理控制台,单击左侧菜单栏【策略】。
  2. 进入策略管理页面,单击【新建自定义策略】。
  3. 在弹出选择创建策略方式页面,选择【按标签授权】。
  4. 选择用户或用户组以及标签键与标签值。

    说明:单个设备可支持输入多个标签,且设备与设备之间标签键与标签值不唯一。选择资源时可选中多个标签键和标签值,也可选择其中一组标签键和标签值去分配资源。一组标签键与标签值可以分配一个或多个设备资源给到子用户。

  5. 选中之后单击【下一步】进入检查页面。

其中策略名称与策略信息内容可更改,确认无误后,单击【完成】即可完成策略的创建和策略的关联。

  1. 由于物联网通信控制台的限制,设备资源被分配给子用户之后,子用户需获取到产品列表和设备列表信息才可进入设备信息界面,对授权的设备资源进行查看。因此,需要对产品列表和设备列表进行授权,可按照创建策略语法方式完成产品列表和设备列表信息的授权,授权代码如下:
    {
     "version": "2.0",
     "statement": [
         {
             "action": [
                 "iotcloud:DescribeProducts",
                 "iotcloud:DescribeDevices"
             ],
             "resource": "qcs::iotcloud:::ProductId/*",
             "effect": "allow"
         }
     ]
    }
  2. 操作完成之后,被授权的子用户即可在控制台对相应的设备资源进行管理操作。

    而未被授予的设备资源将无法查看。
目录