Informazioni su identità e accesso in EKS Auto Mode - 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.

Informazioni su identità e accesso in EKS Auto Mode

Questo argomento descrive i ruoli e le autorizzazioni di Identity and Access Management (IAM) necessari per utilizzare EKS Auto Mode. EKS Auto Mode utilizza due ruoli IAM primari: un ruolo IAM del cluster e uno del nodo. Questi ruoli lavorano in combinazione con EKS Pod Identity e le voci di accesso EKS per fornire una gestione completa degli accessi per i cluster EKS.

Quando configuri EKS Auto Mode, dovrai impostare questi ruoli IAM con autorizzazioni specifiche che consentano ai servizi AWS di interagire con le risorse del cluster. Ciò include le autorizzazioni per la gestione delle risorse di elaborazione, dei volumi di archiviazione, dei bilanciatori del carico e dei componenti di rete. La comprensione di queste configurazioni dei ruoli è essenziale per il corretto funzionamento e la sicurezza del cluster.

In EKS Auto Mode, i ruoli IAM AWS vengono mappati automaticamente alle autorizzazioni Kubernetes tramite le voci di accesso EKS, eliminando la necessità di configurare manualmente aws-auth ConfigMaps o associazioni personalizzate. Quando crei un nuovo cluster in Auto Mode, EKS crea automaticamente le autorizzazioni Kubernetes corrispondenti utilizzando le voci di accesso, assicurando che i servizi AWS e i componenti del cluster abbiano i livelli di accesso appropriati sia all’interno di AWS che dei sistemi di autorizzazione di Kubernetes. Questa integrazione automatizzata riduce la complessità della configurazione e aiuta a prevenire i problemi relativi alle autorizzazioni che si verificano comunemente durante la gestione dei cluster EKS.

Ruolo IAM del cluster

Il ruolo IAM del cluster è un ruolo AWS Identity and Access Management (IAM) utilizzato da Amazon EKS per gestire le autorizzazioni per i cluster di Kubernetes. Questo ruolo concede ad Amazon EKS le autorizzazioni necessarie per interagire con altri servizi AWS per conto del cluster e viene configurato automaticamente con le autorizzazioni di Kubernetes utilizzando le voci di accesso di EKS.

  • Devi allegare le policy IAM AWS a questo ruolo.

  • EKS Auto Mode assegna automaticamente le autorizzazioni Kubernetes a questo ruolo utilizzando le voci di accesso EKS.

  • Con EKS Auto Mode, AWS suggerisce di creare un singolo ruolo IAM del cluster per account AWS.

  • AWS suggerisce di denominare questo ruolo AmazonEKSAutoClusterRole.

  • Questo ruolo richiede le autorizzazioni per più servizi AWS per gestire le risorse, inclusi volumi EBS, bilanciatori del carico elastico e istanze EC2.

  • La configurazione suggerita per questo ruolo include più policy IAM gestite da AWS, correlate alle diverse funzionalità di EKS Auto Mode.

    • AmazonEKSComputePolicy

    • AmazonEKSBlockStoragePolicy

    • AmazonEKSLoadBalancingPolicy

    • AmazonEKSNetworkingPolicy

    • AmazonEKSClusterPolicy

Per ulteriori informazioni sul ruolo IAM del cluster e sulle policy IAM gestite da AWS, consulta:

Per ulteriori informazioni sull’accesso a Kubernetes, consulta:

Ruolo IAM del nodo

Il ruolo IAM del nodo è un ruolo AWS Identity and Access Management (IAM) utilizzato da Amazon EKS per gestire le autorizzazioni per i nodi worker nei cluster di Kubernetes. Questo ruolo concede alle istanze EC2 in esecuzione come nodi di Kubernetes le autorizzazioni necessarie per interagire con servizi e risorse AWS, e viene configurato automaticamente con le autorizzazioni RBAC di Kubernetes utilizzando le voci di accesso di EKS.

  • Devi allegare le policy IAM AWS a questo ruolo.

  • EKS Auto Mode assegna automaticamente le autorizzazioni Kubernetes RBAC a questo ruolo utilizzando le voci di accesso EKS.

  • AWS suggerisce di denominare questo ruolo AmazonEKSAutoNodeRole.

  • Con EKS Auto Mode, AWS suggerisce di creare un singolo ruolo IAM del nodo per ogni account AWS.

  • Questo ruolo dispone di autorizzazioni limitate. Le autorizzazioni chiave includono l’assunzione di un ruolo Pod Identity e l’estrazione di immagini da ECR.

  • AWS suggerisce le seguenti policy IAM AWS gestite:

    • AmazonEKSWorkerNodeMinimalPolicy

    • AmazonEC2ContainerRegistryPullOnly

Per ulteriori informazioni sul ruolo IAM del cluster e sulle policy IAM gestite da AWS, consulta:

Per ulteriori informazioni sull’accesso a Kubernetes, consulta:

Ruolo collegato al servizio

Amazon EKS utilizza un ruolo collegato ai servizi (SLR) per determinate operazioni. Un ruolo collegato ai servizi è un tipo di ruolo IAM univoco collegato direttamente ad Amazon EKS. I ruoli collegati ai servizi sono definiti automaticamente da Amazon EKS e includono tutte le autorizzazioni richieste dal servizio per eseguire chiamate agli altri servizi AWS per conto dell’utente.

AWS crea e configura automaticamente il SLR. Puoi eliminare un SLR solo dopo aver eliminato le risorse correlate. Questa procedura protegge le risorse di Amazon EKS perché non puoi rimuovere involontariamente delle autorizzazioni di accesso alle risorse.

La policy di SLR concede ad Amazon EKS le autorizzazioni per osservare ed eliminare i componenti principali dell’infrastruttura: risorse EC2 (istanze, interfacce di rete, gruppi di sicurezza), risorse ELB (bilanciatori del carico, gruppi di destinazione), funzionalità CloudWatch (registrazione e metriche) e ruoli IAM con prefisso “eks”. Consente inoltre il networking privato degli endpoint tramite l’associazione di VPC/zone ospitate e include le autorizzazioni per il monitoraggio e la pulizia di risorse con tag EKS da EventBridge.

Per ulteriori informazioni, consulta:

Tag AWS personalizzati per risorse EKS Auto

Per impostazione predefinita, le policy gestite relative a EKS Auto Mode non consentono l’applicazione di tag definiti dall’utente alle risorse AWS fornite da Auto Mode. Se desideri applicare tag definiti dall’utente alle risorse AWS, devi allegare autorizzazioni aggiuntive al ruolo IAM del cluster con autorizzazioni sufficienti per creare e modificare tag sulle risorse AWS. Di seguito è riportato un esempio di policy che consentirà l’accesso ai tag senza restrizioni:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Compute", "Effect": "Allow", "Action": [ "ec2:CreateFleet", "ec2:RunInstances", "ec2:CreateLaunchTemplate" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/eks:eks-cluster-name": "${aws:PrincipalTag/eks:eks-cluster-name}" }, "StringLike": { "aws:RequestTag/eks:kubernetes-node-class-name": "*", "aws:RequestTag/eks:kubernetes-node-pool-name": "*" } } }, { "Sid": "Storage", "Effect": "Allow", "Action": [ "ec2:CreateVolume", "ec2:CreateSnapshot" ], "Resource": [ "arn:aws:ec2:*:*:volume/*", "arn:aws:ec2:*:*:snapshot/*" ], "Condition": { "StringEquals": { "aws:RequestTag/eks:eks-cluster-name": "${aws:PrincipalTag/eks:eks-cluster-name}" } } }, { "Sid": "Networking", "Effect": "Allow", "Action": "ec2:CreateNetworkInterface", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/eks:eks-cluster-name": "${aws:PrincipalTag/eks:eks-cluster-name}" }, "StringLike": { "aws:RequestTag/eks:kubernetes-cni-node-name": "*" } } }, { "Sid": "LoadBalancer", "Effect": "Allow", "Action": [ "elasticloadbalancing:CreateLoadBalancer", "elasticloadbalancing:CreateTargetGroup", "elasticloadbalancing:CreateListener", "elasticloadbalancing:CreateRule", "ec2:CreateSecurityGroup" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/eks:eks-cluster-name": "${aws:PrincipalTag/eks:eks-cluster-name}" } } }, { "Sid": "ShieldProtection", "Effect": "Allow", "Action": [ "shield:CreateProtection" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/eks:eks-cluster-name": "${aws:PrincipalTag/eks:eks-cluster-name}" } } }, { "Sid": "ShieldTagResource", "Effect": "Allow", "Action": [ "shield:TagResource" ], "Resource": "arn:aws:shield::*:protection/*", "Condition": { "StringEquals": { "aws:RequestTag/eks:eks-cluster-name": "${aws:PrincipalTag/eks:eks-cluster-name}" } } } ] }

Riferimento alla policy di accesso

Per ulteriori informazioni sulle autorizzazioni di Kubernetes utilizzate da EKS Auto Mode, consulta Rivedere le autorizzazioni della policy di accesso.