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.
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 AccessDeniedException durante la chiamata a un’operazione AWS API, le credenziali del principale 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 di Amazon EKS. Per fornire le autorizzazioni da amministratore Amazon EKS a un principale IAM, 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.
Non è possibile visualizzare Nodi nella scheda Calcolo o qualsiasi altro elemento nella scheda Risorse e ricevi un errore in Console di gestione AWS
È 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. Assicurati che il principale IAM con cui stai utilizzando Console di gestione AWS disponga delle autorizzazioni necessarie. Per ulteriori informazioni, consulta Autorizzazioni richieste.
La ConfigMap per aws-auth non concede l'accesso al cluster
L’Autenticatore AWS IAMConfigMap. Pertanto, rimuovi il percorso prima di specificare rolearn. Ad esempio, modifica
arn:aws:iam:: in 111122223333:role/team/developers/eks-admin
arn:aws:iam::.111122223333:role/eks-admin
Non sono autorizzato a eseguire iam:PassRole
Se ricevi un errore che indica che non disponi delle autorizzazioni a eseguire l’operazione iam:PassRole, è necessario aggiornare le 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 di servizio o un ruolo collegato al servizio. Per eseguire questa operazione, è necessario disporre delle autorizzazioni per trasmettere 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'azione richiede che il servizio disponga delle autorizzazioni concesse da un ruolo di servizio. Mary non dispone delle autorizzazioni per passare il ruolo al servizio.
User: {arn-aws}iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
In questo caso, le policy di Mary devono essere aggiornate per poter eseguire l’operazione iam:PassRole.
Per ulteriore assistenza con l'accesso, contatta l'amministratore AWS. L'amministratore è la persona che ti ha fornito le credenziali di accesso.
Voglio permettere a persone esterne al mio account AWS di accedere alle mie risorse Amazon EKS
È possibile creare un ruolo con il quale utenti in altri account o persone esterne all'organizzazione possono 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 degli accessi (ACL), utilizza tali policy per concedere alle persone l'accesso alle tue risorse.
Per ulteriori informazioni, consulta 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, consulta Fornire l'accesso a un utente IAM in un altro account AWS che si possiede nella Guida per l'utente di IAM.
-
Per capire come fornire l'accesso alle risorse ad account AWS di terze parti, consulta Concessione dell'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à, consulta Fornire l'accesso a utenti autenticati esternamente (Federazione delle identità) nella Guida per l'utente IAM.
-
Per informazioni sulle differenze di utilizzo tra ruoli e policy basate su risorse per l'accesso multi-account, consulta Accesso a risorse multi-account in IAM nella Guida per l'utente IAM.
I container dei pod riceveranno il seguente errore: An error occurred (SignatureDoesNotMatch) when calling the GetCallerIdentity operation: Credential should be scoped to a valid region
I container ricevono questo errore se l’applicazione effettua esplicitamente richieste all’endpoint globale AWS STS (
https://sts.amazonaws) e l’account del servizio Kubernetes è configurato per l’utilizzo di un endpoint regionale. Puoi risolvere il problema con una delle opzioni seguenti:
-
Aggiorna il codice dell’applicazione per rimuovere le chiamate esplicite all’endpoint globale AWS STS.
-
Aggiorna il codice dell'applicazione per effettuare chiamate esplicite agli endpoint regionali, ad esempio
https://sts.us-west-2.amazonaws.com. L’applicazione deve avere una ridondanza integrata per scegliere una regione AWS diversa in caso di esito negativo del servizio nella regione AWS. Per ulteriori informazioni, consulta Gestione di AWS STS in una regione AWS nella Guida per l’utente IAM. -
Configura gli account del servizio per l'utilizzo dell'endpoint globale. I cluster utilizzano l’endpoint regionale per impostazione predefinita. Per ulteriori informazioni, consulta Configurare l’endpoint del Servizio di token di sicurezza AWS per un account di servizio.