更新时间:2025-09-26 GMT+08:00
分享

媒体处理服务 MPC

云服务在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。
    • 资源类型列中必需资源在表中用星号(*)标识,表示使用此操作必须指定该资源类型。

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

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

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

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

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

表1 MPC支持的授权项

授权项

描述

访问级别

资源类型(*为必须)

条件键

别名

mpc:transcodeTemplate:create

授予创建转码模板的权限。

Write

-

-

-

mpc:transcodeTemplate:update

授予更新转码模板的权限。

Write

-

-

-

mpc:transcodeTemplate:delete

授予删除转码模板的权限。

Write

-

-

-

mpc:transcodeTemplate:view

授予查看转码模板的权限。

List

-

-

-

mpc:templateGroup:create

授予创建转码模板组的权限。

Write

-

-

-

mpc:templateGroup:view

授予查看多个转码模板组的权限。

Write

-

-

-

mpc:templateGroup:update

授予更新转码模板组的权限。

Write

-

-

-

mpc:templateGroup:delete

授予删除转码模板组的权限。

Write

-

-

-

mpc:watermarkTempate:create

授予创建水印模板的权限。

Write

-

-

-

mpc:watermarkTempate:update

授予更新水印模板的权限。

Write

-

-

-

mpc:watermarkTempate:delete

授予删除水印模板的权限。

Write

-

-

-

mpc:watermarkTempate:view

授予查看水印模板的权限。

List

-

-

-

mpc:transcodeTask:create

授予创建转码任务的权限。

Write

-

-

-

mpc:transcodeTask:delete

授予取消已下发的转码任务的权限。

Write

-

-

-

mpc:transcodeTask:view

授予查询转码任务的权限。

Read

-

-

-

mpc:transcodeTask:deleteRecord

授予删除状态为“已取消”的任务记录的权限。

Write

-

-

-

mpc:transcodeTask:viewSummaryStatistics

授予查询多个转码任务的统计概览信息的权限。

List

-

-

-

mpc:remuxTsk:create

授予创建转封装任务的权限。

Write

-

-

-

mpc:remuxTsk:retry

授予重试转封装任务的权限。

Write

-

-

-

mpc:remuxTsk:view

授予查询多个转封装任务状态的权限。

List

-

-

-

mpc:remuxTsk:delete

授予取消排队中的转封装任务的权限。

Write

-

-

-

mpc:remuxTsk:deleteRecord

授予删除状态为已取消的转封装任务记录的权限。

Write

-

-

-

mpc:animatedGraphicsTask:create

授予新建转动图任务的权限。

Write

-

-

-

mpc:animatedGraphicsTask:view

授予查询多个动图任务状态的权限。

List

-

-

-

mpc:animatedGraphicsTask:delete

授予取消转动图任务的权限。

Write

-

-

-

mpc:extracTask:create

授予创建解析任务的权限。

Write

-

-

-

mpc:extracTask:view

授予查询媒体解析任务的权限。

List

-

-

-

mpc:extracTask:delete

授予取消视频解析任务,仅支持取消排队中的任务的权限。

Write

-

-

-

mpc:thumbnailsTask:view

授予查询截图任务的权限。

List

-

-

-

mpc:thumbnailsTask:delete

授予取消截图任务的权限。

Write

-

-

-

mpc:notification:config

授予配置转码服务事件通知的权限。

Write

-

-

-

mpc:notification:view

授予查询转码服务端事件通知的权限。

List

-

-

-

mpc:notifyEvent:view

授予查询通知事件的权限。

List

-

-

-

mpc:bucket:view

授予查询桶列表的权限。

List

-

-

-

mpc:bucket:updateAuthorized

授予更新桶授权或取消授权的权限。

Write

-

-

-

mpc:bucketObject:view

授予查询桶里的object的权限。

List

-

-

-

mpc:ageniesTask:create

授予开启或关闭委托授权的权限。

Write

-

-

-

mpc:ageniesTask:view

授予查询创建委托任务状态的权限。

Read

-

-

-

mpc:encryptTask:create

授予新建独立加密任务的权限。

Write

-

-

-

mpc:encryptTask:delete

授予取消加密任务的权限。

Write

-

-

-

mpc:encryptTask:view

授予查看加密任务的权限。

List

-

-

-

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

表2 API与授权项的关系

API

对应的授权项

依赖的授权项

POST /v1/{project_id}/template/transcodings

mpc:transcodeTemplate:create

-

PUT /v1/{project_id}/template/transcodings

mpc:transcodeTemplate:update

-

DELETE /v1/{project_id}/template/transcodings

mpc:transcodeTemplate:delete

-

GET /v1/{project_id}/template/transcodings

mpc:transcodeTemplate:view

-

POST /v1/{project_id}/template_group/transcodings

mpc:templateGroup:create

-

GET /v1/{project_id}/template_group/transcodings

mpc:templateGroup:view

-

PUT /v1/{project_id}/template_group/transcodings

mpc:templateGroup:update

-

DELETE /v1/{project_id}/template_group/transcodings

mpc:templateGroup:delete

-

POST /v1/{project_id}/template/watermark

mpc:watermarkTempate:create

-

PUT /v1/{project_id}/template/watermark

mpc:watermarkTempate:update

-

DELETE /v1/{project_id}/template/watermark

mpc:watermarkTempate:delete

-

GET /v1/{project_id}/template/watermark

mpc:watermarkTempate:view

-

POST /v1/{project_id}/transcodings

mpc:transcodeTask:create

-

DELETE /v1/{project_id}/transcodings

mpc:transcodeTask:delete

-

GET /v1/{project_id}/transcodings

mpc:transcodeTask:view

-

DELETE /v1/{project_id}/transcodings/task

mpc:transcodeTask:deleteRecord

-

GET /v1/{project_id}/transcodings/summaries

mpc:transcodeTask:viewSummaryStatistics

-

POST /v1/{project_id}/remux

mpc:remuxTsk:create

-

PUT /v1/{project_id}/remux

mpc:remuxTsk:retry

-

GET /v1/{project_id}/remux

mpc:remuxTsk:view

-

DELETE /v1/{project_id}/remux

mpc:remuxTsk:delete

-

DELETE /v1/{project_id}/remux/task

mpc:remuxTsk:deleteRecord

-

POST /v1/{project_id}/animated-graphics

mpc:animatedGraphicsTask:create

-

GET /v1/{project_id}/animated-graphics

mpc:animatedGraphicsTask:view

-

DELETE /v1/{project_id}/animated-graphics

mpc:animatedGraphicsTask:delete

-

POST /v1/{project_id}/extract-metadata

mpc:extracTask:create

-

GET /v1/{project_id}/extract-metadata

mpc:extracTask:view

-

DELETE /v1/{project_id}/extract-metadata

mpc:extracTask:delete

-

POST /v1/{project_id}/thumbnails

mpc:thumbnailsTask:create

-

GET /v1/{project_id}/thumbnails

mpc:thumbnailsTask:view

-

DELETE /v1/{project_id}/thumbnails

mpc:thumbnailsTask:delete

-

PUT /v1/{project_id}/notification

mpc:notification:config

-

GET /v1/{project_id}/notification

mpc:notification:view

-

GET /v1/{project_id}/notification/event

mpc:notifyEvent:view

-

GET /v1/{project_id}/buckets

mpc:bucket:view

-

PUT /v1/{project_id}/authority

mpc:bucket:updateAuthorized

-

GET /v1.0-ext/{project_id}/objects

mpc:bucketObject:view

-

POST /v1/{project_id}/agencies

mpc:ageniesTask:create

-

GET /v1/{project_id}/agencies

mpc:ageniesTask:view

-

POST /v1/{project_id}/encryptions

mpc:encryptTask:create

-

DELETE /v1/{project_id}/encryptions

mpc:encryptTask:delete

-

GET /v1/{project_id}/encryptions

mpc:encryptTask:view

-

资源类型(Resource)

MPC服务不支持在身份策略中的资源中指定资源进行权限控制。如需允许访问MPC服务,请在身份策略的Resource元素中使用通配符号*,表示身份策略将应用到所有资源。

条件(Condition)

MPC服务不支持在身份策略中的条件键中配置服务级的条件键。MPC可以使用适用于所有服务的全局条件键,请参考全局条件键

相关文档