Ruolo IAM per l'esecuzione del Pod Amazon EKS - Amazon EKS

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 per l'esecuzione del Pod Amazon EKS

Il ruolo di esecuzione del Pod Amazon EKS è necessario per eseguire i Pods sull'infrastruttura AWS Fargate.

Quando il cluster crea pod Pods sull'infrastruttura di AWS Fargate, i componenti in esecuzione su Fargate devono effettuare chiamate ad API AWS per tuo conto. In questo modo possono eseguire operazioni come estrarre le immagini container da Amazon ECR o instradare i log ad altri servizi AWS. Il ruolo di esecuzione del Pod Amazon EKS fornisce le autorizzazioni IAM per eseguire questa operazione.

Quando crei un profilo Fargate, devi specificare un ruolo di esecuzione del Pod per i componenti Amazon EKS che vengono eseguiti su infrastruttura Fargate utilizzando il profilo. Questo ruolo viene aggiunto al controllo degli accessi basato sul ruolo (RBAC) di Kubernetes del cluster per l'autorizzazione. Ciò consente al kubelet in esecuzione sull'infrastruttura Fargate di registrarsi con il cluster Amazon EKS in modo che possa essere visualizzato nel cluster come nodo.

Nota

Il profilo Fargate deve avere un ruolo IAM diverso dai gruppi di nodi Amazon EC2.

Importante

I container in esecuzione nel Pod Fargate non possono assumere le autorizzazioni IAM associate a un ruolo di esecuzione del Pod. Per concedere ai container nel Pod Fargate le autorizzazioni per accedere ad altri servizi AWS, è necessario utilizzare Ruoli IAM per gli account di servizio.

Prima di creare un profilo Fargate, è necessario creare un ruolo IAM con la AmazonEKSFargatePodExecutionRolePolicy.

Verifica della presenza di un ruolo di esecuzione del Pod esistente configurato correttamente

Per verificare se l'account dispone già di un ruolo di esecuzione del Pod Amazon EKS configurato correttamente, utilizza la procedura indicata di seguito. Per prevenire il problema di sicurezza "confused deputy", è importante che il ruolo limiti l'accesso in base a SourceArn. È possibile modificare il ruolo di esecuzione secondo necessità per includere il supporto per i profili Fargate su altri cluster.

Verifica della presenza di un ruolo di esecuzione del Pod Amazon EKS nella console IAM
  1. Apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

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

  3. Nella pagina Ruoli, cerca l'elenco dei ruoli per AmazonEks FargatePodExecutionRole. Se il ruolo non esiste, consulta Creazione del ruolo di esecuzione del Pod Amazon EKS per crearlo. Se il ruolo è presente, selezionalo.

  4. Nella pagina FargatePodExecutionRoleAmazonEks, procedi come segue:

    1. Seleziona Autorizzazioni.

    2. Assicurati che la policy gestita da FargatePodExecutionRolePolicyAmazonEks di Amazon sia associata al ruolo.

    3. Scegli Trust relationships (Relazioni di trust).

    4. Seleziona Edit trust policy (Modifica policy di attendibilità).

  5. Nella pagina Edit trust policy (Modifica policy di attendibilità), verifica che la relazione di attendibilità contenga la policy seguente e una riga per i profili Fargate nel cluster. In tal caso, scegli Cancel (Annulla).

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:eks:region-code:111122223333:fargateprofile/my-cluster/*" } }, "Principal": { "Service": "eks-fargate-pods.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

    Se la policy corrisponde ma non contiene una riga che specifica i profili Fargate sul cluster, aggiungi la riga riportata di seguito nella parte superiore dell'oggetto ArnLike. Sostituisci region-code con la Regione AWS in cui si trova il cluster, 111122223333 con il tuo ID account e my-cluster con il nome del cluster.

    "aws:SourceArn": "arn:aws:eks:region-code:111122223333:fargateprofile/my-cluster/*",

    Se la policy non corrisponde, copia la policy precedente nel modulo e scegli Update policy (Aggiorna policy). Sostituisci region-code con la Regione AWS in cui si trova il cluster. * Sostituisci 111122223333 con il tuo ID account e my-cluster con il nome del cluster. Se vuoi usare lo stesso ruolo per tutti i cluster dell'account, sostituisci my-cluster con *.

Creazione del ruolo di esecuzione del Pod Amazon EKS

Se non disponi di un ruolo di esecuzione del PodAmazon EKS per il cluster, puoi utilizzare la AWS Management Console o la AWS CLI per crearlo.

AWS Management Console
Creazione di un ruolo di esecuzione PodAWS Fargate tramite la AWS Management Console
  1. Apri 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 Trusted entity type (Tipo di entità attendibile), scegli AWS service (Servizio ).

    2. Nell'elenco a discesa Casi d'uso per altri Servizi AWS, scegli EKS.

    3. Scegli Pod EKS - Fargate.

    4. Scegli Next (Successivo).

  5. Nella pagina Add permissions (Aggiungi autorizzazioni), scegli Next (Successivo).

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

    1. Per Role name (Nome ruolo), inserisci un nome univoco per il ruolo, ad esempio AmazonEKSFargatePodExecutionRole.

    2. 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 Applicazione di tag alle risorse IAM nella Guida per l'utente di IAM.

    3. Scegli Crea ruolo.

  7. Nella pagina Ruoli, cerca l'elenco dei ruoli per AmazonEks FargatePodExecutionRole. Seleziona il ruolo.

  8. Nella pagina FargatePodExecutionRoleAmazonEks, procedi come segue:

    1. Scegli Trust relationships (Relazioni di trust).

    2. Seleziona Edit trust policy (Modifica policy di attendibilità).

  9. Nella pagina Modifica policy di attendibilità, effettua le operazioni seguenti:

    1. Copia e incolla il contenuto seguente nel modello Modifica policy di attendibilità. Sostituisci il codice regionale us-iso-east con Regione AWS quello in cui si trova il tuo cluster. * Sostituisci 111122223333 con il tuo ID account e my-cluster con il nome del cluster. Se vuoi usare lo stesso ruolo per tutti i cluster dell'account, sostituisci my-cluster con *.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:eks:region-code:111122223333:fargateprofile/my-cluster/*" } }, "Principal": { "Service": "eks-fargate-pods.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. Scegli Aggiorna policy.

AWS CLI
Creazione di un ruolo di esecuzione PodAWS Fargate tramite la AWS CLI
  1. Copia e incolla il contenuto seguente in un file denominato pod-execution-role-trust-policy.json. Sostituisci il codice regionale us-iso-east con Regione AWS quello in cui si trova il tuo cluster. * Sostituisci 111122223333 con il tuo ID account e my-cluster con il nome del cluster. Se vuoi usare lo stesso ruolo per tutti i cluster dell'account, sostituisci my-cluster con *.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:eks:region-code:111122223333:fargateprofile/my-cluster/*" } }, "Principal": { "Service": "eks-fargate-pods.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Crea un ruolo IAM di esecuzione del Pod.

    aws iam create-role \ --role-name AmazonEKSFargatePodExecutionRole \ --assume-role-policy-document file://"pod-execution-role-trust-policy.json"
  3. Allegare la policy IAM gestita da Amazon EKS richiesta al ruolo.

    aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy \ --role-name AmazonEKSFargatePodExecutionRole