

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

# Configurare le autorizzazioni ACK
<a name="ack-permissions"></a>

ACK richiede le autorizzazioni IAM per creare e gestire AWS risorse per tuo conto. Questo argomento spiega come IAM collabora con ACK e fornisce indicazioni sulla configurazione delle autorizzazioni per diversi casi d'uso.

## Come funziona IAM con ACK
<a name="_how_iam_works_with_ack"></a>

ACK utilizza i ruoli IAM per autenticarsi con le tue risorse AWS ed eseguire azioni sulle tue risorse. Esistono due modi per fornire le autorizzazioni a ACK:

 **Ruolo di capacità**: il ruolo IAM fornito durante la creazione della funzionalità ACK. Questo ruolo viene utilizzato di default per tutte le operazioni ACK.

 **Selettori di ruolo IAM**: ruoli IAM aggiuntivi che possono essere mappati su namespace o risorse specifici. Questi ruoli hanno la precedenza sul ruolo di capacità per le risorse che rientrano nel loro ambito.

Quando ACK deve creare o gestire una risorsa, determina quale ruolo IAM utilizzare:

1. Controlla se un IAMRole selettore corrisponde allo spazio dei nomi della risorsa

1. Se viene trovata una corrispondenza, assumi quel ruolo IAM

1. Altrimenti, usa il ruolo Capability

Questo approccio consente una gestione flessibile delle autorizzazioni, da semplici configurazioni a ruolo singolo a configurazioni complesse con più account e più team.

## Guida introduttiva: configurazione semplice delle autorizzazioni
<a name="_getting_started_simple_permission_setup"></a>

Per casi di sviluppo, test o semplici casi d'uso, puoi aggiungere tutte le autorizzazioni di servizio necessarie direttamente al Capability Role.

Questo approccio funziona bene quando:
+ Stai iniziando con ACK
+ Tutte le risorse si trovano nello stesso AWS account
+ Un unico team gestisce tutte le risorse ACK
+ Ti fidi che tutti gli utenti ACK abbiano le stesse autorizzazioni

## Best practice di produzione: IAM Role Selectors
<a name="_production_best_practice_iam_role_selectors"></a>

Per gli ambienti di produzione, utilizza IAM Role Selectors per implementare l'accesso con privilegi minimi e l'isolamento a livello di namespace.

Quando si utilizza IAM Role Selectors, il Capability Role necessita solo delle autorizzazioni per assumere i ruoli specifici del servizio. `sts:AssumeRole` `sts:TagSession` Non è necessario aggiungere alcuna autorizzazione di AWS servizio (come S3 o RDS) al Capability Role stesso: tali autorizzazioni vengono concesse ai singoli ruoli IAM assunti dal Capability Role.

 **Scelta tra modelli di autorizzazione:**

Utilizza **le autorizzazioni dirette** (aggiungendo le autorizzazioni di servizio al ruolo Capability) quando:
+ Stai iniziando e desideri la configurazione più semplice
+ Tutte le risorse si trovano nello stesso account del cluster
+ Hai requisiti di autorizzazione amministrativi a livello di cluster
+ Tutti i team possono condividere le stesse autorizzazioni

Usa **IAM Role Selectors quando**:
+ Gestione delle risorse su più account AWS 
+ Team o namespace diversi richiedono autorizzazioni diverse
+ È necessario un controllo granulare degli accessi per namespace
+ Vuoi seguire le pratiche di sicurezza con privilegi minimi

Puoi iniziare con autorizzazioni dirette e migrare a IAM Role Selectors in un secondo momento, man mano che le tue esigenze crescono.

 **Perché utilizzare IAM Role Selectors in produzione:** 
+  **Privilegio minimo**: ogni namespace ottiene solo le autorizzazioni di cui ha bisogno
+  **Isolamento del team**: il team A non può utilizzare accidentalmente le autorizzazioni del team B
+  **Controllo più semplice**: mappatura chiara di quale namespace utilizza quale ruolo
+  **Supporto per più account**: necessario per la gestione delle risorse in più account
+  **Separazione delle preoccupazioni**: servizi o ambienti diversi utilizzano ruoli diversi

### Configurazione di base di IAM Role Selector
<a name="_basic_iam_role_selector_setup"></a>

 **Fase 1: Creare un ruolo IAM specifico per il servizio** 

Crea un ruolo IAM con autorizzazioni per servizi specifici: AWS 

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:*"
      ],
      "Resource": "*"
    }
  ]
}
```

Configura la policy di fiducia per consentire al Capability Role di assumerla:

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111122223333:role/ACKCapabilityRole"
      },
      "Action": ["sts:AssumeRole", "sts:TagSession"]
    }
  ]
}
```

 **Fase 2: concedere AssumeRole l'autorizzazione a Capability Role** 

Aggiungi l'autorizzazione al ruolo di capacità per assumere il ruolo specifico del servizio:

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["sts:AssumeRole", "sts:TagSession"],
      "Resource": "arn:aws:iam::111122223333:role/ACK-S3-Role"
    }
  ]
}
```

 **Fase 3: Creare un selettore IAMRole** 

Mappa il ruolo IAM su un namespace:

```
apiVersion: services.k8s.aws/v1alpha1
kind: IAMRoleSelector
metadata:
  name: s3-namespace-config
spec:
  arn: arn:aws:iam::111122223333:role/ACK-S3-Role
  namespaceSelector:
    names:
      - s3-resources
```

 **Fase 4: Creare risorse nello spazio dei nomi mappato** 

Le risorse nello spazio dei `s3-resources` nomi utilizzano automaticamente il ruolo specificato:

```
apiVersion: s3.services.k8s.aws/v1alpha1
kind: Bucket
metadata:
  name: my-bucket
  namespace: s3-resources
spec:
  name: my-production-bucket
```

## Gestione di più account
<a name="_multi_account_management"></a>

Usa IAM Role Selectors per gestire le risorse su più AWS account.

 **Fase 1: Creare un ruolo IAM per più account** 

Nell'account di destinazione (444455556666), crea un ruolo che si fidi del ruolo di capacità dell'account di origine:

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111122223333:role/ACKCapabilityRole"
      },
      "Action": ["sts:AssumeRole", "sts:TagSession"]
    }
  ]
}
```

Assegna autorizzazioni specifiche del servizio a questo ruolo.

 **Passaggio 2: concedere l'autorizzazione AssumeRole ** 

Nell'account di origine (111122223333), consenti al ruolo Capability di assumere il ruolo dell'account di destinazione:

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["sts:AssumeRole", "sts:TagSession"],
      "Resource": "arn:aws:iam::444455556666:role/ACKTargetAccountRole"
    }
  ]
}
```

 **Fase 3: Creare un selettore IAMRole** 

Mappa il ruolo tra account diversi su un namespace:

```
apiVersion: services.k8s.aws/v1alpha1
kind: IAMRoleSelector
metadata:
  name: production-account-config
spec:
  arn: arn:aws:iam::444455556666:role/ACKTargetAccountRole
  namespaceSelector:
    names:
      - production
```

 **Fase 4: Creare risorse** 

Le risorse nel `production` namespace vengono create nell'account di destinazione:

```
apiVersion: s3.services.k8s.aws/v1alpha1
kind: Bucket
metadata:
  name: my-bucket
  namespace: production
spec:
  name: my-cross-account-bucket
```

## Tag di sessione
<a name="_session_tags"></a>

La funzionalità EKS ACK imposta automaticamente i tag di sessione su tutte le richieste AWS API. Questi tag consentono il controllo e la verifica granulari degli accessi identificando l'origine di ogni richiesta.

### Tag di sessione disponibili
<a name="_available_session_tags"></a>

I seguenti tag di sessione sono inclusi in ogni chiamata AWS API effettuata da ACK:


| Chiave del tag | Description | 
| --- | --- | 
|   `eks:eks-capability-arn`   |  L'ARN della capacità EKS che effettua la richiesta  | 
|   `eks:kubernetes-namespace`   |  Lo spazio dei nomi Kubernetes della risorsa gestita  | 
|   `eks:kubernetes-api-group`   |  Il gruppo di API Kubernetes della risorsa (ad esempio,) `s3.services.k8s.aws`  | 

### Utilizzo dei tag di sessione per il controllo degli accessi
<a name="_using_session_tags_for_access_control"></a>

Puoi utilizzare questi tag di sessione nelle condizioni delle policy IAM per limitare le risorse che ACK può gestire. Ciò fornisce un ulteriore livello di sicurezza oltre ai selettori di ruolo IAM basati su namespace.

 **Esempio: limita in base allo spazio dei nomi** 

Consenti a ACK di creare bucket S3 solo quando la richiesta proviene dal namespace: `production`

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:CreateBucket",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalTag/eks:kubernetes-namespace": "production"
        }
      }
    }
  ]
}
```

 **Esempio: limita per capacità** 

Consenti azioni solo da una funzionalità ACK specifica:

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:*",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalTag/eks:eks-capability-arn": "arn:aws:eks:us-west-2:111122223333:capability/my-cluster/ack/my-ack"
        }
      }
    }
  ]
}
```

**Nota**  
I tag di sessione sono diversi da ACK autogestiti, che non imposta questi tag per impostazione predefinita. Ciò consente un controllo degli accessi più granulare con la funzionalità gestita.

## Modelli avanzati di IAM Role Selector
<a name="_advanced_iam_role_selector_patterns"></a>

[Per una configurazione avanzata che include selettori di etichette, mappatura dei ruoli specifici delle risorse ed esempi aggiuntivi, consulta la documentazione ACK IRSA.](https://aws-controllers-k8s.github.io/community/docs/user-docs/irsa/)

## Fasi successive
<a name="_next_steps"></a>
+  [Concetti ACK](ack-concepts.md)- Comprendi i concetti e il ciclo di vita delle risorse di ACK
+  [Concetti ACK](ack-concepts.md)- Scopri le politiche di adozione ed eliminazione delle risorse
+  [Considerazioni sulla sicurezza per EKS Capabilities](capabilities-security.md)- Comprendi le migliori pratiche di sicurezza per quanto riguarda le funzionalità