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

建立自訂授權策略

在建立自訂授權策略時,您需要瞭解授權策略語言的基本結構和文法,相關內容的詳細描述請參考授權策略語言描述

本文檔以授予子帳號查詢、擴容和刪除叢集的許可權為例進行說明。

操作步驟

  1. 使用主帳號登入RAM管理主控台
  2. 單擊左側導覽列中的策略管理並單擊頁面右上方的建立授權策略
  3. 選擇一個模板,填寫授權策略名稱並編寫您的授權策略內容。


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

    其中:

    • Action 處填寫您所要授與權限。
      Note 所有的 Action 均支援萬用字元。
    • Resource 有如下配置方式。
      • 授予單叢集許可權
        "Resource": [
             "acs:cs:*:*:cluster/叢集ID"
         ]
      • 授予多個叢集許可權
        "Resource": [
             "acs:cs:*:*:cluster/叢集ID",
             "acs:cs:*:*:cluster/叢集ID"
         ]
      • 授予您所有叢集的許可權
        "Resource": [
             "*"
         ]
        其中,叢集ID 需要替換為您要授權的真實的叢集 ID。
  4. 編寫完畢後,單擊建立授權策略
Table 1. Container ServiceRAM Action
Action 說明
CreateCluster 建立叢集
AttachInstances 向叢集中添加已有ECS執行個體
ScaleCluster 擴容叢集
GetClusters 查看叢集列表
GetClusterById 查看叢集詳情
ModifyClusterName 修改叢集名稱
DeleteCluster 刪除叢集
UpgradeClusterAgent 升級叢集Agent
GetClusterLogs 查看叢集的動作記錄
GetClusterEndpoint 查看叢集存取點地址
GetClusterCerts 下載叢集認證
RevokeClusterCerts 吊銷叢集認證
BindSLB 為叢集綁定Server Load Balancer執行個體
UnBindSLB 為叢集解除綁定Server Load Balancer執行個體
ReBindSecurityGroup 為叢集重新綁定安全性群組
CheckSecurityGroup 檢測叢集現有的安全性群組規則
FixSecurityGroup 修複叢集的安全性群組規則
ResetClusterNode 重設叢集中的節點
DeleteClusterNode 移除叢集中的節點
CreateAutoScale 建立節點Auto Scaling規則
UpdateAutoScale 更新節點Auto Scaling規則
DeleteAutoScale 刪除節點Auto Scaling規則
GetClusterProjects 查看叢集下的應用
CreateTriggerHook 為應用建立觸發器
GetTriggerHook 查看應用的觸發器列表
RevokeTriggerHook 刪除應用的觸發器
CreateClusterToken 建立 Token