Creare voci di accesso - Amazon EKS

Aiutaci 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à.

Vuoi contribuire a questa guida per l'utente? Scorri fino alla fine di questa pagina e seleziona Modifica questa pagina su GitHub. I tuoi contributi contribuiranno a rendere la nostra guida utente migliore per tutti.

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à.

Creare voci di accesso

Prima di creare voci di accesso, considera quanto segue:

  • Una modalità di autenticazione impostata correttamente. Per informazioni, consulta Modificare la modalità di autenticazione per utilizzare le voci di accesso.

  • Una voce di accesso include l'Amazon Resource Name (ARN) di uno e solo uno IAM principale esistente. Un IAM principal non può essere incluso in più di una voce di accesso. Considerazioni aggiuntive per ARN quanto specificato:

    • IAMle best practice consigliano di accedere al cluster utilizzando IAM ruoli con credenziali a breve termine, anziché IAM utenti con credenziali a lungo termine. Per ulteriori informazioni, consulta Richiedere agli utenti umani di utilizzare la federazione con un provider di identità per accedere AWS utilizzando credenziali temporanee nella Guida per l'IAMutente.

    • Se ARN è per un IAM ruolo, può includere un percorso. ARNsnelle aws-auth ConfigMap voci, non può includere un percorso. Ad esempio, il tuo ARN può essere arn:aws: iam::<111122223333>:role/<development/apps/my-role> o arn:aws: iam::<111122223333>:role/<my-role>.

    • Se il tipo di voce di accesso è diverso da STANDARD (vedi la prossima considerazione sui tipi), ARN deve trovarsi nello stesso AWS account in cui si trova il cluster. Se il tipo èSTANDARD, ARN può appartenere allo stesso account o a un AWS account diverso da quello in cui si trova il cluster.

    • Non è possibile modificare il IAM principale dopo aver creato la voce di accesso.

    • Se si elimina il IAM principale in questo modoARN, la voce di accesso non viene eliminata automaticamente. Si consiglia di eliminare la voce di accesso con un ARN per un IAM principale eliminato. Se non si elimina la voce di accesso e non si ricrea mai la voce IAM principale, anche se è la stessaARN, la voce di accesso non funzionerà. Questo perché, anche se ARN è lo stesso per il IAM principale ricreato, l'roleIDor userID (come si può vedere con il aws sts get-caller-identity AWS CLI comando) è diverso per il IAM principale ricreato rispetto al principale originale. IAM Anche se non vedi la voce IAM principale roleID o userID per una voce di accesso, Amazon la EKS memorizza con la voce di accesso.

  • Ogni voce di accesso include un tipo. È possibile specificare EC2_Linux (per un IAM ruolo utilizzato con nodi autogestiti Linux o Bottlerocket), EC2_Windows (per un IAM ruolo utilizzato con nodi autogestiti Windows), FARGATE_LINUX (per un ruolo IAM utilizzato con AWS Fargate (Fargate))HYBRID_LINUX, (per IAM un ruolo utilizzato con nodi ibridi) o come tipo. STANDARD Se non specifichi un tipo, Amazon imposta EKS automaticamente il tipo suSTANDARD. Non è necessario creare una voce di accesso per un IAM ruolo utilizzato per un gruppo di nodi gestiti o un profilo Fargate, poiché Amazon EKS aggiunge voci per questi ruoli a aws-authConfigMap, indipendentemente dalla versione della piattaforma in cui si trova il cluster.

    Non è possibile modificare il tipo dopo aver creato la voce di accesso.

  • Se il tipo di voce di accesso è STANDARD, puoi specificare un nome utente per la voce di accesso. Se non specifichi un valore per il nome utente, Amazon EKS imposta uno dei seguenti valori per te, a seconda del tipo di voce di accesso e del fatto che il IAM principale che hai specificato sia un IAM ruolo o un IAM utente. A meno che tu non abbia un motivo specifico per specificare il tuo nome utente, ti consigliamo di non specificarne uno e di lasciare che Amazon lo EKS generi automaticamente per te. Se decidi di specificare il tuo nome utente:

    • Non può iniziare consystem:,, eks: aws:amazon:, o. iam:

    • Se il nome utente è per un IAM ruolo, ti consigliamo di aggiungerlo {{SessionName}} alla fine del nome utente. Se lo aggiungi {{SessionName}} al tuo nome utente, il nome utente deve includere i due punti prima di {{SessionName}}. Quando si assume questo ruolo, il nome della sessione specificato quando si assume il ruolo viene passato automaticamente al cluster e verrà visualizzato nei CloudTrail log. Ad esempio, non puoi avere un nome utente di. john{{SessionName}} Il nome utente deve essere :john{{SessionName}} o jo:hn{{SessionName}}. Solo i due punti devono essere prima di {{SessionName}}. Il nome utente generato da Amazon EKS nella tabella seguente include unARN. Poiché an ARN include i due punti, soddisfa questo requisito. I due punti non sono obbligatori se non li includi {{SessionName}} nel tuo nome utente.

      IAMtipo principale Tipo Valore del nome utente che Amazon imposta EKS automaticamente

      Utente

      STANDARD

      ARNL'utente. Esempio: arn:aws: iam::<111122223333>:user/<my-user>

      Ruolo

      STANDARD

      Il STS ARN ruolo quando viene assunto. Amazon EKS si aggiunge {{SessionName}} al ruolo.

      Esempio: arn:aws: sts::<111122223333>:assumed-role/<my-role>/{{SessionName}}

      Se il ARN ruolo che hai specificato conteneva un percorso, Amazon lo EKS rimuove nel nome utente generato.

      Ruolo

      EC2_Linux o EC2_Windows

      system:node:{{EC2PrivateDNSName}}

      Ruolo

      FARGATE_LINUX

      system:node:{{SessionName}}

      Ruolo

      HYBRID_LINUX

      system:node:{{SessionName}}

      Puoi modificare il nome utente dopo aver creato la voce di accesso.

  • Se il tipo di una voce di accesso èSTANDARD, e desideri utilizzare Kubernetes RBACautorizzazione, è possibile aggiungere uno o più nomi di gruppo alla voce di accesso. Dopo aver creato una voce di accesso, puoi aggiungere e rimuovere i nomi dei gruppi. Affinché il IAM preside abbia accesso a Kubernetes gli oggetti del cluster, è necessario creare e gestire Kubernetes oggetti di autorizzazione (RBAC) basati sul ruolo. Crea Kubernetes RoleBindingo ClusterRoleBinding oggetti sul cluster che specificano il nome del gruppo come subject forma. kind: Group Kubernetes autorizza l'accesso IAM principale a tutti gli oggetti del cluster che hai specificato in un Kubernetes Roleo ClusterRole oggetto che hai specificato anche nelle tue associazioni. roleRef Se specifichi i nomi dei gruppi, ti consigliamo di conoscere Kubernetes oggetti di autorizzazione (RBAC) basati sul ruolo. Per ulteriori informazioni, vedete Utilizzo RBAC dell'autorizzazione in Kubernetes documentazione.

    Importante

    Amazon EKS non lo conferma Kubernetes RBACgli oggetti esistenti nel tuo cluster includono tutti i nomi di gruppo che hai specificato.

    Al posto di, o in aggiunta a Kubernetes autorizzando l'accesso IAM principale a Kubernetes oggetti sul tuo cluster, puoi associare le policy di EKS accesso di Amazon a una voce di accesso. Amazon EKS autorizza i IAM mandanti all'accesso Kubernetes oggetti sul tuo cluster con le autorizzazioni previste dalla politica di accesso. È possibile definire l'ambito delle autorizzazioni di una politica di accesso a Kubernetes namespace specificati dall'utente. L'uso delle politiche di accesso non richiede la gestione Kubernetes RBACoggetti. Per ulteriori informazioni, consulta Associare le politiche di accesso alle voci di accesso.

  • Se si crea una voce di accesso con tipo EC2_Linux oEC2_Windows, il IAM principale che crea la voce di accesso deve disporre dell'iam:PassRoleautorizzazione. Per ulteriori informazioni, vedere Concessione a un utente delle autorizzazioni per il trasferimento di un ruolo a un AWS servizio nella Guida per l'IAMutente.

  • Analogamente al IAMcomportamento standard, la creazione e gli aggiornamenti degli accessi alla fine sono coerenti e possono essere necessari alcuni secondi prima che la API chiamata iniziale abbia avuto esito positivo. È necessario progettare le applicazioni in modo da tenere in considerazione questi potenziali ritardi È consigliabile non includere le creazioni o gli aggiornamenti delle voci di accesso nei percorsi di codice critici e ad alta disponibilità dell'applicazione. Al contrario, apportare modifiche in un'inizializzazione separata o in una routine di configurazione che si esegue meno frequentemente. Inoltre, assicurarsi di verificare che le modifiche siano state propagate prima che i flussi di lavoro di produzione dipendano da esse.

  • Le voci di accesso non supportano i ruoli collegati al servizio. Non è possibile creare voci di accesso in cui il principale ARN è un ruolo collegato al servizio. È possibile identificare i ruoli collegati al servizio in base al loro ARN formato arn:aws: iam::*:role/aws-service-role/*.

È possibile creare una voce di accesso utilizzando AWS Management Console o il AWS CLI.

AWS Management Console

  1. Apri la EKSconsole Amazon.

  2. Scegli il nome del cluster in cui desideri creare una voce di accesso.

  3. Scegli la scheda Accesso.

  4. Seleziona Crea voce di accesso.

  5. Come IAMprincipale, seleziona un IAM ruolo o un utente esistente. IAMle best practice consigliano di accedere al cluster utilizzando IAM ruoli con credenziali a breve termine anziché IAM utenti con credenziali a lungo termine. Per ulteriori informazioni, consulta Richiedere agli utenti umani di utilizzare la federazione con un provider di identità per accedere AWS utilizzando credenziali temporanee nella Guida per l'IAMutente.

  6. Per Tipo, se la voce di accesso è per il ruolo del nodo utilizzato per EC2 i nodi Amazon autogestiti, seleziona EC2Linux o EC2Windows. Altrimenti, accetta l'impostazione predefinita (Standard).

  7. Se il Tipo che hai scelto è Standard e desideri specificare un Nome utente, inserisci il nome utente.

  8. Se il tipo che hai scelto è Standard e desideri utilizzare Kubernetes RBACautorizzazione per il IAM principale, specifica uno o più nomi per i gruppi. Se non specifichi alcun nome di gruppo e desideri utilizzare l'EKSautorizzazione Amazon, puoi associare una politica di accesso in un passaggio successivo o dopo la creazione della voce di accesso.

  9. (Facoltativo) Per Tag, assegna etichette alla voce di accesso. Ad esempio, per facilitare la ricerca di tutte le risorse con lo stesso tag.

  10. Scegli Next (Successivo).

  11. Nella pagina Aggiungi politica di accesso, se il tipo che hai scelto era Standard e desideri che Amazon EKS autorizzi il IAM principale a disporre delle autorizzazioni per Kubernetes oggetti sul tuo cluster, completa i seguenti passaggi. Altrimenti, scegli Next (Successivo).

    1. Per Nome della policy, scegli una policy di accesso. Non è possibile visualizzare le autorizzazioni delle politiche di accesso, ma queste includono autorizzazioni simili a quelle contenute in Kubernetes oggetti rivolti all'utenteClusterRole. Per ulteriori informazioni, vedete Ruoli rivolti all'utente nella Kubernetes documentazione.

    2. Selezionare una delle seguenti opzioni:

      • Cluster: scegli questa opzione se desideri che Amazon EKS autorizzi il IAM principale ad avere le autorizzazioni previste nella politica di accesso per tutti Kubernetes oggetti sul tuo cluster.

      • Kubernetes namespace: scegli questa opzione se desideri che Amazon autorizzi il IAM principale EKS ad avere le autorizzazioni nella politica di accesso per tutti Kubernetes oggetti in uno specifico Kubernetes namespace sul tuo cluster. Per Namespace, inserisci il nome del Kubernetes namespace sul tuo cluster. Se desideri aggiungere altri spazi dei nomi, scegli Aggiungi nuovo spazio dei nomi e inserisci il nome dello spazio dei nomi.

    3. Se desideri aggiungere ulteriori policy, scegli Aggiungi policy. Puoi definire l'ambito di ciascuna policy in modo diverso, ma puoi aggiungere ogni policy solo una volta.

    4. Scegli Next (Successivo).

  12. Verifica la configurazione per la tua voce di accesso. Se noti qualcosa di errato, scegli Precedente per tornare indietro e correggere l'errore. Se la configurazione è corretta, scegli Crea.

AWS CLI

  1. Installa il AWS CLI, come descritto nella Guida all'installazione nella Guida per l'utente dell'interfaccia a riga di AWS comando.

  2. Per creare una voce di accesso È possibile utilizzare uno dei seguenti esempi per creare voci di accesso:

    • Crea una voce di accesso per un gruppo di nodi Amazon EC2 Linux autogestito. Sostituiscilo my-cluster con il nome del cluster, 111122223333 con l'ID AWS dell'account e EKS-my-cluster-self-managed-ng-1 con il nome del IAMruolo del nodo. Se il gruppo di nodi è un gruppo di nodi Windows, sostituiscilo EC2_Linux conEC2_Windows.

      aws eks create-access-entry --cluster-name my-cluster --principal-arn arn:aws: iam::111122223333:role/EKS-my-cluster-self-managed-ng-1 --type EC2_Linux

      Non puoi usare l'--kubernetes-groupsopzione quando specifichi un tipo diverso daSTANDARD. Non è possibile associare una politica di accesso a questa voce di accesso, perché il suo tipo è un valore diverso daSTANDARD.

    • Crea una voce di accesso che consenta un IAM ruolo che non viene utilizzato per un gruppo di nodi Amazon EC2 autogestito, che desideri Kubernetes con cui autorizzare l'accesso al tuo cluster con. Sostituiscilo my-cluster con il nome del cluster, 111122223333 con l'ID AWS dell'account e my-role con il nome del tuo IAM ruolo. Sostituiscilo Viewers con il nome di un gruppo che hai specificato in un Kubernetes RoleBindingo ClusterRoleBinding oggetto sul tuo cluster.

      aws eks create-access-entry --cluster-name my-cluster --principal-arn arn:aws: iam::111122223333:role/my-role --type STANDARD --user Viewers --kubernetes-groups Viewers
    • Crea una voce di accesso che consenta a un IAM utente di autenticarsi nel cluster. Questo esempio viene fornito perché è possibile, tuttavia le IAM migliori pratiche consigliano di accedere al cluster utilizzando IAM ruoli con credenziali a breve termine, anziché IAM utenti con credenziali a lungo termine. Per ulteriori informazioni, consulta Richiedere agli utenti umani di utilizzare la federazione con un provider di identità per accedere AWS utilizzando credenziali temporanee nella Guida per l'IAMutente.

      aws eks create-access-entry --cluster-name my-cluster --principal-arn arn:aws: iam::111122223333:user/my-user --type STANDARD --username my-user

      Se desideri che questo utente abbia più accesso al tuo cluster rispetto alle autorizzazioni disponibili nel Kubernetes APIdiscovery roles, è necessario associare una policy di accesso alla voce di accesso, poiché l'--kubernetes-groupsopzione non viene utilizzata. Per ulteriori informazioni, vedere Associare le politiche di accesso alle voci di accesso and APIdiscovery roles in Kubernetes documentazione.