Esempi di policy basate su identità 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à.

Esempi di policy basate su identità Amazon EKS

Per impostazione predefinita, gli utenti e i ruoli IAM non dispongono dell'autorizzazione per creare o modificare risorse Amazon EKS. Inoltre, non sono in grado di eseguire attività utilizzando la AWS Management Console, AWS CLI o un'API AWS. Un amministratore IAM deve creare policy IAM che concedono a utenti e ruoli l'autorizzazione per eseguire operazioni API specifiche sulle risorse specificate di cui hanno bisogno. L'amministratore deve quindi allegare queste policy a utenti o IAM che richiedono tali autorizzazioni.

Per informazioni su come creare una policy basata su identità IAM utilizzando questi documenti di policy JSON di esempio, consultare Creazione di policy nella scheda JSON nella Guida per l'utente di IAM.

Quando si crea un cluster Amazon EKS, il principale IAM che crea il cluster riceve automaticamente le autorizzazioni system:masters nella configurazione del controllo degli accessi basato sul ruolo (RBAC) nel piano di controllo (control-plane) di Amazon EKS. Questo principale IAM non viene visualizzato in una configurazione visibile qualsiasi, quindi assicurati di tenere traccia di quale principale IAM ha originariamente creato il cluster. Per concedere a ulteriori principali IAM la capacità di interagire con il cluster, devi modificare aws-auth ConfigMap all'interno di Kubernetes e creare un Kubernetes rolebinding o clusterrolebinding con il nome di un group specificato in aws-auth ConfigMap.

Per ulteriori informazioni sull'utilizzo di ConfigMap, vedereConcedere al principale IAM l'accesso al cluster.

Best practice per le policy

Le policy basate su identità determinano se qualcuno può creare, accedere o eliminare risorse Amazon EKS nell'account. Queste operazioni possono comportare costi aggiuntivi per l'Account AWS. Quando crei o modifichi policy basate su identità, segui queste linee guida e raccomandazioni:

  • Nozioni di base sulle policy gestite da AWSe passaggio alle autorizzazioni con privilegio minimo: per le informazioni di base su come concedere autorizzazioni a utenti e carichi di lavoro, utilizza le policy gestite da AWSche concedono le autorizzazioni per molti casi d'uso comuni. Sono disponibili nel tuo Account AWS. Ti consigliamo pertanto di ridurre ulteriormente le autorizzazioni definendo policy gestite dal cliente di AWSspecifiche per i tuoi casi d'uso. Per ulteriori informazioni, consulta Policy gestite da AWS o Policy gestite da AWS per le funzioni dei processi nella Guida per l'utente IAM.

  • Applica le autorizzazioni con privilegi minimi: quando imposti le autorizzazioni con le policy IAM, concedi solo le autorizzazioni richieste per eseguire un'attività. Puoi farlo definendo le azioni che possono essere intraprese su risorse specifiche in condizioni specifiche, note anche come autorizzazioni con privilegi minimi. Per ulteriori informazioni sull'utilizzo di IAM per applicare le autorizzazioni, consulta Policy e autorizzazioni in IAM nella Guida per l'utente di IAM.

  • Condizioni d'uso nelle policy IAM per limitare ulteriormente l'accesso: per limitare l'accesso a operazioni e risorse puoi aggiungere una condizione alle tue policy. Ad esempio, è possibile scrivere una condizione di policy per specificare che tutte le richieste devono essere inviate utilizzando SSL. Puoi inoltre utilizzare le condizioni per concedere l'accesso alle operazioni di servizio, ma solo se vengono utilizzate tramite uno specifico Servizio AWS, ad esempio AWS CloudFormation. Per ulteriori informazioni, consulta la sezione Elementi delle policy JSON di IAM: condizione nella Guida per l'utente di IAM.

  • Utilizzo di IAM Access Analyzer per convalidare le policy IAM e garantire autorizzazioni sicure e funzionali: IAM Access Analyzer convalida le policy nuove ed esistenti in modo che aderiscano alla sintassi della policy IAM (JSON) e alle best practice di IAM. IAM Access Analyzer offre oltre 100 controlli delle policy e consigli utili per creare policy sicure e funzionali. Per ulteriori informazioni, consulta Convalida delle policy per IAM Access Analyzer nella Guida per l'utente di IAM.

  • Richiesta dell'autenticazione a più fattori (MFA): se hai uno scenario che richiede utenti IAM o utenti root nel tuo Account AWS, attiva MFA per una maggiore sicurezza. Per richiedere la MFA quando vengono chiamate le operazioni API, aggiungi le condizioni MFA alle policy. Per ulteriori informazioni, consulta Configurazione dell'accesso alle API protetto con MFA nella Guida per l'utente di IAM.

Per maggiori informazioni sulle best practice in IAM, consulta Best practice di sicurezza in IAM nella Guida per l'utente di IAM.

Utilizzo della console Amazon EKS

Per accedere alla console Amazon EKS, un principale IAM deve disporre di un set di autorizzazioni minimo. Queste autorizzazioni devono consentire al principale di elencare e visualizzare i dettagli relativi alle risorse di Amazon EKS all'interno dell'account AWS. Se crei una policy di basata su identità più restrittiva delle autorizzazioni minime richieste, la console non funzionerà nel modo previsto per i principali associati a tale policy.

Per garantire che i principali IAM possano comunque utilizzare la console Amazon EKS, crea una policy con un nome univoco, ad esempio AmazonEKSAdminPolicy. Allega la politica ai principali. Per ulteriori informazioni, consulta Aggiunta e rimozione di autorizzazioni per identità IAM nella Guida per l'utente di IAM.

Importante

La policy di esempio riportata di seguito consente a un principale di visualizzare le informazioni sulla scheda Configurazione della console. Per visualizzare le informazioni contenute nelle schede Panoramica e Risorse nella AWS Management Console, il principale ha bisogno inoltre delle autorizzazioni Kubernetes. Per ulteriori informazioni, consulta Autorizzazioni richieste.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:*" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "eks.amazonaws.com" } } } ] }

Non sono necessarie le autorizzazioni minime della console per i principali che effettuano chiamate solo alla AWS CLI o all'API AWS. Al contrario, è possibile accedere solo alle operazioni che soddisfano l'operazione API che si sta cercando di eseguire.

Consentire agli utenti IAM di visualizzare le loro autorizzazioni

Questo esempio mostra in che modo è possibile creare una policy che consente agli utenti IAM di visualizzare le policy inline e gestite che sono allegate alla relativa identità utente. La policy include le autorizzazioni per completare questa azione sulla console o a livello di programmazione utilizzando la AWS CLIo l'API AWS.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Creazione di un cluster Kubernetes sul Cloud AWS

Regione AWS Puoi sostituire Regione AWS con la Regione AWS in cui desideri creare il cluster. Se viene visualizzato un avviso che indica Le operazioni nella policy non supportano le autorizzazioni a livello di risorsa e richiedono la scelta di All resources nella AWS Management Console, può essere ignorato senza problemi. Se il tuo account dispone già del ruolo AWSServiceRoleForAmazonEKS, puoi rimuovere l'azione iam:CreateServiceLinkedRole dalla policy. Se hai mai creato un cluster Amazon EKS nel tuo account, questo ruolo esiste già a meno che sia stato eliminato.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "eks:CreateCluster", "Resource": "arn:aws:eks:us-west-2:111122223333:cluster/my-cluster" }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::111122223333:role/aws-service-role/eks.amazonaws.com/AWSServiceRoleForAmazonEKS", "Condition": { "ForAnyValue:StringEquals": { "iam:AWSServiceName": "eks" } } }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::111122223333:role/cluster-role-name" } ] }

Creazione di un cluster Kubernetes locale su un Outpost

Regione AWS Puoi sostituire Regione AWS con la Regione AWS in cui desideri creare il cluster. Se viene visualizzato un avviso che indica Le operazioni nella policy non supportano le autorizzazioni a livello di risorsa e richiedono la scelta di All resources nella AWS Management Console, può essere ignorato senza problemi. Se il tuo account dispone già del ruolo AWSServiceRoleForAmazonEKSLocalOutpost, puoi rimuovere l'azione iam:CreateServiceLinkedRole dalla policy. Se hai già creato un cluster locale Amazon EKS su un Outpost nel tuo account, questo ruolo esiste già a meno che tu non l'abbia eliminato.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "eks:CreateCluster", "Resource": "arn:aws:eks:us-west-2:111122223333:cluster/my-cluster" }, { "Action": [ "ec2:DescribeSubnets", "ec2:DescribeVpcs", "iam:GetRole" ], "Resource": "*", "Effect": "Allow" }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::111122223333:role/aws-service-role/outposts.eks-local.amazonaws.com/AWSServiceRoleForAmazonEKSLocalOutpost" }, { "Effect": "Allow", "Action": [ "iam:PassRole", "iam:ListAttachedRolePolicies" ] "Resource": "arn:aws:iam::111122223333:role/cluster-role-name" }, { "Action": [ "iam:CreateInstanceProfile", "iam:TagInstanceProfile", "iam:AddRoleToInstanceProfile", "iam:GetInstanceProfile", "iam:DeleteInstanceProfile", "iam:RemoveRoleFromInstanceProfile" ], "Resource": "arn:aws:iam::*:instance-profile/eks-local-*", "Effect": "Allow" }, ] }

Aggiornamento di un cluster Kubernetes

Regione AWS

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "eks:UpdateClusterVersion", "Resource": "arn:aws:eks:us-west-2:111122223333:cluster/my-cluster" } ] }

Elencare o descrivere tutti i cluster

Questa policy di esempio include le autorizzazioni minime richieste per elencare e descrivere tutti i cluster dell'account. Per utilizzare il comando update-kubeconfig della AWS CLI, un principale IAM deve essere in grado di elencare e descrivere i cluster.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:DescribeCluster", "eks:ListClusters" ], "Resource": "*" } ] }