Migrazione delle voci aws-auth ConfigMap esistenti alle voci di accesso - Amazon EKS

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_CONFIGMAP ed è presente una mappatura per lo stesso ruolo IAM sia in aws-auth ConfigMap che nelle voci di accesso, il ruolo utilizzerà la mappatura della voce di accesso per l’autenticazione. Le voci di accesso hanno la precedenza sulle voci ConfigMap dello stesso principale IAM.

  • Prima di rimuovere le voci aws-auth ConfigMap esistenti 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 in ConfigMap senza avere le voci di accesso equivalenti, il cluster non funzionerà correttamente.

Prerequisiti

eksctl

  1. Verifica le voci esistenti in aws-auth ConfigMap. Sostituisci my-cluster con il nome del tuo cluster.

    eksctl get iamidentitymapping --cluster my-cluster

    Di 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
  2. Creare voci di accesso per tutte le voci ConfigMap che hai creato e che sono state restituite nell’output precedente. Quando crei le voci di accesso, assicurati di specificare gli stessi valori per ARN, USERNAME, GROUPS e ACCOUNT restituiti 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.

  3. Elimina le voci da ConfigMap per tutte le voci di accesso che hai creato. Se non elimini la voce da ConfigMap, le impostazioni per la voce di accesso per l’ARN principale IAM hanno la precedenza sulla voce ConfigMap. Sostituisci 111122223333 con il tuo account ID AWS ed EKS-my-cluster-my-namespace-Viewers con il nome del ruolo nella voce nella tua ConfigMap. Se la voce che stai rimuovendo è per un utente IAM, anziché per un ruolo IAM, sostituisci role con user ed EKS-my-cluster-my-namespace-Viewers con il nome utente.

    eksctl delete iamidentitymapping --arn arn:aws:iam::111122223333:role/EKS-my-cluster-my-namespace-Viewers --cluster my-cluster