全部產品
Search
文件中心

Container Compute Service:為RAM使用者或RAM角色授予RAM許可權

更新時間:Jan 09, 2025

預設情況下,RAM使用者或RAM角色沒有使用雲端服務OpenAPI的任何許可權,您需要為RAM使用者或RAM角色授權才能使用Container ServiceACK和容器計算服務ACS的OpenAPI,同時可以訪問容器計算服務ACS的控制台查看叢集。本文介紹如何為RAM使用者或RAM角色授予系統權限原則和自訂權限原則。

前提條件

在建立自訂授權策略時,您需要瞭解授權策略語言的基本結構和文法。更多資訊,請參見權限原則基本元素

系統策略授權

系統策略授權用於指定全域資源的讀寫存取控制。當RAM使用者或RAM角色具有阿里雲帳號下所有叢集的營運系統管理權限時,建議使用系統策略進行快捷授權。

展開查看Container ServiceACS常用的系統策略

系統策略名稱稱

說明

AliyunAccFullAccess

使RAM使用者或角色擁有容器計算服務產品所有OpenAPI的存取權限。

AliyunCSFullAccess

使RAM使用者或角色擁有Container Service產品所有OpenAPI的存取權限。

說明

此系統策略僅包含針對ACK產品的RAM授權。如您需要對ACK叢集中的應用進行營運,還需要進行RBAC授權,請參見自訂RBAC授權策略。可讀寫操作包括除ACS類型在內所有ACK叢集的,請謹慎授權。

AliyunVPCReadOnlyAccess

允許RAM使用者或角色在建立叢集時選擇並指定VPC。

AliyunECSReadOnlyAccess

允許RAM使用者或角色查看叢集節點詳細資料。

AliyunContainerRegistryFullAccess

使RAM使用者或角色擁有管理阿里雲帳號內的業務鏡像的許可權。

AliyunLogReadOnlyAccess

允許RAM使用者或角色在建立叢集時選擇已有Log Project儲存審計日誌,或查看指定叢集的配置巡檢。

AliyunAHASReadOnlyAccess

使RAM使用者或角色擁有查看叢集拓撲功能的許可權。

AliyunRAMFullAccess

使RAM使用者或角色擁有阿里雲帳號內的全域授權系統管理權限。

AliyunYundunSASReadOnlyAccess

使RAM使用者或角色擁有查看指定叢集的運行時安全監控的許可權。

AliyunARMSReadOnlyAccess

使RAM使用者或角色擁有查看叢集阿里雲Prometheus外掛程式的監控狀態的許可權。

AliyunKMSReadOnlyAccess

允許RAM使用者或角色在建立Pro叢集時查看Key Management Service(KMS)中密鑰的許可權。

AliyunESSReadOnlyAccess

使RAM使用者或角色擁有查看節點池操作的許可權。

為RAM使用者或RAM角色授予系統策略

說明

阿里雲帳號(主帳號)對帳號中的資源具有完全系統管理權限,您也可以在RAM中建立一個RAM使用者,授予AdministratorAccess許可權,充當帳號管理員,該管理員可以對帳號下所有雲資源進行管控操作。更多資訊,請參見建立RAM使用者作為帳號管理員

  1. 使用Resource Access Management員登入RAM控制台

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

  3. 使用者頁面,單擊目標RAM使用者操作列的添加許可權

    image

    您也可以選中多個RAM使用者,單擊使用者列表下方的添加許可權,為RAM使用者大量授權。

  4. 新增授權面板,為RAM使用者添加許可權。

    1. 選擇資源範圍。

    2. 選擇授權主體。

      授權主體即需要添加許可權的RAM使用者。系統會自動選擇當前的RAM使用者。

    3. 選擇需要授予的系統權限原則。

    4. 單擊確認新增授權關閉彈窗完成授權。

自訂授權策略

Container ServiceACK提供的系統授權策略的授權粒度比較粗,如果這種粗粒度授權策略不能滿足您的需要,那麼您可以建立自訂授權策略。例如,您想控制對某個具體的叢集的操作許可權,您必須使用自訂授權策略才能滿足這種細粒度要求。

步驟一:建立自訂授權策略

  1. 使用Resource Access Management員登入RAM控制台

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

  3. 權限原則頁面,單擊建立權限原則

    image

  4. 建立權限原則頁面,單擊指令碼編輯頁簽,輸入您的權限原則內容。

    {
     "Statement": [{
         "Action": [
             "cs:Get*",
             "cs:List*",
             "cs:Describe*",
             "cs:ScaleCluster",
             "cs:DeleteCluster"
         ],
         "Effect": "Allow",
         "Resource": [
             "acs:cs:*:*:cluster/叢集ID"
         ]
     }],
     "Version": "1"
    }

    參數

    說明

    Action

    所需授與權限,所有的Action均支援萬用字元。

    Resource

    有以下配置方式,其中叢集ID需要替換為您的實際叢集ID,如cae93341766c843479ae986b3305xxxxx

    • 授予單叢集許可權

      "Resource": [
           "acs:cs:*:*:cluster/叢集ID"
       ]
    • 授予多個叢集許可權

      "Resource": [
           "acs:cs:*:*:cluster/叢集ID",
           "acs:cs:*:*:cluster/叢集ID"
       ]
    • 授予所有叢集的許可權

      "Resource": [
           "*"
       ]
  5. 編寫完成後單擊確定,在彈窗中填寫入權限策略名稱稱,然後再單擊確定完成建立。

  6. 返回權限原則頁面,在搜尋方塊中搜尋策略名稱或備忘,可以看到您授權的自訂策略。

步驟二:為RAM使用者或RAM角色授予自訂授權策略

關於自訂授權的具體操作和系統策略授權操作方法一樣,在選擇權限原則時,需選擇您已建立的自訂策略。具體操作,請參見為RAM使用者或RAM角色授予系統策略

使用樣本

為RAM使用者或RAM角色授權不支援限制叢集的OpenAPI的操作許可權

部分OpenAPI不支援限制叢集的授權(例如,DescribeEvents),若您需要給RAM使用者或RAM角色授權這些OpenAPI不支援限制叢集的操作許可權,請勿在Resource中限定叢集ID。

例如,當前RAM權限原則如下:

{
    "Statement": [
        {
            "Action": [
                "cs:Get*",
                "cs:List*",
                "cs:Describe*"
            ],
            "Effect": "Allow",
            "Resource": [
                "acs:cs:*:*:cluster/叢集ID"
            ]
        }
    ],
    "Version": "1"
}

若您需要授權不支援限制叢集的OpenAPI DescribeEvents ,其對應的RAM action為cs:DescribeEvents,修改後的RAM權限原則如下所示:

{
    "Statement": [
        {
            "Action": [
                "cs:DescribeEvents"
            ],
            "Effect": "Allow",
            "Resource": [
              "*"
            ]
        },
        {
            "Action": [
                "cs:Get*",
                "cs:List*",
                "cs:Describe*"
            ],
            "Effect": "Allow",
            "Resource": [
                "acs:cs:*:*:cluster/叢集ID"
            ]
        }
    ],
    "Version": "1"
}

後續操作

  • 在完成RAM授權後,您需要繼續完成叢集內Kubernetes資源訪問的RBAC授權,才能對叢集內部資源進行操作。具體授權,請參見配置RAM使用者或RAM角色RBAC許可權

  • 在提交RBAC授權前,您需要確保目的地組群已經被授予RAM唯讀許可權,策略參考如下。

    {
      "Statement": [
        {
          "Action": [
            "cs:Get*",
            "cs:List*",
            "cs:Describe*"
          ],
          "Effect": "Allow",
          "Resource": [
            "acs:cs:*:*:cluster/叢集ID"
          ]
        }
      ],
      "Version": "1"
    }