Panoramica
GKE su AWS utilizza chiavi simmetriche AWS Key Management Service (KMS) gestite dal cliente per criptare:
- Dati di stato di Kubernetes in etcd
- Dati utente dell'istanza EC2
- Volumi EBS per la crittografia at-rest dei dati del piano di controllo e del pool di nodi
Per gli ambienti di produzione, consigliamo di utilizzare chiavi diverse per la configurazione e la crittografia del volume. Per ridurre al minimo i rischi se una chiave viene compromessa, puoi anche creare chiavi diverse per ognuno degli elementi seguenti:
- Configurazione del piano di controllo del cluster
- Database del piano di controllo del cluster
- Volume principale del piano di controllo del cluster
- Volume principale del piano di controllo del cluster
- Configurazione del pool di nodi
- Volume principale del pool di nodi
Per maggiore sicurezza, puoi creare un criterio della chiave KMS di AWS che assegni solo l'insieme minimo di autorizzazioni richiesto. Per ulteriori informazioni, consulta Creazione di chiavi KMS con autorizzazioni specifiche.
Creazione di una chiave KMS AWS
Per creare una chiave, esegui questo comando:
aws --region AWS_REGION kms create-key \
--description "KEY_DESC"
Sostituisci quanto segue:
AWS_REGION
con il nome della tua regione AWSKEY_DESC
con una descrizione testuale della chiave
Per ogni chiave che crei, salva il valore denominato KeyMetadata.Arn
nell'output di questo comando per un utilizzo futuro.
Creazione di chiavi KMS con autorizzazioni specifiche
Se crei chiavi separate per funzioni diverse, devi fornire un criterio delle chiavi KMS per ogni chiave che concede le autorizzazioni appropriate per quella chiave. Se non specifichi un criterio della chiave quando crei una chiave, AWS KMS creerà un criterio delle chiavi predefinito che concede a tutte le entità nell'account proprietario accesso illimitato a tutte le operazioni per la chiave.
Quando crei un criterio della chiave, devi consentire a un criterio AWS IAM di accedere al criterio della chiave. Il criterio della chiave deve anche concedere al tuo account le autorizzazioni per utilizzare i criteri IAM. Senza l'autorizzazione del criterio della chiave, i criteri IAM che consentono le autorizzazioni non hanno effetto. Per ulteriori informazioni, consulta Criteri relativi alle chiavi nel KMS AWS.
La seguente tabella descrive le autorizzazioni per ciascuno dei ruoli AWS IAM utilizzati da GKE su AWS.
Ruolo agente di servizio API GKE Multi-Cloud | Ruolo del piano di controllo | Ruolo del pool di nodi | Ruolo del servizio AWS per scalabilità automatica | |
---|---|---|---|---|
Crittografia della configurazione del piano di controllo del cluster | kms:Crittografia | kms:Decrypt | N/A | N/A |
Crittografia del database del piano di controllo del cluster | N/A | kms:Encrypt kms:Decrypt |
N/A | N/A |
Crittografia del volume principale del piano di controllo del cluster | kms:GenerateDataKeyWithoutPlaintext | kms:CreateGrant | N/A | N/A |
Crittografia del volume radice del piano di controllo del cluster | N/A | N/A | N/A | Consulta le sezioni dei criteri relative alle chiavi che consentono l'accesso alla chiave gestita dal cliente |
Crittografia della configurazione del pool di nodi | kms:Crittografia | N/A | kms:Decrypt | N/A |
Crittografia del volume root del pool di nodi | N/A | N/A | N/A | Consulta le sezioni dei criteri relative alle chiavi che consentono l'accesso alla chiave gestita dal cliente |
Altri requisiti | kms:DescribeKey | N/A | N/A | N/A |