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角色不支持修改。
在容器服務管理控制臺創建集群或創建節點池時,您可以在節點池的高級選項配置中,將Worker RAM 角色選擇為步驟一:創建RAM角色所創建的角色,為新建節點池指定一個自定義Woker RAM角色。具體操作,請參見創建集群時節點池高級選項、創建節點池時高級配置。
相關操作
創建RAM角色后,該RAM角色默認沒有任何權限。
如需通過OpenAPI創建自定義策略并授權。具體操作,請參見CreatePolicy - 創建一個權限策略、AttachPolicyToRole - 為指定角色添加權限。
如需通過Terraform創建自定義策略并授權。具體操作,請參見使用Terraform創建角色并綁定自定義權限策略。
當Worker RAM角色不再需要某些權限時,請及時將這些權限移除。具體操作,請參見為RAM角色移除權限。