協助改善此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要提供此使用者指南,請選擇位於每個頁面右窗格中的在 GitHub 上編輯此頁面連結。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
遷移現有 aws-auth ConfigMap
項目至存取項目
如果您已將項目新增至叢集aws-auth
ConfigMap
上的 ,建議您為 aws-auth
中的現有項目建立存取項目ConfigMap
。建立存取項目後,您可以從 ConfigMap
中移除對應項目。您無法將存取政策與 aws-auth
中的項目建立關聯ConfigMap
。如果您想要將存取政策與 IAM 主體相關聯,則請建立存取項目。
重要
-
當叢集處於
API_AND_CONFIGMAP
身分驗證模式,且在aws-auth
ConfigMap
和存取項目中都有相同 IAM 角色的映射時,該角色將使用存取項目的映射進行身分驗證。存取項目優先於相同 IAM 主體ConfigMap
的項目。 -
在將 Amazon EKS 為受管節點群組或 Fargate 設定檔建立的現有
aws-auth
ConfigMap
項目移除至叢集之前,請仔細檢查 Amazon EKS 叢集中是否存在這些特定資源的正確存取項目。如果您移除 Amazon EKS 在 中建立ConfigMap
但沒有同等存取項目的項目,您的叢集將無法正常運作。
先決條件
-
熟悉存取項目和存取政策。如需詳細資訊,請參閱授予 IAM 使用者使用 EKS 存取項目存取 Kubernetes及將存取政策與存取項目建立關聯。
-
平台版本等於或高於 授予 IAM 使用者使用 EKS 存取項目存取 Kubernetes主題先決條件中所列版本的現有叢集。
-
裝置或 AWS CloudShell 上安裝的
eksctl
命令列工具版本0.210.0
或更新版本。如需有關安裝或更新eksctl
的指示,請參閱eksctl
文件中的安裝一節。 -
修改
kube-system
命名空間aws-auth
ConfigMap
中 的 Kubernetes 許可。 -
Identity AWS 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
項目。將111122223333
取代為 AWS 您的帳戶 ID,並將EKS-my-cluster-my-namespace-Viewers
取代為 中項目中角色的名稱ConfigMap
。如果您要移除的項目適用於 IAM 使用者,而非 IAM 角色,請將role
取代為user
,並將EKS-my-cluster-my-namespace-Viewers
取代為 使用者名稱。eksctl delete iamidentitymapping --arn arn:aws: iam::111122223333:role/EKS-my-cluster-my-namespace-Viewers --cluster my-cluster