Aiutaci a migliorare questa pagina
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à.
Crittografa i segreti di Kubernetes con i cluster esistenti AWS KMS
Se abiliti la crittografia dei segreti, i segreti di Kubernetes vengono crittografati utilizzando la AWS KMS key
selezionata. La KMS chiave deve soddisfare le seguenti condizioni:
-
Simmetria
-
Possibilità di crittografia e decrittografia dei dati
-
Creato nello Regione AWS stesso ambiente del cluster
-
Se la KMS chiave è stata creata in un account diverso, il IAMprincipale deve avere accesso alla KMS chiave.
Per ulteriori informazioni, consulta IAMConsentire ai responsabili di altri account di utilizzare una KMS chiave nella Guida per gli AWS Key Management Service sviluppatori.
Non è possibile disabilitare la crittografia dei segreti 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
-
Apri la EKS console Amazon a https://console.aws.amazon.com/eks/home#/clusters.
-
Scegli il cluster a cui desideri 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 CLI comando. Sostituisci il valori di esempio
con il tuo.
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 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": []
}
}
-
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:
È 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
"
Se abiliti la crittografia segreta per un cluster esistente e la KMS chiave che usi viene eliminata, non c'è modo di ripristinare il cluster. Se elimini la KMS chiave, metti definitivamente il cluster in uno stato degradato. Per ulteriori informazioni, consulta AWS
KMSEliminazione delle chiavi.
Per impostazione predefinita, il create-key
comando crea una KMSchiave di crittografia simmetrica con una politica chiave che consente all'amministratore principale dell'account di accedere ad AWS KMS azioni e risorse. Se desideri limitare le autorizzazioni, assicurati che le kms:CreateGrant
azioni kms:DescribeKey
e siano consentite nella politica del principale che chiama il. create-cluster
API
Per i cluster che utilizzano KMS Envelope Encryption, sono necessarie le kms:CreateGrant
autorizzazioni. La condizione non kms:GrantIsForAWSResource
è supportata per l' CreateClusterazione e non deve essere utilizzata nelle KMS politiche per controllare le kms:CreateGrant
autorizzazioni degli utenti che eseguono. CreateCluster