協助改進此頁面
若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。
遷移現有 aws-auth ConfigMap 項目至存取項目
如果您已將項目新增至叢集上的 aws-auth ConfigMap,則建議您為 aws-auth ConfigMap 中的現有項目建立存取項目。建立存取項目後,您可以從 ConfigMap 中移除對應項目。您無法將存取政策與 aws-auth ConfigMap 中的項目建立關聯。如果您想要將存取政策與 IAM 主體相關聯,則請建立存取項目。
重要
-
當叢集處於
API_AND_CONFIGMAP身分驗證模式,且在aws-authConfigMap和存取項目中具有相同 IAM 角色的映射時,該角色將會使用存取項目的映射進行身分驗證。存取項目的優先順序高於相同 IAM 主體的ConfigMap項目。 -
在將 Amazon EKS 為受管節點群組或 Fargate 設定檔建立的現有
aws-authConfigMap項目移除至您的叢集之前,請仔細檢查 Amazon EKS 叢集中是否存在這些特定資源的正確存取項目。如果您在沒有相同存取項目的情況下移除 Amazon EKS 在ConfigMap中建立的項目,叢集將無法正常運作。
先決條件
-
熟悉存取項目和存取政策。如需詳細資訊,請參閱使用 EKS 存取項目授予 IAM 使用者 Kubernetes 的存取權及將存取政策與存取項目相關聯。
-
現有叢集的平台版本等於或高於 使用 EKS 存取項目授予 IAM 使用者 Kubernetes 的存取權 物件主題之「先決條件」部分中列出的版本。
-
已在裝置或 AWS CloudShell 上安裝版本
0.214.0或更新版本的eksctl命令列工具。如需有關安裝或更新eksctl的指示,請參閱eksctl文件中的安裝一節。 -
修改
kube-system命名空間中的aws-authConfigMap的 Kubernetes 許可。 -
具有下列許可的 AWS Identity and Access Management 角色或使用者:
CreateAccessEntry和ListAccessEntries。如需詳細資訊,請參閱《服務授權參考》中的 Amazon Elastic Kubernetes Service 定義的動作一節。
eksctl
-
檢視
aws-auth ConfigMap中的現有項目。使用您叢集的名稱取代my-cluster。eksctl get iamidentitymapping --cluster my-cluster範例輸出如下。
ARN USERNAME GROUPS ACCOUNT arn:aws:iam::111122223333:role/EKS-my-cluster-Admins Admins system:masters arn:aws:iam::111122223333:role/EKS-my-cluster-my-namespace-Viewers my-namespace-Viewers Viewers arn:aws:iam::111122223333:role/EKS-my-cluster-self-managed-ng-1 system:node:{{EC2PrivateDNSName}} system:bootstrappers,system:nodes arn:aws:iam::111122223333:user/my-user my-user arn:aws:iam::111122223333:role/EKS-my-cluster-fargateprofile1 system:node:{{SessionName}} system:bootstrappers,system:nodes,system:node-proxier arn:aws:iam::111122223333:role/EKS-my-cluster-managed-ng system:node:{{EC2PrivateDNSName}} system:bootstrappers,system:nodes
-
為在上一個輸出中傳回的您建立的任何
ConfigMap項目的 建立存取項目。建立存取項目時,請確保為ARN、USERNAME、GROUPS和ACCOUNT指定與輸出中傳回的值相同的值。在範例輸出中,您將為最後兩個項目之外的所有項目建立存取項目,因為這些項目是由 Amazon EKS 為 Fargate 描述檔和受管節點群組建立的。 -
從
ConfigMap中刪除您建立的任何存取項目對應的項目。如果您沒有從ConfigMap中刪除對應項目,則對應 IAM 主體 ARN 的存取項目的設定將覆寫ConfigMap項目。用您的 AWS 帳戶 ID 取代111122223333,並用ConfigMap項目中角色的名稱取代EKS-my-cluster-my-namespace-Viewers。如果您要移除的項目用於 IAM 使用者而不是 IAM 角色,請用user取代role,並用使用者名稱取代EKS-my-cluster-my-namespace-Viewers。eksctl delete iamidentitymapping --arn arn:aws:iam::111122223333:role/EKS-my-cluster-my-namespace-Viewers --cluster my-cluster