ApsaraVideo for VOD會對每一次發起操作請求的使用者身份進行驗證,通過AccessKey驗證該帳號是否擁有相應的許可權。ApsaraVideo for VOD支援主帳號AK、RAM使用者AK和STS臨時AK,本文為您介紹這三種方式和對比,以及阿里雲提供的系統授權策略。
帳號許可權驗證
您可以使用ApsaraVideo for VOD(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方式對比。
ApsaraVideo for VOD系統授權策略
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 | 管理Object Storage Service服務(OSS)許可權 | 操作VOD儲存相關內容,需要該許可權。 |
AliyunMNSFullAccess | 管理Simple Message Queue (formerly MNS)的許可權 | 使用VOD訊息回調功能時,需要該許可權。 |
AliyunKMSFullAccess | 管理Key Management Service(KMS)的許可權 | 使用VOD標準加密、私人加密功能時,需要該許可權。 |
AliyunCDNFullAccess | 管理CDN的許可權 | 使用點播CDN相關功能時,需要該許可權。 |