媒体转码自定义权限配置

如果系统权限策略无法满足您的需求,您可以创建自定义权限策略以实现最小授权。使用自定义权限策略有助于实现权限的精细化管理,是提升资源访问安全性的有效手段。本文将为您介绍使用IMM在媒体转码过程中使用自定义权限策略的场景与示例。

自定义项目服务角色权限

在创建IMM项目时,需要为项目设置服务角色,以便IMM服务能够以该角色访问您已授权的其他云资源,例如阿里云对象存储(OSS)。

创建自定义服务角色

  1. 创建普通服务角色具体操作,请参见创建可信实体为阿里云服务的RAM角色

  2. 创建自定义策略。更多信息,请参见创建自定义权限策略

    进行媒体转码所需的服务角色权限如下:

    • 媒体转码需要从OSS Bucket中读取源文件,并将转换后的文件存储回OSS Bucket。因此,必须具备对OSS Bucket的读取和写入权限。

    • 如需使用MNS接收任务消息,必须具备MNS发消息的权限。

    • 允许IMM服务以该角色访问您已授权的其他云资源,例如OSSMNS。

  3. 为服务角色授权。具体操作,请参见RAM角色授权

自定义服务角色权限策略示例

仅允许对指定的OSS Bucket进行文件的读取和写入操作

RAM Policy将允许读取和写入名称为my-bucketBucket,可以向上海地域名称为test-topic的主题发布MNS消息。

示例参数说明

OSS Resource格式为:acs:oss:*:*:<BucketName>/*,配置时请根据实际参数进行替换,相关参数说明如下:

参数

说明

BucketName

OSS Bucket名称,可以在OSS控制台Bucket列表查看。

MNS Resource格式为:acs:mns:<RegionId>:<UID>:/topics/<TopicName>/messages,配置时请根据实际参数进行替换,相关参数说明如下所示:

参数

说明

RegionId

地域ID,例如cn-shanghaicn-beijing,地域对应的RegionId可以在服务接入点中查看。

UID

账号ID,可以在账号中心概览中查看。

TopicName

MNS主题名称,可以在MNS控制台主题列表查看。

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "oss:GetObject",
                "oss:PutObject"
            ],
            "Resource": "acs:oss:*:*:my-bucket/*",
            "Effect": "Allow"
        },
        {
            "Action":"mns:PublishMessage",
            "Resource": "acs:mns:cn-shanghai:150910xxxxxxxxxx:/topics/test-topic/messages",
            "Effect": "Allow"
        },
        {
            "Action": "ram:PassRole",
            "Resource": "*",
            "Effect": "Allow",
            "Condition": {
                "StringEquals": {
                    "acs:Service": "imm.aliyuncs.com"
                }
            }
        }
    ]
}

自定义调用IMMRAM用户权限

RAM提供了一种持久有效的权限控制机制,通过设立不同权限的RAM用户,将各类权限分配给不同用户。即使RAM用户的AccessKey发生泄露,也不会导致全局信息的泄露。

创建RAM用户并授权

  1. 创建RAM用户。具体操作,请参见创建RAM用户

  2. 创建自定义策略。更多信息,请参见创建自定义权限策略

    进行文档转换,RAM用户所需权限如下:

    • 需具备调用IMM服务CreateMediaConvertTask接口的权限。

    • 如需查询任务,必须具备调用IMM服务中ListTasksGetTask接口的权限。

    • 若需接收MNS消息,必须具备接收MNS消息及删除MNS消息的权限。

  3. RAM用户授权。具体操作,请参见RAM用户授权

自定义RAM用户权限策略示例

仅可使用指定项目调用IMM媒体转码及查询任务相关接口

RAM Policy将允许用户只能使用上海地域的项目video-convert-project调用智能媒体管理的CreateMediaConvertTask、ListTasks、GetTask接口。

示例参数说明

IMM Resource格式为:acs:imm:<RegionId>:<UID>:project/<ProjectName>,配置时请根据实际参数进行替换,相关参数的说明如下:

参数

说明

RegionId

地域ID,例如cn-shanghaicn-beijing,地域对应的RegionId可以在服务接入点中查看。

UID

账号ID,可以在账号中心概览中查看。

ProjectName

项目名称,IMM创建项目时指定的名称,可以在智能媒体控制台中查看。

MNS Resource格式为:acs:mns:<RegionId>:<UID>:/queues/<QueueName>/messages,配置时请根据实际参数进行替换,相关参数的说明如下:

参数

说明

RegionId

地域ID,例如cn-shanghaicn-beijing,地域对应的RegionId可以在服务接入点中查看。

UID

账号ID,可以在账号中心概览中查看。

QueueName

MNS队列名称,可以在MNS控制台队列列表查看。

{
    "Version": "1",
    "Statement": [
        {
            "Action": ["imm:CreateMediaConvertTask", "imm:ListTasks", "imm:GetTask"],
            "Resource": "acs:imm:cn-shanghai:150910xxxxxxxxxx:project/video-convert-project",
            "Effect": "Allow"
        },
        {
            "Action": ["mns:ReceiveMessage", "mns:DeleteMessage"],
            "Resource": "acs:mns:cn-shanghai:150910xxxxxxxxxx:/queues/test-queue/messages",
            "Effect": "Allow"
        }
    ]
}