目前,阿里雲提供了多種系統授權策略可供使用者選擇使用。這些授權策略僅僅提供了粗粒度的存取控制能力,比如某個雲產品層級的唯讀許可權或所有許可權。

如果您有更細粒度的授權需求,比如授權使用者 bob 只能對 oss://samplebucket/bob/ 下的所有對象執行唯讀操作,而且限制 IP 來源必須為您的公司網路(可以通過搜尋引擎查詢“我的 IP”來獲知您的公司網路 IP 位址),那麼您可以通過建立自訂授權策略來進行存取控制。

本文以上述使用者 bob 為例,介紹了建立自訂授權策略的方法,協助您更好地理解和使用 RAM 進行精細粒度的存取控制。

日誌組的限制為:最大 4096 條日誌,或 10MB 空間。

前提條件

在建立自訂授權策略時,您需要瞭解授權策略語言的基本結構和文法,請參考Policy 文法結構

RAM 最細可以支援各產品 API 粒度的授權,即授權策略中的操作許可權可以精細到每個 API 操作。在建立自訂授權策略前,您需要瞭解有關產品所支援的授權粒度和授權方法,具體請參考支援 RAM 的雲端服務

操作步驟

  1. 在RAM控制台點擊左側導覽列中的策略管理。在策略管理頁面,可通過系統授權策略自訂授權策略子頁,分別查看已有的系統和自訂策略。
    图 1. 自訂授權策略


  2. 點擊建立授權策略,進入建立授權策略頁面。
  3. 選擇權限原則模板。
    说明 可以選擇空白模板,但推薦使用類似的已有系統策略作為模板進行編輯。此處以 AliyunOSSReadOnlyAccess (帳號下所有 OSS 資源的唯讀許可權)作為模板。
    图 2. 建立授權策略


  4. 基於選擇的模板,編輯授權策略。
  5. 策略內容編輯完成後,點擊建立授權策略
    图 3. 建立授權策略


此處修改了授權策略名稱備忘策略內容。上圖策略內容中的高亮顯示部分是新增的細粒度授許可權制內容,其代碼範例為:



```json
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:Get*",
"oss:List*"
],
"Resource": [
"acs:oss:*:*:samplebucket/bob/*"
],
"Condition": {
"IpAddress": {
"acs:SourceIp": "121.0.27.1"
}
}
}
]
}

```

後續操作

接下來只需將本文建立的策略授權給使用者 bob,則 bob 會擁有對 oss://samplebucket/bob/ 下的對象的唯讀操作許可權,且限制條件是必須從您的公司網路(假設為121.0.27.1)進行訪問。

為 RAM 使用者授權,請參考為 RAM 使用者授權