Contribuisci a migliorare questa pagina
Per contribuire a questa guida per l’utente, seleziona il link Edit this page on GitHub che si trova nel riquadro destro di ogni pagina.
Migrazione delle voci aws-auth ConfigMap esistenti alle voci di accesso
Se hai aggiunto voci a aws-auth ConfigMap sul tuo cluster, ti consigliamo di creare voci di accesso per quelle esistenti in aws-auth ConfigMap. Dopo aver creato le voci di accesso, puoi rimuovere le voci da ConfigMap. Non puoi associare le policy di accesso alle voci presenti in aws-auth ConfigMap. Se desideri associare policy di accesso ai tuoi principali IAM, crea voci di accesso.
Importante
-
Quando un cluster è in modalità di autenticazione
API_AND_CONFIGMAPed è presente una mappatura per lo stesso ruolo IAM sia inaws-authConfigMapche nelle voci di accesso, il ruolo utilizzerà la mappatura della voce di accesso per l’autenticazione. Le voci di accesso hanno la precedenza sulle vociConfigMapdello stesso principale IAM. -
Prima di rimuovere le voci
aws-authConfigMapesistenti create da Amazon EKS per un gruppo di nodi gestiti o un profilo Fargate nel tuo cluster, ricontrolla se nel tuo cluster Amazon EKS esistono le voci di accesso corrette per quelle risorse specifiche. Se rimuovi le voci che Amazon EKS ha creato inConfigMapsenza avere le voci di accesso equivalenti, il cluster non funzionerà correttamente.
Prerequisiti
-
Familiarità con le voci di accesso e le policy di accesso. Per ulteriori informazioni, consulta Concedere agli utenti IAM l’accesso a Kubernetes con le voci di accesso EKS e Associare le policy di accesso alle voci di accesso.
-
Un cluster esistente con una versione della piattaforma corrispondente o successiva alle versioni elencate nei Prerequisiti dell’argomento Concedere agli utenti IAM l’accesso a Kubernetes con le voci di accesso EKS.
-
La versione
0.214.0o successive dello strumento a riga di comandoeksctldeve essere installata sul dispositivo o su AWS CloudShell. Per l’installazione o l’aggiornamento dieksctl, consulta la sezione Installationnella documentazione di eksctl. -
Le autorizzazioni di Kubernetes per modificare
aws-authConfigMapnel namespacekube-system. -
Un ruolo o un utente AWS Identity and Access Management con le seguenti autorizzazioni:
CreateAccessEntryeListAccessEntries. Per ulteriori informazioni, consulta Actions defined by Amazon Elastic Kubernetes Service nella Documentazione di riferimento per l’autorizzazione ai servizi.
eksctl
-
Verifica le voci esistenti in
aws-auth ConfigMap. Sostituiscimy-clustercon il nome del tuo cluster.eksctl get iamidentitymapping --cluster my-clusterDi seguito viene riportato un output di esempio:
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
-
Creare voci di accesso per tutte le voci
ConfigMapche hai creato e che sono state restituite nell’output precedente. Quando crei le voci di accesso, assicurati di specificare gli stessi valori perARN,USERNAME,GROUPSeACCOUNTrestituiti nell’output. Nell’output di esempio, dovresti creare voci di accesso per tutte le voci tranne le ultime due, poiché tali voci sono state create da Amazon EKS per un profilo Fargate e un gruppo di nodi gestito. -
Elimina le voci da
ConfigMapper tutte le voci di accesso che hai creato. Se non elimini la voce daConfigMap, le impostazioni per la voce di accesso per l’ARN principale IAM hanno la precedenza sulla voceConfigMap. Sostituisci111122223333con il tuo account ID AWS edEKS-my-cluster-my-namespace-Viewerscon il nome del ruolo nella voce nella tuaConfigMap. Se la voce che stai rimuovendo è per un utente IAM, anziché per un ruolo IAM, sostituisciroleconuseredEKS-my-cluster-my-namespace-Viewerscon il nome utente.eksctl delete iamidentitymapping --arn arn:aws:iam::111122223333:role/EKS-my-cluster-my-namespace-Viewers --cluster my-cluster