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? Scegli il GitHub link Modifica questa pagina che si trova nel riquadro destro di ogni pagina. 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à.
Crittografa i segreti di Kubernetes con {aws} KMS su cluster esistenti
Se abiliti la crittografia segreta,
-
Simmetria
-
Possibilità di crittografia e decrittografia dei dati
-
Creato nella stessa AWS regione del cluster
-
Se la chiave KMS è stata creata in un account diverso, il principale IAM dovrà avere accesso alla stessa.
Per ulteriori informazioni, consulta Consentire ai responsabili IAM di altri account di utilizzare una chiave KMS nella Key Management Service Developer Guide.AWS
avvertimento
Non è possibile disabilitare la crittografia segreta dopo averla abilitata. Questa operazione è irreversibile.
- eksctl
-
È 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
-
- AWS Management Console
-
-
Aprire la Console Amazon EKS
. -
Scegli il cluster a cui aggiungere la crittografia KMS.
-
Scegli la scheda Overview (Panoramica) (selezionata per impostazione predefinita).
-
Scorri verso il basso fino a Secrets encryption (Crittografia dei segreti) e scegli Enable (Abilita).
-
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
-
Fai clic sul pulsante Confirm (Conferma) per utilizzare la chiave scelta.
-
- AWS CLI
-
-
Associa la configurazione di crittografia segreta
al tuo cluster utilizzando il seguente AWS comando CLI. Sostituisci i example values
con i valori in tuo possesso.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": [] } }
-
È possibile monitorare lo stato dell'aggiornamento di crittografia con il comando seguente. Usa il
cluster name
specifico e il valoreupdate ID
restituito nell'output precedente. Quando viene visualizzato lo statoSuccessful
, 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": [] } }
-
Per verificare che la crittografia sia attivata nel cluster, eseguire il comando
describe-cluster
. La risposta contiene una stringaEncryptionConfig
.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 abiliti la crittografia dei segreti
Nota
Per impostazione predefinita, il create-key
comando crea una chiave KMS di crittografia simmetrica con una politica chiave 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