Risoluzione dei problemi di IAM
Questo argomento illustra alcuni errori comuni che si potrebbero verificare durante l'utilizzo di Amazon EKS con IAM, e il modo in cui gestirli.
AccessDeniedException
Se ricevi un AccessDeniedException
durante la chiamata a un'operazione API AWS, le credenziali dell'utente o del ruolo AWS Identity and Access Management (IAM) in uso non dispongono delle autorizzazioni richieste per effettuare la chiamata.
An error occurred (AccessDeniedException) when calling the DescribeCluster operation:
User: arn:aws:iam::111122223333
:user/user_name
is not authorized to perform:
eks:DescribeCluster on resource: arn:aws:eks:region
:111122223333
:cluster/my-cluster
Nel messaggio di esempio precedente, l'utente non dispone delle autorizzazioni per chiamare l'operazione API DescribeCluster
Amazon EKS. Per fornire autorizzazioni da amministratore Amazon EKS per un utente, consultare Esempi di policy basate su identità Amazon EKS.
Per informazioni generali su IAM, consultare Controllo dell'accesso tramite policy nella Guida per l'utente di IMA.
Impossibile visualizzare i carichi di lavoro o i nodi e ricevere un errore nella AWS Management Console
È possibile che venga visualizzato un messaggio di errore della console che recita Your current user or role does
not have access to Kubernetes objects on this EKS cluster
. Assicurarsi che l'entità IAM (utente o ruolo) con cui è stato eseguito l'accesso alla AWS Management Console soddisfi tutti i seguenti requisiti:
-
È associato una policy IAM che include l'operazione
eks:AccessKubernetesApi
. Per un esempio di policy IAM, consultare É possibile visualizzare i nodi e i carichi di lavoro per tutti i cluster nella AWS Management Console. Se si utilizza l'editor visivo delle policy IAM nella AWS Management Console e non viene mostrato l'elencoeks:AccessKubernetesApi
Autorizzazione, modificare il JSON della policy e aggiungereeks:AccessKubernetesApi
alla lista diAction
nel JSON. -
Ha una mappatura a un utente o un gruppo Kubernetes nel
aws-auth
ConfigMap. Per ulteriori informazioni sull'aggiunta di utenti o ruoli IAM allaaws-auth
Configmap, consulta Abilitazione dell'accesso a utenti e ruoli IAM al cluster. Se l'utente o il ruolo non è mappato, il messaggio di errore della console potrebbe recitare Non autorizzato: Verificare che si dispone dell'accesso al cluster Kubernetes. -
L'utente o il gruppo Kubernetes a cui è mappato l'account o il ruolo IAM nella configmap deve essere un
subject
in unrolebinding
oclusterrolebinding
che è legato a un Kubernetesrole
oclusterrole
che dispone delle autorizzazioni necessarie per visualizzare le risorse Kubernetes. Se l'utente o il gruppo non dispone delle autorizzazioni necessarie, il messaggio di errore della console potrebbe recitare Non autorizzato: Verificare che si dispone dell'accesso al cluster Kubernetes. Per creare ruoli e associazioni, vedere Utilizzo dell'autorizzazione RBACnella documentazione Kubernetes. È possibile eseguire il download dei manifesti di esempio che creano un clusterrole
eclusterrolebinding
o unrole
erolebinding
seguendo le istruzioni riportate nella sezione Importante di Visualizzare i nodi e i carichi di lavoro per tutti i cluster nella AWS Management Console.
La ConfigMap per aws-auth non concede l'accesso al cluster
Autenticatore IAM AWSrolearn
. Ad esempio, modifica arn:aws:iam::
in 123456789012
:role/team
/developers
/eks-admin
arn:aws:iam::
.123456789012
:role/eks-admin
Non sono autorizzato a eseguire iam:PassRole
Se ricevi un errore che indica che non sei autorizzato a eseguire l'operazione iam:PassRole
, è necessario contattare il proprio amministratore per ricevere assistenza. L'amministratore è la persona da cui si sono ricevuti il nome utente e la password. Richiedi all'amministratore di aggiornare le tue policy per poter passare un ruolo ad Amazon EKS.
Alcuni servizi AWS consentono di passare un ruolo esistente a tale servizio, invece di creare un nuovo ruolo del servizio o ruolo collegato ai servizi. Per eseguire questa operazione, è necessario disporre delle autorizzazioni per passare il ruolo al servizio.
L'errore di esempio seguente si verifica quando un utente IAM denominato marymajor
cerca di utilizzare la console per eseguire un'operazione in Amazon EKS. Tuttavia, l'operazione richiede che il servizio disponga delle autorizzazioni concesse da un ruolo del servizio. Mary non dispone di autorizzazioni per passare il ruolo al servizio.
User: arn:aws:iam::123456789012:user/
marymajor
is not authorized to perform: iam:PassRole
In questo caso, Mary chiede all'amministratore di aggiornare la sue policy per poter eseguire l'operazione iam:PassRole
.
Desidero visualizzare le mie chiavi di accesso
Dopo aver creato le chiavi di accesso utente IAM, è possibile visualizzare il proprio ID chiave di accesso in qualsiasi momento. Tuttavia, non è possibile visualizzare nuovamente la chiave di accesso segreta. Se perdi la chiave segreta, dovrai creare una nuova coppia di chiavi di accesso.
Le chiavi di accesso sono composte da due parti: un ID chiave di accesso (ad esempio AKIAIOSFODNN7EXAMPLE
) e una chiave di accesso segreta (ad esempio, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
). Come un nome utente e una password, è necessario utilizzare sia l'ID chiave di accesso sia la chiave di accesso segreta insieme per autenticare le richieste dell'utente. Gestisci le tue chiavi di accesso in modo sicuro mentre crei il nome utente e la password.
Non fornire le chiavi di accesso a terze parti, neppure per aiutare a trovare l'ID utente canonico. Se lo facessi, daresti a qualcuno accesso permanente al proprio account.
Quando crei una coppia di chiavi di accesso, ti viene chiesto di salvare l'ID chiave di accesso e la chiave di accesso segreta in una posizione sicura. La chiave di accesso segreta è disponibile solo al momento della creazione. Se si perde la chiave di accesso segreta, è necessario aggiungere nuove chiavi di accesso all'utente IAM. È possibile avere massimo due chiavi di accesso. Se se ne hanno già due, è necessario eliminare una coppia di chiavi prima di crearne una nuova. Per visualizzare le istruzioni, consultare Gestione delle chiavi di accesso nella Guida per l'utente di IAM.
Sono un amministratore e desidero permettere ad altri utenti di accedere a Amazon EKS
Per permettere ad altri utenti di accedere ad Amazon EKS, creare un'entità IAM (utente o ruolo) per la persona o l'applicazione che richiede l'accesso. Tale utente o applicazione utilizzerà le credenziali dell'entità per accedere ad AWS. Collegare quindi all'entità una policy che conceda le autorizzazioni corrette in Amazon EKS.
Per iniziare immediatamente, consultare Creazione dei primi utenti e gruppi delegati IAM nella Guida per l'utente di IAM.
Voglio permettere a persone esterne al mio account AWS di accedere alle mie risorse Amazon EKS
È possibile creare un ruolo che può essere utilizzato dagli utenti in altri account o da persone esterne all'organizzazione per accedere alle tue risorse. È possibile specificare chi è attendibile per l'assunzione del ruolo. Per servizi che supportano policy basate su risorse o liste di controllo accessi (ACL), è possibile utilizzare tali policy per concedere alle persone l'accesso alle proprie risorse.
Per ulteriori informazioni, consultare gli argomenti seguenti:
-
Per sapere se Amazon EKS supporta queste caratteristiche, consultare Funzionamento di Amazon EKS con IAM.
-
Per informazioni su come garantire l'accesso alle risorse negli Account AWS che possiedi, consultare Fornire l'accesso a un utente IAM in un altro Account AWS in tuo possesso nella Guida per l'utente di IAM.
-
Per informazioni su come fornire l'accesso alle risorse ad Account AWS di terze parti, consultare Fornire l'accesso agli Account AWS di proprietà di terze parti nella Guida per l'utente di IAM.
-
Per informazioni su come fornire l'accesso tramite la federazione delle identità, consultare Fornire l’accesso a utenti autenticati esternamente (Federazione delle identità) nella Guida per l'utente di IAM.
-
Per informazioni sulle differenze tra l'utilizzo di ruoli e policy basate su risorse per l'accesso multi-account, consultare Differenza tra i ruoli IAM e le policy basate su risorse nella Guida per l'utente di IAM.