tencent cloud

云点播

自定义策略

下载
聚焦模式
字号
最后更新时间: 2022-05-31 11:04:02
注意:
本文档主要介绍云点播访问管理功能的相关内容,其他产品访问管理相关内容请参见 支持 CAM 的产品。
在访问管理中使用 预设策略 来实现授权虽然方便,但权限控制粒度粗,不能细化到子应用和 API 粒度。如果开发者要求精细的权限控制能力,则需要创建自定义策略。

自定义策略创建方法

自定义策略有多种创建方法,下方表格展示各种方法的对比,具体操作流程请参考下文。
创建入口
创建方法
效力(Effect)
资源(Resource)
操作(Action)
灵活性
难度
控制台
策略生成器
手动选择
语法描述
手动选择
中
中
控制台
策略语法
语法描述
语法描述
语法描述
高
高
服务端 API
CreatePolicy
语法描述
语法描述
语法描述
高
高
说明:
云点播不支持按照产品功能创建自定义策略。
手动选择是指用户在控制台所展示的候选项列表中选择对象。语法描述是指通过策略语法来描述对象。

策略语法资源描述

如上文所述,云点播权限管理的资源粒度是子应用。子应用的策略语法描述方式遵循 CAM 标准。在下文的示例中,开发者的主账号 ID 是12345678,APPID 是1250000001(主应用 ID 等于 APPID),开发者创建了两个云点播子应用,ID 分别是1400000001和1400000002。
云点播所有资源的策略语法描述
"resource": [
"qcs::vod::uin/12345678:subAppId/*"
]
主应用的策略语法描述
"resource": [
"qcs::vod::uin/12345678:subAppId/1250000001"
]
单个子应用的策略语法描述
"resource": [
"qcs::vod::uin/12345678:subAppId/1400000001"
]
主应用和单个子应用的策略语法描述
"resource": [
"qcs::vod::uin/12345678:subAppId/1250000001",
"qcs::vod::uin/12345678:subAppId/1400000001"
]

策略语法操作描述

如上文所述,云点播权限管理的操作粒度是服务端 API。在下文的示例中,以DescribeMediaInfos、DescribeAllClass等服务端 API 为例。
云点播所有服务端 API 的策略语法描述
"action": [
"name/vod:*"
]
单个服务端 API 操作的策略语法描述
"action": [
"name/vod:DescribeMediaInfos"
]
多个服务端 API 操作的策略语法描述
"action": [
"name/vod:DescribeMediaInfos",
"name/vod:DescribeAllClass"
]

自定义策略使用示例

使用策略生成器

在下文示例中,我们将创建一个自定义策略。该策略允许对1400000001这个云点播子应用进行任何操作,除了ProcessMedia这个服务端 API。
1. 以 主账号 的身份访问 CAM 控制台的 策略,单击新建自定义策略。
2. 选择按策略生成器创建,进入策略创建页面。
3. 选择服务和操作。
效果(Effect)配置项选择允许。
服务(Service)配置项选择云点播。
操作(Action)配置项勾选所有项。
资源(Resource)配置项按照 资源语法描述 说明填写qcs::vod::uin/12345678:subAppId/1400000001。
条件(Condition)配置项无需配置。


4. 单击下一步,按需修改策略名称(也可以不修改)。 5. 单击完成完成自定义策略的创建。后续将该策略授予子用户的方法同 将云点播完整权限授予已存在的子用户。

使用策略语法

在下文示例中,我们将创建一个自定义策略。该策略允许对1400000001和1400000002这两个云点播子应用进行任何操作,但不允许对1400000001进行ProcessMedia操作。
1. 以 主账号 的身份访问 CAM 控制台的 策略,单击新建自定义策略。
2. 选择按策略语法创建,进入策略创建页面。
3. 在选择模板类型框下选择空白模版。
说明:
所谓策略模版,指新策略是现有策略(预置策略或自定义策略)的一个拷贝,然后在此基础上做调整。在实际使用中,开发者可以根据情况选择合适的策略模版,降低编写策略内容的难度和工作量。
4. 单击下一步,按需修改策略名称(也可以不修改)。
5. 在编辑策略内容编辑框中填写策略内容。本示例的策略内容为:
{
"version": "2.0",
"statement": [
{
"effect": "allow",
"action": [
"name/vod:*"
],
"resource": [
"qcs::vod::uin/12345678:subAppId/1400000001",
"qcs::vod::uin/12345678:subAppId/1400000002"
]
},
{
"effect": "deny",
"action": [
"name/vod:ProcessMedia"
],
"resource": [
"qcs::vod::uin/12345678:subAppId/1400000001"
]
}
]
}
说明:
策略内容遵循 CAM 策略语法 规范,其中资源和操作两个元素的语法分别如上文 策略语法资源描述 和 策略语法操作描述 所述。
6. 单击创建策略完成自定义策略的创建。后续将该策略授予子用户的方法同 示例:将云点播完整权限授予已存在的子用户。

使用服务端 API

对于大多数开发者来说,在控制台完成权限管理操作已经能满足业务需求。但如果需要将权限管理能力自动化和系统化,则可以基于服务端 API 来实现。 策略相关的服务端 API 属于 CAM,具体请参见 CAM 官网文档。此处仅列出几个主要接口:

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈