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à.
Ruoli IAM per gli account di servizio
Applicazioni in un Pod’s i contenitori possono utilizzare un AWS SDK o il AWS CLI per effettuare API richieste ai AWS servizi utilizzando le autorizzazioni AWS Identity and Access Management (IAM). Le applicazioni devono firmare le proprie AWS API richieste con AWS credenziali. IAMi ruoli per gli account di servizio offrono la possibilità di gestire le credenziali per le applicazioni, in modo simile al modo in cui i profili di EC2 istanza Amazon forniscono le credenziali alle istanze AmazonEC2. Invece di creare e distribuire AWS le tue credenziali ai contenitori o utilizzare il ruolo dell'EC2istanza Amazon, associ un IAM ruolo a Kubernetes account di servizio e configura il tuo Pods per utilizzare l'account di servizio. Non puoi utilizzare IAM i ruoli per gli account di servizio con cluster Crea EKS cluster Amazon locali su AWS Outposts per un'elevata disponibilità locali per Amazon EKS su AWS Outposts.
IAMi ruoli per gli account di servizio offrono i seguenti vantaggi:
-
Privilegio minimo: è possibile definire l'ambito IAM delle autorizzazioni per un account di servizio e solo Pods che utilizzano quell'account di servizio hanno accesso a tali autorizzazioni. Questa caratteristica elimina anche la necessità di soluzioni di terze parti, ad esempio
kiam
okube2iam
. -
Isolamento delle credenziali: A Pod’s i contenitori possono recuperare solo le credenziali per il IAM ruolo associato all'account di servizio utilizzato dal contenitore. Un contenitore non ha mai accesso alle credenziali utilizzate da altri contenitori in altri Pods. Quando si utilizzano IAM i ruoli per gli account di servizio, Pod’s i container hanno anche le autorizzazioni assegnate al IAM ruolo del EKS nodo IAMRuolo EKS del nodo Amazon Amazon, a meno che tu non blocchi Pod accesso ad Amazon EC2 Instance Metadata Service (IMDS). Per ulteriori informazioni, consulta Limitazione dell'accesso al profilo dell'istanza assegnato al nodo worker
. -
Verificabilità: la registrazione degli accessi e degli eventi è disponibile AWS CloudTrail per garantire un controllo retrospettivo.
Abilita IAM i ruoli per gli account di servizio completando le seguenti procedure:
-
Crea un IAM OIDC provider per il tuo clusterCrea un IAM OIDC provider per il tuo cluster: questa procedura viene completata una sola volta per ogni cluster.
Nota
Se hai abilitato l'EKSVPCendpoint, non è possibile accedere all'endpoint del EKS OIDC servizio dall'interno di esso. VPC Di conseguenza, operazioni come la creazione di un OIDC provider con
eksctl
in non VPC funzioneranno e comporteranno un timeout durante il tentativo di richiesta.https://oidc.eks
Segue un messaggio di errore di esempio:. region
.amazonaws.com
server cant find oidc.eks.region.amazonaws.com: NXDOMAIN
Per completare questo passaggio, è possibile eseguire il comando all'esternoVPC, ad esempio in AWS CloudShell o su un computer connesso a Internet. In alternativa, è possibile creare un resolver condizionale a orizzonte diviso inVPC, ad esempio Route 53 Resolver, per utilizzare un resolver diverso per l'Emittente e non utilizzarlo per esso. OIDC URL VPC DNS Per un esempio di inoltro condizionale in CoreDNS, consulta la richiesta EKS di funzionalità Amazon
IAM, Kubernetese OpenID Connect (OIDC) informazioni di base
Nel 2014, AWS Identity and Access Management ha aggiunto il supporto per le identità federate utilizzando OpenID Connect (OIDC). Questa funzionalità consente di autenticare le AWS API chiamate con i provider di identità supportati e di ricevere un messaggio valido OIDC
JSON token web (JWT). È possibile passare questo token all' AWS STSAssumeRoleWithWebIdentity
APIoperazione e ricevere credenziali di ruolo IAM temporanee. Puoi utilizzare queste credenziali per interagire con qualsiasi AWS servizio, inclusi Amazon S3 e DynamoDB.
Ogni JWT token è firmato da una coppia di key pair di firma. Le chiavi vengono fornite dal OIDC provider gestito da Amazon EKS e la chiave privata ruota ogni 7 giorni. Amazon EKS conserva le chiavi pubbliche fino alla loro scadenza. Se connetti OIDC client esterni, tieni presente che devi aggiornare le chiavi di firma prima della scadenza della chiave pubblica. Scopri come Recupera le chiavi di firma da convalidare OIDC gettoni recuperare le chiavi di firma per convalidare i token. OIDC
Kubernetes utilizza da tempo gli account di servizio come sistema di identità interno. Pods può autenticarsi con Kubernetes APIserver che utilizzava un token montato automaticamente (che non era-OIDC
JWT) che solo il Kubernetes APIil server potrebbe convalidare. Questi token di account di servizio legacy non scadono e la rotazione della chiave di firma è un processo difficile. In Kubernetes versione1.12
, è stato aggiunto il supporto per una nuova funzionalità. ProjectedServiceAccountToken
Questa funzionalità è una OIDC
JSON token web che contiene anche l'identità dell'account del servizio e supporta un pubblico configurabile.
Amazon EKS ospita un pubblico OIDC endpoint di scoperta per ogni cluster che contiene le chiavi di firma per ProjectedServiceAccountToken
JSON token web in modo che i sistemi esterni, ad esempioIAM, possano convalidare e accettare il OIDC token emessi da Kubernetes.