ACK託管叢集預設會建立一個所有節點共用的預設Worker RAM角色。當您通過Worker RAM角色為特定的應用授權時,許可權將會共用給叢集內所有的節點,可能會存在非預期的許可權擴散的風險。您可以在建立節點池時為其指定一個自訂的Worker RAM角色,通過為不同的節點池分配特定的角色,降低在叢集所有節點中共用一個Worker RAM角色可能存在的風險。
前提條件
已建立ACK託管叢集,且叢集為1.22及以上版本。具體操作,請參見建立ACK託管叢集。
步驟一:建立RAM角色
您可以通過控制台、OpenAPI或Terraform等方式建立一個Worker RAM角色。
RAM角色的名稱不能以KubernetesMasterRole-或KubernetesWorkerRole-開頭。
RAM角色的受信服務必須是雲端服務器。
通過控制台建立RAM角色
使用阿里雲帳號(主帳號)登入RAM控制台。
說明阿里雲帳號(主帳號)對帳號中的資源具有完全系統管理權限,您也可以在RAM中建立一個RAM使用者,授予AdministratorAccess許可權,充當帳號管理員,該管理員可以對帳號下所有雲資源進行管控操作。更多資訊,請參見建立RAM使用者作為帳號管理員。
在左側導覽列,選擇 。
在角色頁面,單擊建立角色。
在建立角色頁面,選擇可信實體類型為阿里雲服務,然後單擊下一步。
選擇角色類型為普通服務角色。
輸入角色名稱和備忘。
選擇受信服務為雲端服務器。
單擊完成。
單擊關閉。
通過OpenAPI或Terraform建立RAM角色
如果您需要通過OpenAPI或Terraform建立RAM角色,在建立角色時,請確保指定的角色信任策略已配置如下策略。如需修改RAM角色信任策略,請參見修改RAM角色的信任策略。
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": [
"ecs.aliyuncs.com"
]
}
}
],
"Version": "1"
}
通過OpenAPI建立RAM角色。具體操作,請參見CreateRole - 建立角色。
通過Terraform建立RAM角色。具體操作,請參見使用Terraform建立角色並綁定自訂權限原則。
步驟二:為建立節點池指定Woker RAM角色
您可以在建立叢集或建立節點池時使用自訂的Worker RAM角色。已有節點池的Worker RAM角色不支援修改。
在Container Service管理主控台建立叢集或建立節點池時,您可以在節點池的進階選項配置中,將Worker RAM 角色選擇為步驟一:建立RAM角色所建立的角色,為建立節點池指定一個自訂Woker RAM角色。具體操作,請參見建立叢集時節點池進階選項、建立節點池時進階配置。
相關操作
建立RAM角色後,該RAM角色預設沒有任何許可權。
如需通過OpenAPI建立自訂策略並授權。具體操作,請參見CreatePolicy - 建立一個權限原則、AttachPolicyToRole - 為指定角色添加許可權。
如需通過Terraform建立自訂策略並授權。具體操作,請參見使用Terraform建立角色並綁定自訂權限原則。
當Worker RAM角色不再需要某些許可權時,請及時將這些許可權移除。具體操作,請參見為RAM角色移除許可權。