全部產品
Search
文件中心

:賬戶存取控制

更新時間:Aug 09, 2024

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

應用情境

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

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

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

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

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

子賬戶PassRole許可權

協助文檔"為OOS服務設定RAM許可權"一節,介紹了建立RAM角色,並授信給CloudOps Orchestration Service的過程。但是,CloudOps Orchestration Service有權訪問這個RAM角色,並不代表執行CloudOps Orchestration Service的子賬戶,有權使用這個RAM角色。只有對子賬戶和目標RAM角色進行PassRole鑒權通過之後,該子賬戶才能通過CloudOps Orchestration Service,使用目標RAM角色。

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

{
  "Version": "1",
  "Statement": [
    {
      "Action": "ram:PassRole",
      "Resource": "*",
      "Effect": "Allow",
      "Condition": {
        "StringEquals": {
          "acs:Service": "oos.aliyuncs.com"
        }
      }
    }
  ]
}	

出於安全考慮,您可能需要限制子賬戶只能使用某個特定的RAM Role(比如預設的OOSServieRole)來進行CloudOps Orchestration Service,在此情況下,您可以做如下授權:

{
  "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。

權限原則

步驟一

請按以下流程在存取控制RAM控制台建立一個自訂權限原則:

  1. 登入RAM控制台

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

  3. 單擊建立權限原則image

  4. 單擊指令碼編輯,輸入策略。

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

      {
          "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. 單擊繼續編輯基本資料,填寫基本資料後單擊確定image

步驟二

請按以下流程在存取控制RAM控制台授權RAM使用者相關許可權:

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

  2. 找到已建立的RAM使用者,在操作列中,選擇添加許可權。在選擇許可權處,選擇一個或多個系統權限原則或者自訂權限原則。

  3. 單擊確認新增授權