物联网通信 子账号权限控制

这篇说说如何授予子账号产品级或设备级访问控制权限,通过按策略语法或按标签两种方式创建自定义策略并关联子账号,实现精细化的权限管理。 按策略语法创建:通过编写JSON策略模板,可禁止或允许子账号对特定产品/设备执行操作。 按标签方式授权:为设备添加标签后,基于标签创建策略并关联子账号,实现设备级资源授权。

相关产品
物联网通信 产品页,含版本规格、价格与购买入口。

一、操作场景

这里说明如何授予子账号产品/设备级访问控制权限。

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

·设备级访问控制权限,子账号只拥有主账号为其创建的设备的访问控制能力。

二、创建策略

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. 编辑策略,在可视化策略生成器页中添加服务与操作、选择标签,单击 JSON 可查看策略语法内容。确认后单击下一步进行关联用户/用户组/角色。

注意:说明:

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

5. 按实际需求选择用户或用户组或角色,单击完成即完成按标签方式授权操作。

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

6. 由于物联网通信控制台的限制,设备资源被分配给子用户之后,子用户需获取到产品列表和设备列表信息才可进入设备信息界面,对授权的设备资源进行查看。因此,需要对产品列表和设备列表进行授权,可按照创建策略语法方式完成产品列表和设备列表信息的授权,授权代码如下:

{ "version": "2.0", "statement": [ { "action": [ "iotcloud:DescribeProducts", "iotcloud:DescribeDevices" ], "resource": "qcs::iotcloud:::ProductId/*", "effect": "allow" } ]}

7. 操作完成之后,被授权的子用户即可在控制台对相应的设备资源进行管理操作。

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


赞 (0)
上一篇 4天前
下一篇 4天前