全部產品
Search
文件中心

:OOS操作ECS資源的權限原則管理

更新時間:Jan 17, 2025

當您的企業存在多使用者協同訪問資源的情境時,您可以建立多個RAM使用者(子帳號)並按需為其分配最小許可權,避免多使用者共用阿里雲帳號(主帳號)密碼或存取金鑰(AccessKey),從而降低企業的安全風險。本文介紹如何通過RAM使用者執行OOS模板。

情境介紹

某公司帳號下購買了若干台ECS執行個體,其中2台ECS已打上標籤(TagKey:TagValue)並進行了分組。員工甲被分配的RAM使用者為subUser1ForOOS,甲定期通過該帳號在OOS中執行一個模板T,模板執行的任務是對標籤(TagKey:TagValue)分組下的ECS執行個體批量執行Shell指令。即該員工具有對模板T的唯讀和執行許可權,以及對模板任務涉及API(如RunCommand)的操作許可權,並且可操作的API僅對標籤(TagKey:TagValue)分組下的執行個體有效。

權限原則說明

為滿足上述情境,通過OOS操作ECS資源的權限原則應從以下兩方面進行劃分:OOS資源操作和ECS資源操作。

  • OOS涉及的權限原則:包括對模板的執行許可權、對執行的查詢許可權。

  • ECS涉及的權限原則:對標籤(TagKey:TagValue)分組下ECS執行個體的操作許可權,且操作許可權僅限於模板中涉及的API。

說明

以上權限原則成功建立後,將其授權給員工甲使用的RAM使用者即可(或具有員工甲相同職責的使用者組)。

操作步驟

步驟一:為ECS執行個體添加標籤

  1. 在左側導覽列,選擇執行個體與鏡像 > 執行個體

  2. 在頂部功能表列處,選擇目標ECS執行個體所在地區。image.png

  3. 找到待操作的ECS執行個體,在對應操作列下,選擇screenshot_2025-01-14_17-23-55 > 執行個體設定 > 編輯標籤

  4. 編輯標籤頁面,輸入標籤鍵標籤值,然後單擊確認

    本文中標籤鍵設為TagKey,標籤值設為TagValue

    biaoqian-zh

步驟二:建立RAM使用者並授權

  1. 登入RAM控制台,建立RAM使用者(例如subUser1ForOOS)。

    需要注意的參數項如下,具體操作,請參見建立RAM使用者

    RAM

    配置項

    說明

    登入名稱稱

    待建立RAM使用者的賬戶名稱。格式為英文字母、數字、._-,最多包含64個字元。

    訪問方式

    選中控制台訪問方式,便於使用者使用帳號密碼訪問阿里雲控制台。

    設定密碼

    選中自訂密碼設定方式,並設定具體密碼,便於使用者訪問阿里雲控制台。

  2. 建立自訂權限原則。

    選擇許可權管理 > 權限原則 > 建立權限原則後,分別建立OOS自訂策略和ECS自訂策略。具體操作,請參見建立自訂權限原則

    說明

    需將策略中的$AliyunMasterAccountID$TagKey$TagValue$RegionID修改為您所使用的阿里雲帳號、ECS設定的標籤以及使用的地區ID。

    • 管理OOS的自訂策略

      { 
      "Statement": [
          {
              "Action": [
                  "oos:StartExecution",
                  "oos:List*",
                  "oos:Get*"
              ],
              "Resource": [
                  "acs:oos:$RegionID:$AliyunMasterAccountID:template/*",
                  "acs:oos:$RegionID:$AliyunMasterAccountID:execution/*"
              ],
              "Effect": "Allow"
          }
      ],
      "Version": "1"
      }
    • 管理ECS的自訂策略

      {
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "ecs:DescribeInstances",
                  "ecs:RebootInstance"
              ],
              "Resource": "acs:ecs:$RegionID:$AliyunMasterAccountID:instance/*",
              "Condition": {
                  "StringEquals": {
                      "ecs:tag/$TagKey": [
                          "$TagValue"
                      ]
                  }
              }
          },
          {
              "Effect": "Allow",
              "Action": [
                  "ecs:DescribeCloudAssistantStatus",
                  "ecs:InstallCloudAssistant"
              ],
              "Resource": "acs:ecs:*:$AliyunMasterAccountID:instance/*",
              "Condition": {
                  "StringEquals": {
                      "ecs:tag/$TagKey": [
                          "$TagValue"
                      ]
                  }
              }
          },
          {
              "Action": "ecs:DescribeTagKeys",
              "Effect": "Allow",
              "Resource": "*"
          },
          {
              "Action": "ecs:DescribeTags",
              "Effect": "Allow",
              "Resource": "*"
          },
          {
              "Effect": "Deny",
              "Action": [
                  "ecs:DeleteTags",
                  "ecs:UntagResources",
                  "ecs:CreateTags",
                  "ecs:TagResources"
              ],
              "Resource": "*"
          },
           {
              "Effect": "Allow",
              "Action": [
                  "ecs:RunCommand"
              ],
              "Resource": "acs:ecs:*:$AliyunMasterAccountID:instance/*",
              "Condition": {
                  "StringEquals": {
                      "ecs:tag/$TagKey": [
                          "$TagValue"
                      ]
                  }
              }
          },
          {
              "Action": [
                  "ecs:RunCommand"
              ],
              "Resource": [
                  "acs:ecs:*:$AliyunMasterAccountID:command/*"
              ],
              "Effect": "Allow"
          },
          {
              "Action": [
                  "ecs:DescribeInvocations",
                  "ecs:DescribeInvocationResults"
              ],
              "Resource": [
                  "*"
              ],
              "Effect": "Allow"
          }
      ],
      "Version": "1"
      }            
  3. 為RAM使用者授權。

    選擇許可權管理 > 授權 > 新增授權後,為新建立的RAM使用者分別授予OOS自訂權限原則和ECS自訂權限原則。具體操作,請參見為RAM使用者授權

    授權

步驟三:執行OOS模板

  1. 通過新建立的RAM使用者登入CloudOps Orchestration Service控制台

  2. 在左側導覽列,選擇自動化任務 > 公用工作範本

  3. 公用工作範本頁面,搜尋ACS-ECS-BulkyRunCommand模板,然後單擊建立執行

    image

  4. 基礎資訊階段,確認模板資訊,單擊下一步:設定參數image

  5. 設定參數階段,根據頁面提示配置相關參數,單擊下一步:確定

    其中,目標執行個體選擇指定執行個體標籤,並輸入ECS執行個體設定的標籤鍵標籤值

    renwu

  6. 確認設定的相關資訊,單擊建立