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 su che si trova 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à.
Concedere un RBAC Kubernetes aggiuntivo ai controller gestiti EKS Auto Mode
Amazon EKS Auto Mode gestisce i seguenti controller per tuo conto: bilanciamento del carico, rete, elaborazione, storage a blocchi e informazioni sui cluster. Questi controller funzionano sul piano di controllo EKS. Si autenticano nel cluster come ruolo AWSServiceRoleForAmazonEKS collegato al servizio e le loro autorizzazioni all'interno del cluster provengono da politiche di accesso AWS gestite allegate a tale voce di accesso.
Puoi estendere tu stesso il Kubernetes RBAC di un controller gestito. Ciò è utile quando la policy gestita non concede ancora l'autorizzazione richiesta, ad esempio su una specifica. get Secret
Nei cluster Amazon EKS Auto Mode, la voce di accesso creata automaticamente per dichiara AWSServiceRoleForAmazonEKS anche il gruppo Kubernetes. eks:managed Kubernetes RBAC è additivo. A RoleBinding (oClusterRoleBinding) il cui subjects: nome il eks:managed gruppo concede ai controller gestiti autorizzazioni aggiuntive oltre alle politiche di accesso gestito.
Come funziona
-
I controller gestiti EKS Auto Mode si connettono al cluster come ruolo collegato al servizio.
AWSServiceRoleForAmazonEKS -
La voce di accesso creata automaticamente per quel ruolo dichiara.
kubernetesGroups: ["eks:managed"] -
Crei un file
Role(con namespace) oClusterRole(a livello di cluster) che descrive l'autorizzazione aggiuntiva e un/il cui nome è il gruppo.RoleBindingClusterRoleBindingsubjects:eks:managed -
Kubernetes RBAC combina l'associazione con le politiche di accesso gestito, in modo che i controller gestiti ricevano entrambi i set di autorizzazioni.
Per confermare la presenza del gruppo, esegui:
CLUSTER=<your-cluster> REGION=<your-region> ACCT=$(aws sts get-caller-identity --query Account --output text) aws eks describe-access-entry \ --cluster-name "$CLUSTER" --region "$REGION" \ --principal-arn "arn:aws:iam::${ACCT}:role/aws-service-role/eks.amazonaws.com/AWSServiceRoleForAmazonEKS" \ --query 'accessEntry.kubernetesGroups'
Output previsto:
[ "eks:managed" ]
Ambito ristretto della sovvenzione
Il eks:managed gruppo si applica a tutti i controller gestiti EKS Auto Mode. Ambita la concessione aggiuntiva nel modo più ristretto consentito dal tuo caso d'uso, in modo da esporre solo esattamente ciò di cui ha bisogno un controller gestito:
-
Preferisci
Role+RoleBinding(namespace) a + (a livello di cluster).ClusterRoleClusterRoleBinding -
Limita
resourcesresourceNames, everbsal set più piccolo che sblocca il tuo caso d'uso. Ad esempio, concedigetsu un singolo oggetto denominatoSecretanzichélist, watchsu tuttiSecretgli oggetti. -
Elimina gli
RoleeRoleBindingquando non sono più necessari.
Considerazioni per la modalità automatica di Amazon EKS
-
Questo meccanismo estende solo il Kubernetes RBAC dei controller gestiti EKS Auto Mode. Non modifica le autorizzazioni AWS IAM concesse dalle politiche di accesso gestite.
-
Il
eks:managedgruppo è presente sui cluster EKS Auto Mode il cui ruolo collegato ai servizi è.AWSServiceRoleForAmazonEKS -
Un'associazione a
eks:managedsi applica a tutti i controller gestiti EKS Auto Mode. Per mantenere piccolo il pratico raggio di esplosione, usate oggetti conresourceNamesRolenamespace. Questo espone solo le risorse che nomini e solo attraverso i verbi che concedi. -
Si tratta di un modello ponte destinato ai casi in cui una politica di accesso gestito non copre ancora l'autorizzazione necessaria. Se una policy AWS gestita copre già l'autorizzazione, utilizza invece la policy gestita.
Esempio
Per una procedura dettagliata che concede al controller di bilanciamento del carico EKS Auto Mode un OIDC Secret denominato (sbloccando l'annotazione get su un ALB), consulta. alb.ingress.kubernetes.io/auth-type: oidc Ingress Concedi al controller di bilanciamento del carico EKS Auto Mode l'accesso a un segreto specifico