Help Center/ Video On Demand/ API Reference/ Permissions and Supported Actions/ Actions Supported by Policy-based Authorization
Updated on 2025-11-26 GMT+08:00

Actions Supported by Policy-based Authorization

This section describes the VOD actions supported by policy-based authorization.

Supported Actions

xx (cloud service name) provides system-defined policies that can be directly used in IAM. You can also create custom policies to supplement system-defined policies for more refined access control. Operations supported by policies are specific to APIs. The following are common concepts related to policies:

  • Permissions: statements in a policy that allow or deny certain operations
  • APIs: REST APIs that can be called by a user who has been granted specific permissions.
  • Actions: specific operations that are allowed or denied in a custom policy.
  • Dependencies: actions which a specific action depends on. When allowing an action for a user, you also need to allow any existing action dependencies for that user.
  • IAM projects/Enterprise projects: the authorization scope of a custom policy. A custom policy can be applied to IAM projects or enterprise projects or both. Policies that contain actions for both IAM and enterprise projects can be used and applied for both IAM and Enterprise Management. Policies that contain actions only for IAM projects can be used and applied to IAM only. Administrators can check whether an action supports IAM projects or enterprise projects in the action list. For details about the differences between IAM and enterprise management, see Differences Between IAM and Enterprise Management.

    When assigning permissions to a user group in IAM, you cannot select Enterprise projects when setting Specify the authorization scope on the Select Scope page.

VOD supports the following actions that can be defined in custom policies.

Table 1 VOD actions that can be defined in custom policies

Permission

API

Action

IAM

(Project)

Enterprise Project

Uploading a media asset

POST /v1.0/{project_id}/asset

vod:asset:upload

×

Authorizing access to an OBS bucket

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

vod:bucket:authority

×

Dumping media assets to VOD

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

vod:asset:publishFromObs

×

Creating a URL pull task

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

vod:asset:createUploadTaskByUrl

×

Updating a video

PUT /v1.0/{project_id}/asset

vod:asset:update

×

Creating a media asset processing task

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

vod:asset:createProcessTask

×

Canceling a media asset processing task

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

vod:asset:deleteProcessTask

×

Creating an audio extraction task

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

vod:asset:createExtractAudioTask

×

Canceling an audio extraction task

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

vod:asset:stopExtractAudioTask

×

Reviewing a media asset

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

vod:asset:review

×

Deleting a media asset

DELETE /v1.0/{project_id}/asset

vod:asset:delete

×

Publishing a media asset

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

vod:asset:publish

×

Canceling media asset publish

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

vod:asset:unpublish

×

Querying media asset information

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

vod:asset:getInfo

×

Modifying a media asset attribute

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

vod:asset:modifyInfo

×

Querying media asset details

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

vod:asset:getDetails

×

Querying media assets

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

vod:asset:list

×

Creating a pre-loading task

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

vod:asset:preheat

×

Querying a pre-loading task

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

vod:asset:getPreheatTask

×

Creating a CDN cache refreshing task

POST /v1/{project_id}/asset/refresh

vod:asset:createRefreshTask

×

Querying CDN cache refreshing tasks

GET /v1/{project_id}/asset/refresh

vod:asset:getRefreshTask

×

Creating a media asset category

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

vod:category:create

×

Modifying a media asset category

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

vod:category:update

×

Deleting a media asset category

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

vod:category:delete

×

Querying media asset categories

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

vod:category:list

×

Querying media asset keys

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

vod:asset:getCiphers

×

Querying statistics

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

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

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

vod:statistics:get

×

Querying CDN logs

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

vod:log:get

×

Querying daily playback statistics

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

vod:log:getDailySummary

×

Creating a watermark template

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

vod:watermarkTemplate:create

×

Modifying a watermark template

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

vod:watermarkTemplate:update

×

Querying watermark templates

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

vod:watermarkTemplate:list

×

Deleting a watermark template

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

vod:watermarkTemplate:delete

×

Updating subtitles

PUT /v1/{project_id}/asset/subtitles

vod:subtitles:update

×

Creating a custom template group

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

vod:templateGroup:create

×

Querying custom template groups

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

vod:templateGroup:list

×

Modifying a custom template group

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

vod:templateGroup:update

×

Deleting a custom template group

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

vod:templateGroup:delete

×

Creating a transcoding template set

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

vod:templateCollection:create

×

Updating a transcoding template set

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

vod:templateCollection:update

×

Querying transcoding template sets

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

vod:templateCollection:list

×

Deleting a transcoding template set

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

vod:templateCollection:delete

×

Deleting multiple transcoded outputs

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

vod:asset:deleteTranscodeProduct

×

Updating the cold storage scope of a media asset

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

vod:storageModeType:update

×

Updating the media asset storage mode

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

vod:asset:updateStorageMode

×

Querying the cold storage scope of a media asset

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

vod:storageModeType:get

×