视频直播会对每一次发起操作请求的用户身份进行验证,通过AccessKey验证该账号是否拥有相应的权限。视频直播支持主账号AK和RAM用户AK,本文为您介绍这两种方式和对比,以及阿里云提供的系统授权策略和自定义授权策略。
简介
您可以使用视频直播服务提供的API接口或SDK访问视频直播服务。视频直播会针对每一次发起的请求,根据当前的操作验证用户身份,验证该账号是否拥有相应的权限,验证用户身份都需要使用AccessKey。
通过阿里云访问控制服务(RAM),可为RAM用户授予相关权限,以达到RAM用户在授权范围使用视频直播控制台的目的。
访问控制基本概念
访问控制(RAM)
RAM(Resource Access Management)是阿里云提供的用户身份管理与资源访问控制服务。更多信息,请参见什么是访问控制。
说明RAM服务提供的权限的分割和管理,而并非资源本身的隔离,也就是RAM用户从属于主账号,并且这些RAM用户下不能拥有实际的任何资源,所有资源都属于主账号。
阿里云账号(主账号)
阿里云账号(主账号)是阿里云资源归属、资源使用计量计费的基本主体。阿里云账号为其名下所拥有的资源付费,并对其名下所有资源拥有完全控制权限。
RAM用户
根据阿里云的主账号创建的RAM用户,每个RAM用户拥有自己AccessKey,可以和阿里云主账号一样正常的完成有权限的操作。一般来说,这里的RAM用户可以理解为具有某种权限的用户,可以被认为是一个具有某些权限的操作发起者。
授权策略(RAM Policy)
授权策略使用语法结构描述一组权限,它可以精确地描述被授权的资源集、操作集以及授权条件。通过设置权限策略,并给用户或用户组附加授权,就可以精确控制用户访问您名下哪些资源或服务的权限,比如限制您的用户只拥有上传、播放或审核权限。
访问密钥(AccessKey)
AccessKey(简称AK),包括访问身份验证中用到的AccessKey ID和AccessKey Secret。视频直播通过使用AccessKey ID和AccessKey Secret对称加密的方法,来验证某个请求的发送者身份。
AccessKey ID:用于标识用户。
AccessKey Secret:用户用于加密签名字符串,以及视频直播用来验证签名字符串的密钥,AccessKey Secret必须保密。
说明AccessKey Secret只在创建时显示,不支持查询,请妥善保管。
AK对:指AccessKey ID和AccessKey Secret。
更多关于访问控制的概念,请参见访问控制基本概念。
不同验证方式及对比
目前访问视频直播使用的AK有如下2种类型:
主账号AK
主账号AK特指视频直播开通者(即阿里云网站注册的账号)的AK,每个阿里云主账号提供的AK对拥有的资源有完全的权限。每个阿里云主账号能够同时拥有不超过5个启用或者禁用 AK对。您可以登录RAM访问控制台,申请新增或删除AK对。每个AK对都有启用和禁用两种状态,只有启用的AK对才能在身份验证时使用。
警告由于主账号AK有完全的权限,一旦泄露风险巨大,不建议使用其访问视频直播服务。
RAM用户AK
RAM是阿里云提供的资源访问控制服务。RAM用户AK指的是通过RAM被授权的AK。这组AK只能按照RAM定义的规则去访问视频直播的资源。通过RAM,您可以集中管理您的用户(比如员工、系统或应用程序),以及控制用户可以访问您名下哪些资源的权限。比如能够限制您的用户只拥有视频播放权限。RAM用户从属于主账号,并且这些账号下不能拥有实际的任何资源,所有资源都属于主账号。
您可以登录RAM访问控制台创建RAM用户,获取AK,并授予相应权限。具体操作,请参见创建RAM用户并授权。
不同验证方式的对比
验证方式 | 风险 | 权限 | 时效 | 适用场景 |
主账号AK | 极大 | 管理和操作视频直播所有资源的权限 | 启用后一直有效 | 超级管理员进行操作。不建议在程序里使用,尤其不要放到客户端。 |
RAM用户AK | 较小 | 根据授权策略获得相应的权限 | 启用后一直有效 | 授权进行具体的管理等操作。可准备多个RAM用户,如遇AK泄露(人员离职等)需要更换;建议在服务端使用。 |
授权策略
使用授权策略,可对RAM用户进行方便、精确的授权。阿里云提供了系统授权策略和自定义授权策略两种方式。
系统授权策略
使用视频直播涉及到如下三种系统授权策略。
策略名称
说明
操作权限
AliyunLiveFullAccess
管理视频直播(Live)的权限
视频直播所有控制台操作和API
AliyunLiveReadOnlyAccess
只读访问视频直播的权限
视频直播所有读取类操作和API,如以Describe开头的接口
AliyunMTSFullAccess
管理媒体转码服务(MTS)的权限
媒体转码服务所有控制台操作和API
自定义授权策略
如果系统策略无法满足您的需求,您可以通过创建自定义策略实现精细化权限管理,更多信息和具体操作,请参见自定义授权。
常用授权
此处介绍一些视频直播常用的授权操作。
若创建的RAM账号需要使用直播服务,需要授权系统内置AliyunLiveFullAccess授权策略或进行自定义授权。
若要将视频直播的录制文件和截图文件保存到用户OSS的Bucket中,需要对直播服务Live授权访问OSS,使用的是AliyunMTSDefaultRole角色。去授权。
说明正常情况下,开通直播服务时,您已自动授权“允许直播服务写入用户OSS”,因此直播录制写入您指定的bucket时不存在权限问题。如果该权限意外被删除,可以再次进行授权操作。
需要通过视频直播API或控制台删除存储在OSS中的截图文件时,需要创建服务角色AliyunMTSVideoLifecycleRole,并精确授权AliyunMTSVideoLifecycleRolePolicy系统策略。具体操作,可参见在视频直播控制台删除截图。
需要通过视频直播API或控制台删除存储在OSS中的录制文件时,需要创建服务角色AliyunMTSVideoLifecycleRole,并精确授权AliyunMTSVideoLifecycleRolePolicy系统策略。具体操作,可参见在视频直播控制台删除录制文件。