Risoluzione dei problemi di IAM - Amazon EKS

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'elenco eks:AccessKubernetesApi Autorizzazione, modificare il JSON della policy e aggiungere eks:AccessKubernetesApi alla lista di Action 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 alla aws-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 un rolebinding o clusterrolebinding che è legato a un Kubernetes role o clusterrole 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 RBAC nella documentazione Kubernetes. È possibile eseguire il download dei manifesti di esempio che creano un clusterrole e clusterrolebinding o un role e rolebinding 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 AWS non consente un percorso nell'ARN del ruolo utilizzato nella mappa di configurazione. Pertanto, rimuovi il percorso prima di specificare rolearn. Ad esempio, modifica arn:aws:iam::123456789012:role/team/developers/eks-admin in 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.

Importante

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: