Ruolo IAM del nodo Amazon EKS - Amazon EKS

Contribuisci a migliorare questa pagina

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina nel riquadro destro di ogni pagina.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Ruolo IAM del nodo Amazon EKS

Il kubelet daemon del nodo Amazon EKS effettua chiamate per tuo AWS APIs conto. I nodi ricevono le autorizzazioni per queste chiamate API attraverso un profilo dell'istanza IAM e le policy associate. Prima di avviare i nodi e registrarli in un cluster, devi creare un ruolo IAM che i nodi possano utilizzare all'avvio. Questo requisito si applica ai nodi lanciati con l'AMI ottimizzata Amazon EKS fornita da Amazon o con qualsiasi altro nodo AMIs che intendi utilizzare. Inoltre, questo requisito si applica sia ai gruppi di nodi gestiti sia ai nodi autogestiti.

Nota

Non è possibile utilizzare lo stesso ruolo utilizzato per creare i cluster.

Prima di creare i nodi, è necessario creare un ruolo IAM con le seguenti autorizzazioni:

Nota

I gruppi di EC2 nodi Amazon devono avere un ruolo IAM diverso rispetto al profilo Fargate. Per ulteriori informazioni, consulta Ruolo IAM di esecuzione del pod di Amazon EKS.

Verifica della presenza di un ruolo di nodo esistente

Per controllare se l’account dispone già di un ruolo di nodo Amazon EKS, utilizza la procedura indicata di seguito.

  1. Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione a sinistra, seleziona Ruoli.

  3. Ricerca eksNodeRole, AmazonEKSNodeRole o NodeInstanceRole nell'elenco di ruoli. Se un ruolo con uno di questi nomi non esiste, consulta Creazione del ruolo IAM del nodo Amazon EKS per creare il ruolo. Se esiste un ruolo che contiene eksNodeRole, AmazonEKSNodeRole o NodeInstanceRole, seleziona il ruolo per visualizzare le policy allegate.

  4. Seleziona Autorizzazioni.

  5. Assicurati che le policy EC2 ContainerRegistryPullOnly gestite da Amazon EKSWorker NodePolicy e Amazon siano associate al ruolo o che sia allegata una policy personalizzata con le autorizzazioni minime.

    Nota

    Se la policy AmazonEKS_CNI_Policy è allegata al ruolo, è consigliabile invece rimuoverla e allegarla a un ruolo IAM mappato all'account di servizio aws-node Kubernetes. Per ulteriori informazioni, consulta Configurare il plug-in CNI di Amazon VPC per l’utilizzo di IRSA.

  6. Scegli Trust relationships (Relazioni di attendibilità), quindi scegli Edit trust policy (Modifica policy di attendibilità).

  7. Verifica che la relazione di trust includa la policy seguente. Se la relazione di attendibilità corrisponde alla policy seguente, scegli Annulla. Se la relazione di attendibilità non corrisponde, copia la policy nella finestra Modifica policy di attendibilità e scegli Aggiorna policy.

    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Principal": { "Service": [ "ec2.amazonaws.com" ] } } ] }

Creazione del ruolo IAM del nodo Amazon EKS

Puoi creare il ruolo IAM del nodo con Console di gestione AWS o la AWS CLI.

Console di gestione AWS
  1. Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione a sinistra, seleziona Ruoli.

  3. Nella pagina Ruoli, seleziona Crea ruolo.

  4. Nella pagina Seleziona un’entità attendibile, esegui le operazioni seguenti:

    1. Nella sezione Tipo di entità affidabile, scegli AWS service.

    2. In Use case (Caso d'uso), scegli EC2.

    3. Scegli Next (Successivo).

  5. Nella pagina Aggiungi autorizzazioni, collega una policy personalizzata o esegui le operazioni seguenti:

    1. Nella casella Filtra policy, inserisci AmazonEKSWorkerNodePolicy.

    2. Seleziona la casella di controllo a sinistra di Amazon EKSWorker NodePolicy nei risultati della ricerca.

    3. Scegli Cancella filtri.

    4. Nella casella Filtra policy, inserisci AmazonEC2ContainerRegistryPullOnly.

    5. Seleziona la casella di controllo a sinistra di Amazon EC2 ContainerRegistryPullOnly nei risultati della ricerca.

      La policy gestita Amazoneks_CNI_Policy o una policy creata da te devono essere collegate anche a questo ruolo o a IPv6 un ruolo diverso mappato all'account del servizio Kubernetes. aws-node Si consiglia di assegnare la policy al ruolo associato all'account del servizio Kubernetes anziché assegnarlo a questo ruolo. Per ulteriori informazioni, consulta Configurare il plug-in CNI di Amazon VPC per l’utilizzo di IRSA.

    6. Scegli Next (Successivo).

  6. Nella pagina Name, review, and create (Assegna un nome, rivedi e crea), esegui le operazioni seguenti:

    1. Per Nome ruolo, inserisci un nome univoco per il ruolo, ad esempio AmazonEKSNodeRole.

    2. In Descrizione, sostituisci il testo attuale con un testo descrittivo come Amazon EKS - Node role.

    3. In Aggiungi tag (facoltativo), aggiungi metadati al ruolo collegando i tag come coppie chiave-valore. Per ulteriori informazioni sull’utilizzo di tag in IAM, consulta la sezione Tagging IAM resources nella Guida per l’utente di IAM.

    4. Scegli Crea ruolo.

AWS CLI
  1. Per creare il file node-role-trust-relationship.json, emetti il seguente comando:

    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Principal": { "Service": [ "ec2.amazonaws.com" ] } } ] }
  2. Crea il ruolo IAM.

    aws iam create-role \ --role-name AmazonEKSNodeRole \ --assume-role-policy-document file://"node-role-trust-relationship.json"
  3. Allegare al ruolo IAM le due policy gestite IAM richieste.

    aws iam attach-role-policy \ --policy-arn arn:aws: iam::aws:policy/AmazonEKSWorkerNodePolicy \ --role-name AmazonEKSNodeRole aws iam attach-role-policy \ --policy-arn arn:aws: iam::aws:policy/AmazonEC2ContainerRegistryPullOnly \ --role-name AmazonEKSNodeRole
  4. Allega una delle seguenti policy IAM al ruolo IAM a seconda della famiglia di IP con cui hai creato il cluster. La policy deve essere allegata a questo ruolo o a un ruolo associato all’account di servizio Kubernetes aws-node che viene utilizzato per il componente aggiuntivo Amazon VPC CNI per Kubernetes. Si consiglia di assegnare la policy al ruolo associato all'account del servizio Kubernetes. Per assegnare la policy al ruolo associato all'account del servizio Kubernetes, consultare Configurare il plug-in CNI di Amazon VPC per l’utilizzo di IRSA.

    • IPv4

      aws iam attach-role-policy \ --policy-arn arn:aws: iam::aws:policy/AmazonEKS_CNI_Policy \ --role-name AmazonEKSNodeRole
    • IPv6

      1. Copia il testo seguente e salvalo in un file denominato vpc-cni-ipv6-policy.json.

        { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AssignIpv6Addresses", "ec2:DescribeInstances", "ec2:DescribeTags", "ec2:DescribeNetworkInterfaces", "ec2:DescribeInstanceTypes" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "arn:aws:ec2:*:*:network-interface/*" ] } ] }
      2. Creare la policy IAM.

        aws iam create-policy --policy-name AmazonEKS_CNI_IPv6_Policy --policy-document file://vpc-cni-ipv6-policy.json
      3. Allega la policy IAM al ruolo IAM. Sostituisci 111122223333 con l'ID del tuo account.

        aws iam attach-role-policy \ --policy-arn arn:aws: iam::111122223333:policy/AmazonEKS_CNI_IPv6_Policy \ --role-name AmazonEKSNodeRole