更新时间:2026-02-27 GMT+08:00

身份策略授权参考

云服务在IAM预置了常用的权限,称为系统身份策略。如果IAM系统身份策略无法满足授权要求,管理员可以根据各服务支持的授权项,创建IAM自定义身份策略来进行精细的访问控制,IAM自定义身份策略是对系统身份策略的扩展和补充。

除IAM服务外,Organizations服务中的服务控制策略(Service Control Policy,以下简称SCP)也可以使用这些授权项元素设置访问控制策略。

SCP不直接进行授权,只划定权限边界。将SCP绑定到组织单元或者成员账号时,并没有直接对组织单元或成员账号授予操作权限,而是规定了成员账号或组织单元包含的成员账号的授权范围。IAM身份策略授予权限的有效性受SCP限制,只有在SCP允许范围内的权限才能生效。

IAM服务与Organizations服务在使用这些元素进行访问控制时,存在着一些区别,详情请参见:IAM服务与Organizations服务权限访问控制的区别

本章节介绍IAM服务身份策略授权场景中自定义身份策略和组织服务中SCP使用的元素,这些元素包含了操作(Action)、资源(Resource)和条件(Condition)。

操作(Action)

操作(Action)即为身份策略中支持的授权项。

  • “访问级别”列描述如何对操作进行分类(List、Read和Write等)。此分类可帮助您了解在身份策略中相应操作对应的访问级别。
  • “资源类型”列指每个操作是否支持资源级权限。
    • 资源类型支持通配符号*表示所有。如果此列没有值(-),则必须在身份策略语句的Resource元素中指定所有资源类型(“*”)。
    • 如果该列包含资源类型,则必须在具有该操作的语句中指定该资源的URN。
    • 资源类型列中必需资源在表中用星号(*)标识,表示使用此操作必须指定该资源类型。

    关于VOD定义的资源类型的详细信息请参见资源类型(Resource)

  • “条件键”列包括了可以在身份策略语句的Condition元素中支持指定的键值。
    • 如果该授权项资源类型列存在值,则表示条件键仅对列举的资源类型生效。
    • 如果该授权项资源类型列没有值(-),则表示条件键对整个授权项生效。
    • 如果此列条件键没有值(-),表示此操作不支持指定条件键。

    关于VOD定义的条件键的详细信息请参见条件(Condition)

  • “别名”列包括了可以在身份策略中配置的策略授权项。通过这些授权项,可以控制支持策略授权的API访问。详细信息请参见身份策略兼容性说明

您可以在身份策略语句的Action元素中指定以下VOD的相关操作。

表1 VOD支持的授权项

授权项

描述

访问级别

资源类型(*为必须)

条件键

别名

vod:asset:publishFromObs

授予从OBS一键发布媒资权限

Write

-

-

-

vod:asset:checkDuplication

授予文件上传MD5校验权限。

Read

-

-

-

vod:asset:createExtractAudioTask

授予视频媒资提取音频权限。

Write

vod *

vod:AssetLabel

-

vod:asset:createPackagingRelation

授予关联媒资和实时转封装配置权限。

Write

vod *

vod:AssetLabel

-

vod:asset:createProcessTask

授予媒资处理权限。

Write

vod *

vod:AssetLabel

-

vod:asset:createRefreshTask

授予CDN刷新权限。

Write

vod *

vod:AssetLabel

-

vod:asset:createUploadTaskByUrl

授予通过URL拉取方式创建媒资权限。

Write

vod *

-

-

vod:asset:delete

授予删除媒资权限。

Write

vod *

-

-

vod:asset:deleteProcessTask

授予取消媒资转码任务权限。

Write

vod *

vod:AssetLabel

-

vod:asset:deleteTranscodeProduct

授予删除转码产物权限。

Write

vod *

vod:AssetLabel

-

vod:asset:deleteUploadTaskByUrl

授予删除URL拉取任务权限。

Write

vod *

-

-

vod:asset:getCiphers

授予查询密钥权限。

Read

vod *

vod:AssetLabel

-

vod:asset:getDetails

授予查询指定媒资的详细信息权限。

Read

vod *

vod:AssetLabel

-

vod:asset:getInfo

授予查询媒资信息权限。

List

vod *

-

-

vod:asset:getPreheatTask

授予查询CDN预热权限。

Read

-

-

-

vod:asset:getRefreshTask

授予查询CDN刷新权限。

Read

-

-

-

vod:asset:getShieldInfo

授予查询媒资屏蔽信息权限。

Read

vod *

vod:AssetLabel

-

vod:asset:getTaskInfo

授予查询任务管理界面媒资任务信息。

List

vod *

-

-

vod:asset:getUploadTaskByUrl

授予查询URL拉取任务权限。

List

vod *

-

-

vod:asset:list

授予查询媒资列表权限。

List

vod *

-

-

vod:asset:listAuthUrl

授予获取带有鉴权信息的播放URL权限。

List

-

-

-

vod:asset:modifyInfo

授予更新媒资信息权限。

Write

vod *

vod:AssetLabel

-

vod:asset:preheat

授予CDN预热权限。

Write

-

-

-

vod:asset:publish

授予媒资发布权限。

Write

vod *

-

-

vod:asset:retrievalUploadTaskByUrl

授予恢复URL拉取任务权限。

Write

vod *

-

-

vod:asset:review

授予创建审核媒资任务权限。

Write

vod *

vod:AssetLabel

-

vod:asset:shield

授予屏蔽媒资权限。

Write

vod *

vod:AssetLabel

-

vod:asset:stopExtractAudioTask

授予取消提取音频任务权限。

Write

-

-

-

vod:asset:stopUploadTaskByUrl

授予取消URL拉取任务权限。

Write

vod *

-

-

vod:asset:unpublish

授予媒资取消发布权限。

Write

vod *

-

-

vod:asset:update

授予媒资更新权限。

Write

vod *

vod:AssetLabel

-

vod:asset:updateStorageMode

授予修改媒资文件在obs的存储模式权限。

Write

vod *

vod:AssetLabel

-

vod:asset:upload

授予媒资上传权限。

Write

vod *

-

-

vod:bucket:authority

授予桶授权权限。

Write

-

-

-

vod:bucket:list

授予查询桶列表权限。

List

-

-

-

vod:category:create

授予创建媒资分类权限。

Write

-

-

-

vod:category:delete

授予删除媒资分类权限。

Write

-

-

-

vod:category:list

授予查询媒资分类信息列表权限。

List

-

-

-

vod:category:update

授予修改媒资分类权限。

Write

-

-

-

vod:cdnBill:get

授予查询CDN计费方式权限。

Read

-

-

-

vod:cdnBill:update

授予设置CDN计费方式权限。

Write

-

-

-

vod:domain:create

授予创建CDN域名权限。

Write

-

-

-

vod:domain:delete

授予删除CDN域名权限。

Write

-

-

-

vod:domain:disable

授予停用CDN域名权限。

Write

-

-

-

vod:domain:enable

授予启用CDN域名权限。

Write

-

-

-

vod:domain:getHttpsSetting

授予配置https权限。

Read

-

-

-

vod:domain:getIpv6Config

授予配置域名ipv6开关权限。

Read

-

-

-

vod:domain:getRefererGuard

授予查询播放防盗链配置权限。

Read

-

-

-

vod:domain:getUrlAuthGuard

授予查询URL鉴权配置权限。

Read

-

-

-

vod:domain:list

授予查询CDN域名权限。

List

-

-

-

vod:domain:modifyHttpsSetting

授予配置https权限。

Write

-

-

-

vod:domain:modifyRefererGuard

授予为单个域名设置播放防盗链权限。

Write

-

-

-

vod:domain:modifyUrlAuthGuard

授予设置URL鉴权配置权限。

Write

-

-

-

vod:domain:update

授予修改CDN域名权限。

Write

-

-

-

vod:domain:updateIpv6Config

授予配置域名ipv6开关权限。

Write

-

-

-

vod:drm-template:create

授予创建DRM模板权限。

Write

-

-

-

vod:drm-template:delete

授予删除DRM模板信息权限。

Write

-

-

-

vod:drm-template:list

授予获取DRM模板信息权限。

List

-

-

-

vod:encryptionConfigurations:get

授予查询密钥获取地址权限。

Read

-

-

-

vod:encryptionConfigurations:update

授予设置密钥获取地址权限。

Write

-

-

-

vod:enterpriseProject:list

授予查询授权企业项目列表权限。

List

-

-

-

vod:increment:create

授予创建增量音视频托管配置权限。

Write

-

-

-

vod:increment:delete

授予删除增量音视频托管配置权限。

Write

-

-

-

vod:increment:get

授予查询增量音视频托管配置权限。

Read

-

-

-

vod:increment:update

授予修改增量音视频托管配置权限。

Write

-

-

-

vod:log:get

授予查询cdn日志权限。

Read

-

-

-

vod:log:getDailySummary

授予查询媒资日播放统计数据权限。

Read

-

-

-

vod:notification:get

授予查询点播服务端事件通知权限。

Read

-

-

-

vod:notification:update

授予配置点播服务端事件通知权限。

Write

-

-

-

vod:object:list

授予查询桶里的object权限。

List

-

-

-

vod:packagingConfigurations:create

授予新增单个实时转封装配置权限。

Write

-

-

-

vod:packagingConfigurations:delete

授予删除单个实时转封装配置权限。

Write

-

-

-

vod:packagingConfigurations:get

授予查询单个配置列表详情权限。

Read

-

-

-

vod:packagingConfigurations:list

授予查询实时转封装配置列表权限。

List

-

-

-

vod:packagingGroup:create

授予创建实时转封装配置组权限。

Write

-

-

-

vod:packagingGroup:delete

授予删除实时转封装配置组权限。

Write

-

-

-

vod:packagingGroup:list

授予查询实时转封装配置组列表权限。

List

-

-

-

vod:packagingGroup:update

授予修改实时转封装配置组权限。

Write

-

-

-

vod:reviewTemplate:create

授予创建自定义审核模板权限。

Write

-

-

-

vod:reviewTemplate:delete

授予删除自定义审核模板权限。

Write

-

-

-

vod:reviewTemplate:list

授予查询审核模板列表权限。

List

-

-

-

vod:reviewTemplate:update

授予修改审核模板权限。

Write

-

-

-

vod:statistics:get

授予查询域名的cdn数据信息权限。

Read

-

-

-

vod:stock:create

授予创建托管任务权限。

Write

-

-

-

vod:stock:get

授予查询托管任务详情权限。

Read

-

-

-

vod:stock:getAssetInfo

授予查询托管媒资详情权限。

Read

-

-

-

vod:stock:list

授予查询输出路径权限。

List

-

-

-

vod:storageModeType:get

授予查询媒资降冷配置权限。

Read

-

-

-

vod:storageModeType:update

授予修改媒资降冷粒度权限。

Write

-

-

-

vod:storagePolicy:create

授予创建降冷策略权限。

Write

-

-

-

vod:storagePolicy:delete

授予删除媒资降冷策略权限。

Write

-

-

-

vod:storagePolicy:list

授予查询媒资降冷策略权限。

List

-

-

-

vod:storagePolicy:update

授予修改媒资降冷策略权限。

Write

-

-

-

vod:subtitles:update

授予多字幕封装权限。

Write

-

-

-

vod:templateCollection:create

授予创建自定义模板组集合权限。

Write

-

-

-

vod:templateCollection:delete

授予删除自定义模板组集合权限。

Write

-

-

-

vod:templateCollection:list

授予查询自定义模板组集合权限。

List

-

-

-

vod:templateCollection:update

授予修改自定义模板组集合权限。

Write

-

-

-

vod:templateGroup:create

授予创建自定义转码模板组权限。

Write

-

-

-

vod:templateGroup:delete

授予删除自定义转码模板组权限。

Write

-

-

-

vod:templateGroup:list

授予查询转码模板组列表权限。

List

-

-

-

vod:templateGroup:update

授予修改转码模板组权限。

Write

-

-

-

vod:tenantInfo:update

授予修改租户信息权限。

Write

-

-

-

vod:watermark:create

授予启用水印权限。

Write

-

-

-

vod:watermarkTemplate:create

授予创建水印模板权限。

Write

-

-

-

vod:watermarkTemplate:delete

授予删除水印模板权限。

Write

-

-

-

vod:watermarkTemplate:list

授予查询水印列表权限。

List

-

-

-

vod:watermarkTemplate:update

授予修改水印模板权限。

Write

-

-

-

vod:workflow:create

授予创建工作流权限。

Write

-

-

-

vod:workflow:delete

授予删除工作流权限。

Write

-

-

-

vod:workflow:get

授予查询工作流详情权限。

Read

-

-

-

vod:workflow:list

授予查询工作流列表权限。

List

-

-

-

vod:workflow:update

授予修改工作流权限。

Write

-

-

-

vod:workflowTask:create

授予执行工作流任务权限。

Write

-

-

-

vod:workflowTask:getDetails

授予查询工作流任务详情权限。

Read

-

-

-

vod:workflowTask:list

授予查询工作流任务列表权限。

List

-

-

-

VOD的API通常对应着一个或多个授权项。表2展示了API与授权项的关系,以及该API需要依赖的授权项。

表2 API与授权项的关系

API

对应的授权项

依赖的授权项

-

vod:asset:review

-

-

vod:bucket:authority

  • obs:bucket:deleteBucketPolicy
  • obs:bucket:getBucketPolicy
  • obs:bucket:putBucketPolicy

DELETE /v1.0/{project_id}/asset/process

vod:asset:deleteProcessTask

-

DELETE /v1.0/{project_id}/asset/extract_audio

vod:asset:stopExtractAudioTask

-

-

vod:asset:checkDuplication

-

GET /v1.0/{project_id}/asset/duplication

vod:asset:checkDuplication

-

-

vod:domain:updateIpv6Config

-

-

vod:domain:modifyHttpsSetting

  • scm:cert:export
  • scm:cert:get

POST /v1.0/{project_id}/asset/status/uploaded

vod:asset:upload

-

-

vod:asset:upload

-

POST /v1.0/{project_id}/watermark/status/uploaded

vod:watermarkTemplate:create

-

POST /v1.0/{project_id}/asset

vod:asset:upload

-

POST /v1.0/{project_id}/asset/category

vod:category:create

-

POST /v1.0/{project_id}/asset/process

vod:asset:createProcessTask

-

POST /v1.0/{project_id}/asset/review

vod:asset:review

-

-

vod:category:create

-

-

vod:domain:create

eps:enterpriseProjects:list

-

vod:domain:modifyUrlAuthGuard

-

-

vod:drm-template:create

-

POST /v1.0/{project_id}/asset/extract_audio

vod:asset:createExtractAudioTask

-

-

vod:increment:create

  • obs:bucket:getBucketPolicy
  • obs:bucket:listBucket

-

vod:packagingConfigurations:create

-

-

vod:packagingGroup:create

-

POST /v1.0/{project_id}/asset/preheating

vod:asset:preheat

-

-

vod:reviewTemplate:create

-

-

vod:storagePolicy:create

-

-

vod:templateGroup:create

-

POST /v1.0/{project_id}/asset/template-collection/transcodings

vod:templateCollection:create

-

POST /v2/{project_id}/asset/template/transcodings

vod:templateGroup:create

-

POST /v1.0/{project_id}/template/watermark

vod:watermarkTemplate:create

-

-

vod:workflow:create

-

DELETE /v1.0/{project_id}/asset/category

vod:category:delete

-

-

vod:asset:deleteProcessTask

-

DELETE /v1.0/{project_id}/asset

vod:asset:delete

-

-

vod:category:delete

-

-

vod:domain:delete

-

-

vod:drm-template:delete

-

-

vod:asset:stopExtractAudioTask

-

-

vod:increment:delete

obs:bucket:putBucketNotification

-

vod:packagingConfigurations:delete

-

-

vod:packagingGroup:delete

-

-

vod:reviewTemplate:delete

-

-

vod:storagePolicy:delete

-

-

vod:templateGroup:delete

-

DELETE /v1.0/{project_id}/asset/template-collection/transcodings

vod:templateCollection:delete

-

DELETE /v1/{project_id}/asset/transcode-product

vod:asset:deleteTranscodeProduct

-

DELETE /v2/{project_id}/asset/template/transcodings

vod:templateGroup:delete

-

-

vod:asset:deleteUploadTaskByUrl

-

DELETE /v1.0/{project_id}/template/watermark

vod:watermarkTemplate:delete

-

-

vod:workflow:delete

-

-

vod:domain:disable

-

-

vod:domain:enable

-

-

vod:watermark:create

-

-

vod:asset:createExtractAudioTask

-

-

vod:log:getDailySummary

-

-

vod:asset:listAuthUrl

-

-

vod:asset:listAuthUrl

-

-

vod:asset:getCiphers

-

-

vod:drm-template:list

-

-

vod:encryptionConfigurations:get

-

GET /v1.0/{project_id}/asset/category

vod:category:list

-

GET /v1/{project_id}/asset/daily-summary

vod:log:getDailySummary

-

GET /v1.0/{project_id}/asset/list

vod:asset:list

-

GET /v1/{project_id}/asset/tasks

vod:asset:getTaskInfo

-

GET /v2/{project_id}/asset/categories

vod:category:list

-

GET /v1.0/{project_id}/vod/cdn/logs

vod:log:get

-

-

vod:storagePolicy:list

-

-

vod:templateGroup:list

-

GET /v1.0/{project_id}/asset/template-collection/transcodings

vod:templateCollection:list

-

GET /v1.0/{project_id}/asset/top-statistics

vod:statistics:get

-

GET /v2/{project_id}/asset/template/transcodings

vod:templateGroup:list

-

GET /v1.0/{project_id}/template/watermark

vod:watermarkTemplate:list

-

-

vod:category:update

-

-

vod:domain:update

-

-

vod:increment:update

  • obs:bucket:getBucketPolicy
  • obs:bucket:listBucket

-

vod:domain:modifyRefererGuard

-

PUT /v1/{project_id}/asset/subtitles

vod:subtitles:update

-

-

vod:workflow:update

-

-

vod:notification:update

-

-

vod:asset:createPackagingRelation

-

-

vod:asset:preheat

-

-

vod:asset:createProcessTask

-

POST /v1.0/{project_id}/asset/reproduction

vod:asset:publishFromObs

  • obs:bucket:getBucketAcl
  • obs:bucket:putBucketAcl

POST /v1.0/{project_id}/asset/status/publish

vod:asset:publish

-

-

vod:bucket:list

  • obs:bucket:getBucketPolicy
  • obs:bucket:listBucket

-

vod:object:list

obs:object:getObject

-

vod:asset:getDetails

-

-

vod:asset:list

-

-

vod:asset:getInfo

-

-

vod:asset:upload

-

-

vod:category:list

-

-

vod:cdnBill:get

-

-

vod:statistics:get

-

-

vod:statistics:get

-

-

vod:domain:list

eps:enterpriseProjects:list

-

vod:domain:getUrlAuthGuard

-

-

vod:log:get

-

-

vod:enterpriseProject:list

eps:enterpriseProjects:list

-

vod:increment:get

obs:bucket:listBucket

-

vod:domain:getHttpsSetting

-

-

vod:notification:get

-

-

vod:notification:get

-

-

vod:packagingConfigurations:list

-

-

vod:packagingConfigurations:get

-

-

vod:packagingGroup:list

-

-

vod:asset:getPreheatTask

-

-

vod:domain:getRefererGuard

-

-

vod:asset:list

-

-

vod:asset:unpublish

-

-

vod:reviewTemplate:list

-

-

vod:asset:getShieldInfo

-

-

vod:stock:getAssetInfo

-

-

vod:stock:list

-

-

vod:stock:get

-

-

vod:templateGroup:list

-

-

vod:statistics:get

-

-

vod:asset:getUploadTaskByUrl

-

-

vod:statistics:get

-

-

vod:statistics:get

-

-

vod:watermarkTemplate:list

-

-

vod:watermarkTemplate:list

-

-

vod:workflow:get

-

-

vod:workflow:list

-

-

vod:workflowTask:getDetails

-

-

vod:workflowTask:list

-

POST /v1/{project_id}/asset/refresh

vod:asset:createRefreshTask

-

-

vod:asset:retrievalUploadTaskByUrl

-

-

vod:cdnBill:update

-

-

vod:encryptionConfigurations:update

-

-

vod:tenantInfo:update

-

-

vod:asset:shield

-

GET /v1.0/{project_id}/asset/ciphers

vod:asset:getCiphers

-

GET /v1.0/{project_id}/asset/details

vod:asset:getDetails

-

GET /v1.0/{project_id}/asset/info

vod:asset:getInfo

-

GET /v1.1/{project_id}/asset/authority

vod:asset:upload

-

GET /v1.0/{project_id}/asset/cdn-statistics

vod:statistics:get

-

-

vod:domain:getHttpsSetting

scm:cert:list

-

vod:domain:getIpv6Config

-

GET /v1.0/{project_id}/asset/preheating

vod:asset:getPreheatTask

-

GET /v1/{project_id}/asset/refresh

vod:asset:getRefreshTask

-

GET /v1/{project_id}/asset/storage-mode-type

vod:storageModeType:get

-

GET /v1/{project_id}/asset/vod-retrieval

vod:statistics:get

-

GET /v1.0/{project_id}/asset/vod-statistics

vod:statistics:get

-

-

vod:workflowTask:create

-

-

vod:asset:stopUploadTaskByUrl

-

-

vod:subtitles:update

-

POST /v1.0/{project_id}/asset/status/unpublish

vod:asset:unpublish

-

PUT /v1.0/{project_id}/asset

vod:asset:update

-

PUT /v1.0/{project_id}/asset/category

vod:category:update

-

PUT /v1.0/{project_id}/asset/info

vod:asset:modifyInfo

-

PUT /v1.0/{project_id}/asset/authority

vod:bucket:authority

  • obs:bucket:deleteBucketPolicy
  • obs:bucket:getBucketPolicy
  • obs:bucket:putBucketPolicy

PUT /v1.0/{project_id}/asset/cover

vod:asset:update

-

-

vod:packagingGroup:update

-

-

vod:reviewTemplate:update

-

PUT /v1/{project_id}/asset/storage-mode

vod:asset:updateStorageMode

-

PUT /v1/{project_id}/asset/storage-mode-type

vod:storageModeType:update

-

-

vod:storagePolicy:update

-

-

vod:templateGroup:update

-

PUT /v1.0/{project_id}/asset/template-collection/transcodings

vod:templateCollection:update

-

PUT /v2/{project_id}/asset/template/transcodings

vod:templateGroup:update

-

-

vod:watermarkTemplate:update

-

PUT /v1.0/{project_id}/template/watermark

vod:watermarkTemplate:update

-

-

vod:asset:update

-

POST /v1.0/{project_id}/asset/upload_by_url

vod:asset:createUploadTaskByUrl

  • obs:bucket:getBucketAcl
  • obs:bucket:putBucketAcl

-

vod:asset:upload

-

资源类型(Resource)

资源类型(Resource)表示身份策略所作用的资源。如表3中的某些操作指定了可以在该操作指定的资源类型,则必须在具有该操作的身份策略语句中指定该资源的URN,身份策略仅作用于此资源;如未指定,Resource默认为“*”,则身份策略将应用到所有资源。您也可以在身份策略中设置条件,从而指定资源类型。

VOD定义了以下可以在自定义身份策略的Resource元素中使用的资源类型。

表3 VOD支持的资源类型

资源类型

URN

vod

vod:<region>:<account-id>:assets:<asset-id>

条件(Condition)

条件键概述

条件(Condition)是身份策略生效的特定条件,包括条件键运算符

  • 条件键表示身份策略语句的Condition元素中的键值。根据适用范围,分为全局级条件键和服务级条件键。
    • 全局级条件键(前缀为g:)适用于所有操作,在鉴权过程中,云服务不需要提供用户身份信息,系统将自动获取并鉴权。详情请参见:全局条件键
    • 服务级条件键(前缀通常为服务缩写,如vod:)仅适用于对应服务的操作,详情请参见表4
    • 单值/多值表示API调用时请求中与条件关联的值数。单值条件键在API调用时的请求中最多包含一个值,多值条件键在API调用时请求可以包含多个值。例如:g:SourceVpce是单值条件键,表示仅允许通过某个VPC终端节点发起请求访问某资源,一个请求最多包含一个VPC终端节点ID值。g:TagKeys是多值条件键,表示请求中携带的所有标签的key组成的列表,当用户在调用API请求时传入标签可以传入多个值。
  • 运算符与条件键、条件值一起构成完整的条件判断语句,当请求信息满足该条件时,身份策略才能生效。支持的运算符请参见:运算符

VOD支持的服务级条件键

VOD定义了以下可以在自定义身份策略的Condition元素中使用的条件键,您可以使用这些条件键进一步细化身份策略语句应用的条件。

表4 VOD支持的服务级条件键

服务级条件键

类型

单值/多值

说明

vod:AssetLabel

string

多值

按照资源绑定标签值筛选访问权限。