全部產品
Search
文件中心

ApsaraVideo Live:自訂授權

更新時間:Oct 10, 2024

自訂授權可以滿足使用者個人化的授權策略需求,RAM控制台提供了可視化配置和指令碼配置兩種配置方式。本文為您介紹授權的基本概念、使用情境、基本步驟和授權的文法、樣本。

使用情境

由於系統策略的授權粒度比較粗,很多時候並不能滿足您的細粒度許可權控制的需求,此時可以基於RAM Policy實現自訂授權。

例如您的業務需要某一個RAM使用者只有查詢直播截圖配置的許可權,就可以通過自訂授權進行實現。

授權操作

此處我們將通過兩個樣本,介紹如何進行自訂授權。

樣本1,授權查詢直播截圖配置

如您現在業務需要給一個RAM使用者只授權查詢直播截圖配置的許可權,則可以參考以下5步進行實現:

  1. 進入建立權限原則頁面,選擇服務:媒體服務->ApsaraVideo for Live

  2. 展開讀操作列表,輸入DescribeLiveSnapshotConfig(查詢直播截圖配置介面)進行篩選,選中篩選結果。

  3. 點擊繼續編輯基本資料

  4. 輸入權限原則名稱,點擊確定。

  5. 建立RAM使用者並授權建立的權限原則,具體操作可參見建立RAM使用者並授權

完成之後通過建立的RAM使用者調用DescribeLiveSnapshotConfig介面,會返回正確的資料。調用其他的介面會提示使用者無許可權。

樣本2,授權查詢直播截圖配置(限制IP)

在樣本1中已經實現了對查詢直播截圖配置介面的許可權控制。若此時您還想在其基礎之上進行顆粒度更細的控制,例如限制IP,則可以參考以下5步進行實現:

  1. 進入權限原則列表頁面,查詢出在樣本1中建立的權限原則。

  2. 點擊權限原則名稱,進入權限原則詳情頁。

  3. 點擊修改策略內容進入修改頁,並選擇可視化編輯頁簽。

  4. 點擊條件選項,進行添加條件。條件鍵選擇acs:SourceIp,運算子選擇IpAddress,條件值輸入IP地址

  5. 點擊繼續編輯基本資料,之後點擊確定。

完成之後,只有調用介面的IP地址正確才會返回資料,否則會提示沒有許可權操作。

說明

若想瞭解更多自訂授權相關操作,可參見建立自訂權限原則

授權文法

細心的您可能已經發現,在操作授權的過程中,權限原則詳情頁中有一個策略內容頁簽對權限原則進行了描述。以樣本2為例,權限原則內容如下:

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "live:DescribeLiveSnapshotConfig",
            "Resource": "*",
            "Condition": {
                "IpAddress": {
                    "acs:SourceIp": [
                        "127.0.0.1"
                    ]
                }
            }
        }
    ]
}

參數解釋如下:

  • Version

    Version定義了Policy的版本,固定設定為1。

  • Statement

    通過Statement描述授權語義,其中可以根據業務情境包含多條語義,每條包含對Action、Effect、Resource 和 Condition的描述。每次請求,系統會逐條依次匹配檢查,所有匹配成功的Statement會根據Effect的設定不同分為通過(Allow)、禁止(Deny),其中禁止(Deny)的優先。如果匹配成功的都為通過,該條請求即鑒權通過。如果匹配成功有一條禁止,或者沒有任何條目匹配成功,該條請求被禁止訪問。

  • Effect

    Effect設定授權效果,授權效果包括兩種:允許(Allow)和拒絕(Deny)

  • Action

    直播支援的Action操作與API一一對應,格式為live:API名稱,如上面樣本的直播截圖配置介面操作:live:DescribeLiveSnapshotConfig,注意多個使用英文逗號分隔。通過指定授權的Action列表,就能組合出想要的許可權分組。

    所有可用操作,請參見API概覽

  • Resource

    Resource指代的是Live上面的某個具體的資源或者某些資源(支援萬用字元*),Resource的規則是acs:{ramCode}:{region}:{accountId}:{relative}。Resource也是一個列表,可以有多個Resource。其中ramCodeApsaraVideo for Live服務涉及三種:live,cdn,live-interaction。region欄位暫不支援,請設定為*。accountId為帳號ID。relative為具體資源,一般設定為*,部分介面支援具體資源控制。當然您也可以直接像以上樣本,將resource設定為*。

    說明

    通過權限原則可視化配置,會自動匹配介面對應的ramCode。

  • Condition

    Condition代表Policy授權的一些條件,對訪問來源等進行限制,為可選項。

    支援的條件如下:

    Condition

    功能

    合法取值

    acs:SourceIp

    指定 IP 位址或網段

    普通的IP,支援萬用字元*

    acs:SecureTransport

    是否是 HTTPS 協議

    true或者false

    acs:MFAPresent

    使用者登入時是否使用了多因素認證

    true或者false

    acs:CurrentTime

    指定合法的訪問時間(雲端接收到請求的時間)

    ISO8601格式,例如:2012-11-11T23:59:59Z

說明

若想瞭解更多權限原則的基本元素和文法結構,可參見權限原則基本元素權限原則文法和結構

指令碼編輯

在您瞭解授權文法之後,可能已經想到通過指令碼編輯來進行權限原則配置。例如我們在樣本2的基礎之上需要通過指令碼編輯增加一個127.0.0.2的IP,則可以參考以下5步通過指令碼編輯進行添加:

  1. 進入權限原則列表頁面,查詢出在樣本1中建立的權限原則。

  2. 點擊權限原則名稱,進入權限原則詳情頁。

  3. 點擊修改策略內容進入修改頁,並選擇指令碼編輯頁簽。

  4. 在acs:SourceIp內增加IP127.0.0.2。

  5. 點擊繼續編輯基本資料,之後點擊確定,便完成了IP地址添加。

完成之後,權限原則內容如下:

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "live:DescribeLiveSnapshotConfig",
            "Resource": "*",
            "Condition": {
                "IpAddress": {
                    "acs:SourceIp": [
                        "127.0.0.1",
                        "127.0.0.2"
                    ]
                }
            }
        }
    ]
}

版本管理

某些時候,我們在更新權限原則之後,因為一些原因,需要回退到之前的權限原則,就可以通過版本管理實現。具體操作:在權限原則詳情頁,選擇版本管理頁簽,對回退的目標版本進行設定目前的版本操作。

重要

一個權限原則,最多儲存5個版本。

進階使用

此時您已經瞭解了如何進行自訂授權,若現在有這樣一個業務情境:

  • 您對添加直播截圖配置介面進行許可權控制。

  • 只能對網域名稱A和網域名稱B進行操作。

針對此類授權需求,可通過資源控制參考以下6個步驟進行授權操作:

  1. 進入建立權限原則頁面,選擇服務:媒體服務->ApsaraVideo for Live

  2. 展開寫操作列表,輸入AddLiveAppSnapshotConfig(添加直播截圖配置介面)進行篩選,選中篩選結果。

  3. 在資源選項中,選擇指定資源,然後添加資源。帳號輸入*,資源輸入domainA。重複操作添加domainB。

  4. 點擊繼續編輯基本資料

  5. 輸入權限原則名稱,點擊確定。權限原則描述如下:

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "live:AddLiveAppSnapshotConfig",
                "Resource": [
                    "acs:cdn:*:*:domain/domainA",
                    "acs:cdn:*:*:domain/domainB"
                ]
            }
        ]
    }
  6. 對RAM使用者授權建立的權限原則。

完成操作之後,授權的RAM使用者只能對domainA與domainB兩個網域名稱進行添加直播截圖配置。

說明

因各介面支援的資源控制格式不盡相同,所以在進行顆粒度較細的許可權配置時,建議您通過可視化編輯進行配置。