概述

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

视频点播会对每一次发起操作请求的用户身份进行验证,通过AccessKey验证该账号是否拥有相应的权限。视频点播支持主账号AK、RAM用户AK和STS临时AK,本文为您介绍这三种方式和对比,以及阿里云提供的系统授权策略。

账号权限验证

您可以使用视频点播(VOD)提供的API接口或SDK(包括接口、上传、播放和短视频SDK)开发包访问VOD。

VOD会针对每一次发起的请求,根据当前的操作验证用户身份,验证该账号是否拥有相应的权限。验证用户身份都需要使用AccessKey。

基本概念

  • 访问控制(RAM)

    RAM(Resource Access Management)是阿里云提供的用户身份管理与资源访问控制服务。更多信息,请参见什么是访问控制

    说明

    RAM服务提供的权限的分割和管理,而并非资源本身的隔离,也就是RAM用户从属于主账号,并且这些子账号下不能拥有实际的任何资源,所有资源都属于主账号。如果想要进行资源隔离,可配合使用点播多应用体系,更多信息,请参见多应用体系概述

  • 阿里云账号

    阿里云账号是阿里云资源归属、资源使用计量计费的基本主体。阿里云账号为其名下所拥有的资源付费,并对其名下所有资源拥有完全控制权限。

  • RAM用户

    根据阿里云的主账号创建的RAM用户,每个RAM用户拥有自己AccessKey,可以和阿里云主账号一样正常的完成有权限的操作。一般来说,这里的RAM用户可以理解为具有某种权限的用户,可以被认为是一个具有某些权限的操作发起者。

  • 角色(Role)

    表示某种操作权限的虚拟概念,但是没有独立的登录密码和AccessKey。RAM用户可以扮演角色,扮演角色的时候的权限是该角色自身的权限。

    说明

    RAM用户和角色可以类比为个人和其身份的关系:某人在公司的角色是员工,在家里的角色是父亲,在不同的场景扮演不同的角色,但是还是同一个人。在扮演不同的角色的时候也就拥有对应角色的权限。单独的员工或者父亲概念并不能作为一个操作的实体,只有有人扮演了之后才是一个完整的概念。

    这里还可以体现一个重要的概念,那就是角色可以被多个不同的个人同时扮演。完成角色扮演之后,该个人就自动拥有该角色的所有权限。

  • 授权策略(RAM Policy)

    授权策略使用语法结构描述一组权限,它可以精确地描述被授权的资源集、操作集以及授权条件。通过设置权限策略,并给用户或用户组附加授权,就可以精确控制用户访问您名下哪些资源或服务的权限,比如限制您的用户只拥有上传、播放或审核权限。

更多关于访问控制的概念,请参见基本概念

AccessKey(访问密钥)

AccessKey(简称AK),包括访问身份验证中用到的AccessKey ID和AccessKey Secret。VOD通过使用AccessKey ID和AccessKey Secret对称加密的方法,来验证某个请求的发送者身份。

  • AccessKey ID:用于标识用户。

  • AccessKey Secret:用户用于加密签名字符串,以及VOD用来验证签名字符串的密钥,AccessKey Secret必须保密。

  • AK对:指AccessKey ID和AccessKey Secret。

目前访问VOD使用的AK有如下3种类型:

  • 主账号AK

    主账号AK特指VOD开通者(即阿里云网站注册的账号)的AK,每个阿里云主账号提供的AK对拥有的资源有完全的权限。每个阿里云主账号能够同时拥有不超过5个启用或者禁用 AK对。

    您可以登录AccessKey管理控制台,申请新增或删除AK对。每个AK对都有启用/禁用两种状态,只有启用的AK对才能在身份验证时使用。

    警告

    由于主账号AK对拥有的资源有完全的权限,一旦泄露,将存在巨大的安全风险或造成资损。不建议使用主账号AK访问VOD服务。

  • RAM用户AK

    RAM是阿里云提供的资源访问控制服务。RAM用户AK指的是通过RAM被授权的AK。这组AK只能按照RAM定义的规则去访问VOD的资源。通过RAM,您可以集中管理您的用户(比如员工、系统或应用程序),以及控制用户可以访问您名下哪些资源的权限。比如能够限制您的用户只拥有视频播放权限。RAM用户从属于主账号,并且这些账号下不能拥有实际的任何资源,所有资源都属于主账号。

    您可以登录RAM访问控制台创建RAM用户,获取AK,并授予相应权限。

    警告

    您需要根据实际需求授予RAM用户相应权限,防止过度授权而引发的安全风险。关于更细粒度的授权策略配置详情,请参见创建自定义权限策略

  • STS临时AK

    STS(Security Token Service)是阿里云提供的临时访问凭证服务。STS临时AK指的是通过STS颁发的带时效性AK。这组AK只能按照STS定义的规则去访问VOD的资源,且会定期失效。

不同验证方式的对比

验证方式

风险

权限

时效

适用场景

主账号AK

极大

管理和操作VOD所有资源的权限

启用后一直有效

超级管理员进行操作,不建议在程序里使用,尤其不要放到客户端。

RAM用户AK

较大

根据授权策略获得相应的权限

启用后一直有效

授权进行具体的上传、播放、管理等操作,可准备多个子账号,如遇AK泄露(人员离职等)需要更换;建议在服务端使用。

STS临时AK

安全

根据授权策略获得相应的权限

自定义过期时间

移动端或Web端使用,需要自己部署服务端生成STS临时AK,要处理好临时AK失效的情况。

除了以上三种验证方式,还可以使用上传凭证、播放凭证解决媒体上传和播放过程中的授权和安全问题。凭证方式与STS方式的对比,请参见上传(播放)凭证和STS方式对比

视频点播系统授权策略

VOD提供了四种系统授权策略,可对RAM用户或STS账号进行方便、精确的授权。

策略名称

说明

操作权限

AliyunVODFullAccess

管理和操作VOD所有资源的权限

VOD所有API

AliyunVODReadOnlyAccess

只读访问VOD所有资源的权限

VOD所有读取类API,如以Get、Describe、Search、List开头的接口

AliyunVODPlayAuth

使用VOD播放视频的权限,包括使用播放器SDK或播放相关的API

播放API:

AliyunVODUploadAuth

使用VOD上传的权限,包括使用上传SDK或上传相关的API

上传API:

其他关联云产品授权策略

根据您的业务需要,您还可以对RAM用户或STS账号进行授予下面的业务关联权限。

策略名称

说明

操作权限

AliyunOSSFullAccess

管理对象存储服务(OSS)权限

操作VOD存储相关内容,需要该权限。

AliyunMNSFullAccess

管理轻量消息队列(原 MNS)的权限

使用VOD消息回调功能时,需要该权限。

AliyunKMSFullAccess

管理密钥管理服务(KMS)的权限

使用VOD标准加密、私有加密功能时,需要该权限。

AliyunCDNFullAccess

管理CDN的权限

使用点播CDN相关功能时,需要该权限。