

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

# Crittografia dei segreti Kubernetes con KMS su cluster esistenti
<a name="enable-kms"></a>

**Importante**  
Questa procedura si applica solo a cluster EKS che eseguono la versione 1.27 o precedente di Kubernetes. Se si esegue la versione 1.28 o successiva di Kubernetes, i segreti Kubernetes sono protetti con crittografia a busta per impostazione predefinita. Per ulteriori informazioni, consulta [Crittografia a busta predefinita per tutti i dati dell’API Kubernetes](envelope-encryption.md).

Se [abiliti la crittografia dei segreti](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/), i segreti Kubernetes vengono crittografati utilizzando la chiave KMS selezionata. AWS La chiave KMS deve soddisfare le condizioni seguenti:
+ Simmetria
+ Possibilità di crittografia e decrittografia dei dati
+ Creato nella stessa regione del cluster AWS 
+ Se la chiave KMS è stata creata in un account diverso, il [principale IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) dovrà avere accesso alla stessa.

Per ulteriori informazioni, consulta [Consentire ai responsabili IAM di altri account di utilizzare una chiave KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html) nella Key *[Management Service Developer](https://docs.aws.amazon.com/kms/latest/developerguide/)* Guide.AWS 

**avvertimento**  
Non è possibile disabilitare la crittografia dei segreti dopo averla abilitata. Questa operazione è irreversibile.

eksctl   
Questa procedura si applica solo a cluster EKS che eseguono la versione 1.27 o precedente di Kubernetes. Per ulteriori informazioni, consulta [Crittografia a busta predefinita per tutti i dati dell’API Kubernetes](envelope-encryption.md).

È possibile abilitare la crittografia in due modi:
+ Aggiungere la crittografia al cluster con un singolo comando.

  Per ricrittografare automaticamente i segreti, esegui il comando seguente.

  ```
  eksctl utils enable-secrets-encryption \
      --cluster my-cluster \
      --key-arn arn:aws: kms:region-code:account:key/key
  ```

  Per disattivare la ricrittografia automatica dei segreti, esegui il comando seguente.

  ```
  eksctl utils enable-secrets-encryption
      --cluster my-cluster \
      --key-arn arn:aws: kms:region-code:account:key/key \
      --encrypt-existing-secrets=false
  ```
+ Aggiungi la crittografia al cluster con un file `kms-cluster.yaml`.

  ```
  apiVersion: eksctl.io/v1alpha5
  kind: ClusterConfig
  
  metadata:
    name: my-cluster
    region: region-code
  
  secretsEncryption:
    keyARN: arn:aws: kms:region-code:account:key/key
  ```

  Per ricrittografare automaticamente i segreti, esegui il comando seguente.

  ```
  eksctl utils enable-secrets-encryption -f kms-cluster.yaml
  ```

  Per disattivare la ricrittografia automatica dei segreti, esegui il comando seguente.

  ```
  eksctl utils enable-secrets-encryption -f kms-cluster.yaml --encrypt-existing-secrets=false
  ```  
 Console di gestione AWS   

  1. Questa procedura si applica solo a cluster EKS che eseguono la versione 1.27 o precedente di Kubernetes. Per ulteriori informazioni, consulta [Crittografia a busta predefinita per tutti i dati dell’API Kubernetes](envelope-encryption.md).

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

  1. Scegli il cluster a cui aggiungere la crittografia KMS.

  1. Scegli la scheda **Overview** (Panoramica) (selezionata per impostazione predefinita).

  1. Scorri verso il basso fino a **Secrets encryption** (Crittografia dei segreti) e scegli **Enable** (Abilita).

  1. Seleziona una chiave nell'elenco a discesa e fare clic sul pulsante **Enable** (Abilita). Se non sono elencate chiavi, è necessario crearne una prima. Per ulteriori informazioni, consultare [Creazione chiavi](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) 

  1. Fai clic sul pulsante **Confirm** (Conferma) per utilizzare la chiave scelta.  
 AWS CLI  

  1. Questa procedura si applica solo a cluster EKS che eseguono la versione 1.27 o precedente di Kubernetes. Per ulteriori informazioni, consulta [Crittografia a busta predefinita per tutti i dati dell’API Kubernetes](envelope-encryption.md).

  1. Associa la configurazione di [crittografia segreta](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/) al tuo cluster utilizzando il seguente AWS comando CLI. Sostituire i valori di esempio con i propri valori.

     ```
     aws eks associate-encryption-config \
         --cluster-name my-cluster \
         --encryption-config '[{"resources":["secrets"],"provider":{"keyArn":"arn:aws: kms:region-code:account:key/key"}}]'
     ```

     Di seguito viene riportato un output di esempio.

     ```
     {
       "update": {
         "id": "3141b835-8103-423a-8e68-12c2521ffa4d",
         "status": "InProgress",
         "type": "AssociateEncryptionConfig",
         "params": [
           {
             "type": "EncryptionConfig",
             "value": "[{\"resources\":[\"secrets\"],\"provider\":{\"keyArn\":\"arn:aws: kms:region-code:account:key/key\"}}]"
           }
         ],
         "createdAt": 1613754188.734,
         "errors": []
       }
     }
     ```

  1. È possibile monitorare lo stato dell'aggiornamento di crittografia con il comando seguente. Usa il `cluster name` specifico e il valore `update ID` restituito nell'output precedente. Quando viene visualizzato lo stato `Successful`, l'aggiornamento è completo.

     ```
     aws eks describe-update \
         --region region-code \
         --name my-cluster \
         --update-id 3141b835-8103-423a-8e68-12c2521ffa4d
     ```

     Di seguito viene riportato un output di esempio:

     ```
     {
       "update": {
         "id": "3141b835-8103-423a-8e68-12c2521ffa4d",
         "status": "Successful",
         "type": "AssociateEncryptionConfig",
         "params": [
           {
             "type": "EncryptionConfig",
             "value": "[{\"resources\":[\"secrets\"],\"provider\":{\"keyArn\":\"arn:aws: kms:region-code:account:key/key\"}}]"
           }
         ],
         "createdAt": 1613754188.734>,
         "errors": []
       }
     }
     ```

  1. Per verificare che la crittografia sia attivata nel cluster, eseguire il comando `describe-cluster`. La risposta contiene una stringa `EncryptionConfig`.

     ```
     aws eks describe-cluster --region region-code --name my-cluster
     ```

Dopo aver abilitato la crittografia nel cluster, sarà necessario crittografare tutti i segreti esistenti con la nuova chiave:

**Nota**  
È necessario eseguire il comando seguente soltanto se si utilizza `eksctl` e la crittografia automatica dei segreti è disattivata.

```
kubectl get secrets --all-namespaces -o json | kubectl annotate --overwrite -f - kms-encryption-timestamp="time value"
```

**avvertimento**  
Se si abilita la [crittografia dei segreti](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/) per un cluster esistente e la chiave KMS utilizzata non viene mai eliminata, non sarà possibile ripristinare il cluster. L'eliminazione della chiave KMS metterà definitivamente il cluster in uno stato degradato. Per ulteriori informazioni, consulta [Eliminazione delle chiavi AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html).

**Nota**  
Per impostazione predefinita, il `create-key` comando crea una chiave [KMS di crittografia simmetrica con una politica chiave](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) che fornisce all'amministratore principale dell'account l'accesso alle azioni e alle AWS risorse KMS. Se si desidera ridurre l'ambito delle autorizzazioni, assicurarsi che le azioni `kms:DescribeKey` e `kms:CreateGrant` siano consentite nella policy per il principale che effettua la chiamata all'API `create-cluster`.  
Per cluster che utilizzano la crittografia a busta KMS, sono necessarie le autorizzazioni `kms:CreateGrant`. La condizione non `kms:GrantIsForAWSResource` è supportata per l' CreateCluster azione e non deve essere utilizzata nelle politiche KMS per controllare `kms:CreateGrant` le autorizzazioni degli utenti che eseguono. CreateCluster