全部產品
Search
文件中心

:賬戶存取控制

更新時間:Jan 18, 2025

本文介紹了如何使用存取控制RAM(Resource Access Management)在帳號層級上控制對OOS資源的訪問,具體通過建立RAM使用者(組)並授予特定權限原則實現。

應用情境

存取控制RAM是阿里雲提供的資源存取控制服務。以下列舉了存取控制RAM的典型情境:

  • 系統營運理員:您可以建立一個CloudOps Orchestration Service管理員,給該Administrator 群組授予CloudOps Orchestration Service的完全許可權,包括建立、編輯和執行模板。

  • 模板開發人員:該使用者組需要編輯模板許可權。您可以給開發人員(組)授予一個權限原則,該策略授予使用者群組成員調用CreateTemplateUpdateTemplate等許可權。

  • 模板執行:您可以限制一部分使用者只能執行OOS模板,但不能建立或修改OOS模板。

  • 模板鑒權:您可以限制某個模板只能被某個指定使用者(組)執行。

為子賬戶授予PassRole許可權

說明

為OOS服務設定RAM角色並授權後,只能說明CloudOps Orchestration Service有權使用這個RAM角色,並不代表CloudOps Orchestration Service的子賬戶有權使用這個RAM角色。只有對子賬戶和目標RAM角色進行PassRole鑒權之後,該子賬戶才能通過CloudOps Orchestration Service使用目標RAM角色。

  • 如果允許某個子賬戶靈活地使用已經授信給CloudOps Orchestration Service的所有RAM角色,則您可以建立如下的權限原則並授權給該子賬戶。

    為子賬戶授予PassRole許可權的策略

    {
      "Version": "1",
      "Statement": [
        {
          "Action": "ram:PassRole",
          "Resource": "*",
          "Effect": "Allow",
          "Condition": {
            "StringEquals": {
              "acs:Service": "oos.aliyuncs.com"
            }
          }
        }
      ]
    }	
  • 出於安全考慮,您可能需要限制子賬戶只能使用某個特定的RAM Role(比如預設的OOSServiceRole)來操作CloudOps Orchestration Service,在這種情況下,您可以做如下許可權授權。

    限制子帳號只能使用特定RAM許可權的策略

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "ram:PassRole",
          "Resource": "acs:ram::{parent_uid}:role/OOSServiceRole"
        }
      ]
    }

注意事項:

  • 如果RAM角色是在模板內部固定的(包括使用預設OOSServiceRole),輸入參數不包含角色,則在執行該模板的時候,不需要PassRole授權。但是,在建立或者修改該模板的時候,子賬戶需要PassRole授權。

  • 如果RAM角色是在執行模板時通過輸入參數Parameters動態擷取的,模板本身並沒有指定RAM Role,則在建立或者修改該模板時,不需要PassRole的許可權。但是針對執行該模板並指定RAM Role的子賬戶,需要PassRole許可權。

  • 如上樣本中的{parent_uid}為您所使用的阿里雲主帳號ID。

權限原則

步驟一:建立自訂權限原則

  1. 登入RAM控制台

  2. 在左側導覽列,單擊許可權管理 > 權限原則

  3. 單擊建立權限原則image

  4. 單擊指令碼編輯,輸入自訂策略後,單擊確定

    • 策略樣本一:允許RAM使用者執行模板,但不允許編輯模板

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "oos:List*",
                      "oos:Get*",
                      "oos:StartExecution",
                      "oos:CancelExecution",
                      "oos:NotifyExecution"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
    • 策略樣本二:允許RAM使用者建立編輯模板,不包含執行許可權

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "oos:List*",
                      "oos:Get*",
                      "oos:CreateTemplate",
                      "oos:UpdateTemplate",
                      "oos:ValidateTemplateContent"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
    • 策略樣本三:CloudOps Orchestration Service的管理員權限

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": "oos:*",
                  "Effect": "Allow",
                  "Resource": "*"
              },
              {
                  "Action": "ram:PassRole",
                  "Resource": "*",
                  "Effect": "Allow",
                  "Condition": {
                      "StringEquals": {
                          "acs:Service": "oos.aliyuncs.com"
                      }
                  }
              }
          ]
      }
  5. 建立權限原則頁面,輸入策略名稱稱和備忘,然後單擊確定

    建立完成後,您可以單擊策略詳情查看詳細資料。如果策略內容需要進一步修改,也可以單擊修改策略內容進行相應調整。

步驟二:為RAM使用者授予相關許可權

  1. 在左側導覽列,選擇身份管理 > 使用者image

  2. 找到已建立的RAM使用者,單擊對應操作列下的添加許可權

  3. 權限原則地區,選擇一個或多個系統權限原則或者自訂權限原則。

  4. 單擊確認新增授權