

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

Per contribuire a questa guida per l'utente, scegli il GitHub link **Modifica questa pagina** nel riquadro destro di ogni 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à.

# Associare le policy di accesso alle voci di accesso
<a name="access-policies"></a>

È possibile assegnare una o più policy di accesso alle *voci di accesso* di *tipo* `STANDARD`. Amazon EKS concede automaticamente agli altri tipi di voci di accesso le autorizzazioni necessarie per funzionare correttamente nel cluster. Le policy di accesso di Amazon EKS includono le autorizzazioni di Kubernetes, non le autorizzazioni IAM. Prima di associare una policy di accesso a una voce di accesso, assicurati di conoscere le autorizzazioni di Kubernetes incluse in ogni policy di accesso. Per ulteriori informazioni, consulta [Rivedere le autorizzazioni della policy di accesso](access-policy-permissions.md). Se nessuna delle policy di accesso soddisfa i requisiti, non associarne alcuna a una voce di accesso. Specificare invece uno o più *nomi dei gruppi* per la voce di accesso, e creare e gestire oggetti di controllo degli accessi basato sui ruoli di Kubernetes. Per ulteriori informazioni, consulta [Creare voci di accesso](creating-access-entries.md).
+ Una voce di accesso esistente. Per crearne uno, consulta [Creare voci di accesso](creating-access-entries.md).
+ Un ruolo o un utente di AWS Identity and Access Management con le seguenti autorizzazioni: `ListAccessEntries``DescribeAccessEntry`,`UpdateAccessEntry`,, `ListAccessPolicies``AssociateAccessPolicy`, e`DisassociateAccessPolicy`. Per ulteriori informazioni, consulta [Actions defined by Amazon Elastic Kubernetes Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelastickubernetesservice.html#amazonelastickubernetesservice-actions-as-permissions) in *Service Authorization Reference*.

Prima di associare policy di accesso a voci di accesso, considera i seguenti requisiti:
+ È possibile associare più policy di accesso a ciascuna voce di accesso, ma è possibile associare ogni policy a una voce di accesso solo una volta. Se associ più policy di accesso, il principale IAM della voce di accesso dispone di tutte le autorizzazioni incluse in tutte le policy di accesso associate.
+ Puoi applicare una policy di accesso a tutte le risorse di un cluster o specificando il nome di uno o più namespace di Kubernetes. Puoi utilizzare caratteri jolly per il nome di un namespace. Ad esempio, se desideri applicare una policy di accesso a tutti i namespace che iniziano con `dev-`, puoi specificare `dev-*` come nome del namespace. Assicurati che i namespace siano presenti sul cluster e che quanto digitato corrisponda esattamente al nome reale del namespace sul cluster. Amazon EKS, infatti, non conferma l’ortografia o l’esistenza dei namespace sul cluster.
+ È possibile modificare l’*ambito di accesso* per una policy di accesso dopo averla associata a una voce di accesso. Se hai limitato l’ambito della policy di accesso ai namespace di Kubernetes, puoi aggiungere e rimuovere i namespace per l’associazione, secondo necessità.
+ Se associ una policy di accesso a una voce di accesso in cui sono specificati anche i *nomi dei gruppi*, il principale IAM dispone di tutte le autorizzazioni in tutte le policy di accesso associate. Inoltre, dispone di tutte le autorizzazioni in qualsiasi oggetto `Role` o `ClusterRole` di Kubernetes specificato in qualsiasi oggetto `Role` e `RoleBinding` di Kubernetes che specifica i nomi dei gruppi.
+ Se esegui il comando `kubectl auth can-i --list`, non vedrai alcun permesso di Kubernetes assegnato dalle policy di accesso associate a una voce di accesso per il principale IAM che stai utilizzando quando viene eseguito il comando. Il comando mostra le autorizzazioni di Kubernetes solo se le hai concesse a oggetti `Role` o `ClusterRole` di Kubernetes associati ai nomi dei gruppi o al nome utente specificato per una voce di accesso.
+ Se impersoni un utente o un gruppo di Kubernetes durante l’interazione con oggetti di Kubernetes sul cluster, ad esempio utilizzando il comando `kubectl` con `--as username ` o `--as-group group-name `, stai forzando l’uso dell’autorizzazione RBAC di Kubernetes. Di conseguenza, il principale IAM non dispone di autorizzazioni assegnate da alcuna policy di accesso associata alla voce di accesso. Le uniche autorizzazioni di Kubernetes di cui dispone l’utente o il gruppo che il principale IAM sta impersonando sono quelle di Kubernetes che hai concesso negli oggetti `Role` o `ClusterRole` di Kubernetes associati ai nomi dei gruppi o al nome utente. Per garantire che il principale IAM abbia le autorizzazioni nelle policy di accesso associate, evitare di impersonare un utente o un gruppo di Kubernetes. Il principale IAM avrà comunque anche tutte le autorizzazioni concesse negli oggetti `Role` o `ClusterRole` di Kubernetes associati ai nomi dei gruppi o al nome utente specificato per la voce di accesso. Per ulteriori informazioni, consulta [User impersonation](https://kubernetes.io/docs/reference/access-authn-authz/authentication/#user-impersonation) nella documentazione di Kubernetes.

È possibile associare una politica di accesso a una voce di accesso utilizzando Console di gestione AWS o la AWS CLI.

## Console di gestione AWS
<a name="access-associate-console"></a>

1. Aprire la [Console Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters).

1. Scegli il nome del cluster con una voce di accesso da associare a una policy di accesso.

1. Scegliere la scheda **Accesso**.

1. Se il tipo di voce di accesso è **Standard**, puoi associare o dissociare **le policy di accesso** di Amazon EKS. Se il tipo di voce di accesso è diverso da **Standard**, questa opzione non è disponibile.

1. Scegliere **Associa policy di accesso**.

1. Per **Nome della policy**, seleziona la policy con le autorizzazioni che desideri assegnare al principale IAM. Per visualizzare i permessi inclusi in ciascuna policy, consulta [Rivedere le autorizzazioni della policy di accesso](access-policy-permissions.md).

1. Per **Ambito di accesso**, scegli un ambito di accesso. Se scegli **Cluster**, le autorizzazioni nella policy di accesso vengono concesse al principale IAM per le risorse in tutti i namespace di Kubernetes. Se scegli **Namespace di Kubernetes**, puoi scegliere **Aggiungi nuovo namespace**. Nel campo **Namespace** che appare, puoi inserire il nome di un namespace di Kubernetes sul cluster. Se desideri che il principale IAM disponga delle autorizzazioni su più namespace, puoi inserirne più di uno.

1. Scegliere **Aggiungi policy di accesso**.

## AWS CLI
<a name="access-associate-cli"></a>

1. Versione `2.12.3` o successiva o versione `1.27.160` o successiva dell'interfaccia a riga di AWS comando (AWS CLI) installata e configurata sul dispositivo o. AWS CloudShell Per verificare la versione attuale, usa `aws --version | cut -d / -f2 | cut -d ' ' -f1`. I gestori di pacchetti come `yum``apt-get`, o Homebrew per macOS sono spesso diverse versioni dell'ultima versione della CLI AWS . Per installare la versione più recente, consulta [Installazione](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) e [configurazione rapida con aws configure](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config) nella Guida per l'utente dell'*interfaccia a riga di AWS comando*. La versione AWS CLI installata in AWS CloudShell potrebbe anche contenere diverse versioni precedenti alla versione più recente. Per aggiornarlo, consulta [Installazione della AWS CLI nella tua home directory nella Guida per](https://docs.aws.amazon.com/cloudshell/latest/userguide/vm-specs.html#install-cli-software) l'* AWS CloudShell utente*.

1. Visualizza le policy di accesso disponibili.

   ```
   aws eks list-access-policies --output table
   ```

   Di seguito viene riportato un output di esempio.

   ```
   ---------------------------------------------------------------------------------------------------------
   |                                          ListAccessPolicies                                           |
   +-------------------------------------------------------------------------------------------------------+
   ||                                           accessPolicies                                            ||
   |+---------------------------------------------------------------------+-------------------------------+|
   ||                                 arn                                 |             name              ||
   |+---------------------------------------------------------------------+-------------------------------+|
   ||  {arn-aws}eks::aws:cluster-access-policy/AmazonEKSAdminPolicy        |  AmazonEKSAdminPolicy         ||
   ||  {arn-aws}eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy |  AmazonEKSClusterAdminPolicy  ||
   ||  {arn-aws}eks::aws:cluster-access-policy/AmazonEKSEditPolicy         |  AmazonEKSEditPolicy          ||
   ||  {arn-aws}eks::aws:cluster-access-policy/AmazonEKSViewPolicy         |  AmazonEKSViewPolicy          ||
   |+---------------------------------------------------------------------+-------------------------------+|
   ```

   Per visualizzare i permessi inclusi in ciascuna policy, consulta [Rivedere le autorizzazioni della policy di accesso](access-policy-permissions.md).

1. Visualizza le voci di accesso esistenti. Sostituisci *my-cluster* con il nome del cluster.

   ```
   aws eks list-access-entries --cluster-name my-cluster
   ```

   Di seguito viene riportato un output di esempio.

   ```
   {
       "accessEntries": [
           "arn:aws: iam::111122223333:role/my-role",
           "arn:aws: iam::111122223333:user/my-user"
       ]
   }
   ```

1. Associa una policy di accesso a una voce di accesso. L’esempio seguente associa la policy di accesso `AmazonEKSViewPolicy` a una voce di accesso. Ogni volta che il ruolo *my-role* IAM tenta di accedere agli oggetti Kubernetes sul cluster, Amazon EKS autorizzerà il ruolo a utilizzare le autorizzazioni contenute nella policy per accedere agli oggetti Kubernetes solo nei namespace e Kubernetes. *my-namespace1* *my-namespace2* Sostituiscilo *my-cluster* con il nome del cluster, *111122223333* con l'ID AWS dell'account e *my-role* con il nome del ruolo IAM per cui desideri che Amazon EKS autorizzi l'accesso agli oggetti del cluster Kubernetes.

   ```
   aws eks associate-access-policy --cluster-name my-cluster --principal-arn arn:aws: iam::111122223333:role/my-role \
       --access-scope type=namespace,namespaces=my-namespace1,my-namespace2 --policy-arn arn:aws: eks::aws:cluster-access-policy/AmazonEKSViewPolicy
   ```

   Se desideri che il principale IAM disponga delle autorizzazioni a livello di cluster, sostituisci `type=namespace,namespaces=my-namespace1,my-namespace2 ` con `type=cluster`. Se desideri associare più policy di accesso alla voce di accesso, esegui il comando più volte, ogni volta con una policy di accesso unica. Ogni policy di accesso associata ha il proprio ambito.
**Nota**  
Se in seguito desideri modificare l’ambito di una policy di accesso associata, esegui nuovamente il comando precedente con il nuovo ambito. Ad esempio, se desideri rimuovere*my-namespace2*, esegui nuovamente il comando utilizzando only. `type=namespace,namespaces=my-namespace1 ` Se desidera modificare l’ambito da `namespace` a `cluster`, esegui nuovamente il comando utilizzando `type=cluster` e rimuovendo `type=namespace,namespaces=my-namespace1,my-namespace2 `.

1. Determina quali policy di accesso sono associate a una voce di accesso.

   ```
   aws eks list-associated-access-policies --cluster-name my-cluster --principal-arn arn:aws: iam::111122223333:role/my-role
   ```

   Di seguito viene riportato un output di esempio.

   ```
   {
       "clusterName": "my-cluster",
       "principalArn": "arn:aws: iam::111122223333",
       "associatedAccessPolicies": [
           {
               "policyArn": "arn:aws: eks::aws:cluster-access-policy/AmazonEKSViewPolicy",
               "accessScope": {
                   "type": "cluster",
                   "namespaces": []
               },
               "associatedAt": "2023-04-17T15:25:21.675000-04:00",
               "modifiedAt": "2023-04-17T15:25:21.675000-04:00"
           },
           {
               "policyArn": "arn:aws: eks::aws:cluster-access-policy/AmazonEKSAdminPolicy",
               "accessScope": {
                   "type": "namespace",
                   "namespaces": [
                       "my-namespace1",
                       "my-namespace2"
                   ]
               },
               "associatedAt": "2023-04-17T15:02:06.511000-04:00",
               "modifiedAt": "2023-04-17T15:02:06.511000-04:00"
           }
       ]
   }
   ```

   Nell’esempio precedente, il principale IAM per questa voce di accesso ha permessi di visualizzazione in tutti i namespace del cluster e permessi di amministratore per due namespace di Kubernetes.

1. Dissociazione di una policy di accesso da una voce di accesso. In questo esempio, la policy `AmazonEKSAdminPolicy` è dissociata da una voce di accesso. Tuttavia, il principale IAM mantiene le autorizzazioni nella politica di `AmazonEKSViewPolicy` accesso per gli oggetti nei *my-namespace2* namespace *my-namespace1* and, poiché tale politica di accesso non è dissociata dalla voce di accesso.

   ```
   aws eks disassociate-access-policy --cluster-name my-cluster --principal-arn arn:aws: iam::111122223333:role/my-role \
       --policy-arn arn:aws: eks::aws:cluster-access-policy/AmazonEKSAdminPolicy
   ```

Per elencare le policy di accesso disponibili, consultare [Rivedere le autorizzazioni della policy di accesso](access-policy-permissions.md).