Informazioni sulla crittografia vSAN
La crittografia dei dati vSAN inattivi richiede un sistema di gestione delle chiavi (KMS). Google Cloud VMware Engine offre diverse opzioni per la gestione delle chiavi per la crittografia dei dati vSAN:
- Google-owned and Google-managed encryption keys (GMEK): per impostazione predefinita, la crittografia dei dati vSAN utilizza Google-owned and Google-managed encryption keys in Cloud Key Management Service per i cloud privati, senza costi aggiuntivi.
- Chiavi di crittografia gestite dal cliente (CMEK): puoi utilizzare CMEK in Cloud Key Management Service per gestire le chiavi di crittografia per i singoli cloud privati.
- KMS esterno: puoi eseguire il deployment di un KMS esterno per la crittografia dei dati vSAN inattivi da uno dei seguenti fornitori supportati.
Scegliere una soluzione di gestione delle chiavi
Per aiutarti a scegliere una soluzione di gestione delle chiavi, esamina il seguente confronto:
| Funzionalità | GMEK (impostazione predefinita) | CMEK | KMS esterno |
|---|---|---|---|
| Responsabilità di gestione delle chiavi | Cliente | Cliente | |
| Archiviazione delle chiavi | Cloud Key Management Service (progetto Google) | Cloud Key Management Service (progetto cliente) | KMS esterno |
| Livello di isolamento | Servizio regionale | Singolo cloud privato | Singolo cloud privato |
| Automazione della rotazione | Automatizzata da Google | Automatizzata da Google al momento della rotazione KMS | Gestita dal cliente |
| Costo della licenza aggiuntivo | Nessuno | Google Cloud Si applicano i costi di KMS | Licenza KMS di terze parti |
Questa pagina spiega il comportamento della crittografia vSAN e riassume le opzioni di gestione delle chiavi (GMEK, CMEK e KMS esterno) disponibili per criptare i dati delle macchine virtuali inattive in VMware Engine.
Crittografia dei dati vSAN
Per impostazione predefinita, VMware Engine abilita la crittografia vSAN per i dati nel cluster principale e nei cluster aggiunti successivamente al cloud privato. La crittografia dei dati vSAN inattivi utilizza una chiave di crittografia dei dati (DEK) archiviata sul disco fisico locale del cluster dopo la crittografia. La DEK è una chiave di crittografia AES-256 bit conforme a FIPS 140-2 livello 1 generata automaticamente dagli host ESXi. Il sistema utilizza una chiave di crittografia della chiave (KEK) fornita da Cloud Key Management Service o da un KMS esterno per criptare la DEK.
Ti sconsigliamo vivamente di disabilitare la crittografia vSAN dei dati inattivi, in quanto potresti violare i termini specifici del servizio per Google Cloud VMware Engine. Quando disabiliti la crittografia vSAN dei dati inattivi su un cluster, la logica di monitoraggio di VMware Engine genera un avviso. Per evitare di violare i termini di servizio, questo avviso attiva un'azione basata sull'assistenza clienti Google Cloud per riabilitare la crittografia vSAN sul cluster interessato.
Allo stesso modo, se configuri un KMS esterno, ti sconsigliamo vivamente di eliminare la configurazione del provider di chiavi di Cloud Key Management Service in vCenter Server.
Google-owned and Google-managed encryption keys (GMEK)
Per impostazione predefinita, i cloud privati utilizzano Google-owned and Google-managed encryption keys (GMEK). Con GMEK, VMware Engine configura vCenter Server per la connessione a un provider GMEK. VMware Engine crea un'istanza del provider di chiavi per regione e il provider di chiavi utilizza Cloud KMS per la crittografia della KEK. VMware Engine gestisce completamente il provider di chiavi e lo configura in modo che sia a elevata disponibilità in tutte le regioni.
Il provider GMEK integra il provider di chiavi nativo vSphere (NKP) in vCenter Server (in vSphere 7.0 Update 2 e versioni successive) ed è l'approccio consigliato per gli ambienti di produzione. L'NKP viene eseguito come processo all'interno di vCenter Server, che viene eseguito su un cluster vSphere in VMware Engine. VMware sconsiglia di utilizzare l'NKP per criptare il cluster che ospita vCenter Server. Utilizza invece GMEK, CMEK o un KMS esterno.
Rotazione automatica delle chiavi GMEK
Google Cloud VMware Engine attiva periodicamente una rotazione automatica delle chiavi GMEK per tutti i cluster. Si tratta di un'attività di manutenzione in background che non richiede l'intervento dell'utente e non influisce sulla disponibilità del cluster.
Chiavi di crittografia gestite dal cliente (CMEK)
Google Cloud VMware Engine supporta le chiavi di crittografia gestite dal cliente (CMEK) per i singoli cloud privati che utilizzano Cloud Key Management Service. Puoi configurare ogni cloud privato con una chiave CMEK distinta, anziché condividere una singola chiave nell'intero progetto. Questo offre i seguenti vantaggi:
- Isolamento avanzato: la compromissione di una chiave per un cloud privato non influisce sugli altri.
- Controllo granulare: assegna chiavi diverse a ambienti diversi per soddisfare i requisiti di conformità.
Gestire la crittografia CMEK
Puoi configurare e gestire le chiavi di crittografia gestite dal cliente (CMEK) per il tuo
cloud privato utilizzando la Google Cloud console, Google Cloud CLI e l'API VMware Engine. Per utilizzare
CMEK, devi concedere il ruolo IAM roles/cloudkms.cryptoKeyEncrypterDecrypter
al tuo account di servizio VMware Engine
(service-<var>PROJECT_NUMBER</var>@gcp-sa-vmwareengine.)
per la chiave Cloud KMS specifica che intendi utilizzare. Questa autorizzazione consente a VMware Engine di criptare e decriptare la chiave di crittografia della chiave (KEK) che protegge i dati vSAN utilizzando la chiave Cloud KMS selezionata nel tuo progetto.
Assegnare le autorizzazioni delle chiavi
Prima di poter abilitare CMEK, devi assegnare le autorizzazioni necessarie:
Identifica la risorsa KMS: vai alla pagina Gestione delle chiavi nella Google Cloud console e trova la chiave Cloud KMS specifica da utilizzare per la protezione dei dati
Configura i ruoli IAM: concedi il ruolo roles/cloudkms.cryptoKeyEncrypterDecrypter al account di servizio VMware Engine (
service-<var>PROJECT_NUMBER</var>@gcp-sa-vmwareengine.) direttamente nella dashboard della chiave Cloud KMS.
Google Cloud Istruzioni per la console, Google Cloud CLI e l'API VMware Engine per la gestione di CMEK:
Console
Per configurare le chiavi di crittografia gestite dal cliente (CMEK) utilizzando la Google Cloud console, procedi nel seguente modo:
Creare un cloud privato con CMEK
Per creare un cloud privato con CMEK utilizzando la Google Cloud console:
Nella Google Cloud console, vai alla pagina Cloud privati.
Fai clic su Crea.
Nella sezione Crittografia, scegli Chiavi di crittografia gestite dal cliente (CMEK).
Inserisci il nome completo della risorsa della chiave Cloud KMS.
Fai clic su Crea o Salva.
Aggiornare la chiave CMEK per un cloud privato esistente
Per aggiornare la chiave CMEK per un cloud privato esistente utilizzando la Google Cloud console:
Nella Google Cloud console, vai alla pagina Cloud privati.
Seleziona il cloud privato esistente da aggiornare.
Nella sezione Crittografia, scegli Chiavi di crittografia gestite dal cliente (CMEK).
Inserisci il nome completo della risorsa della chiave Cloud KMS.
Fai clic su Crea o Salva.
Aggiornare la crittografia a GMEK per un cloud privato esistente
Per aggiornare il tipo di crittografia a GMEK per un cloud privato esistente utilizzando la Google Cloud console:
Nella Google Cloud console, vai alla pagina Cloud privati.
Seleziona il cloud privato esistente da aggiornare.
Nella sezione Crittografia, scegli Google-owned and Google-managed encryption keys (GMEK).
Fai clic su Crea o Salva.
gcloud
Per creare un cloud privato con CMEK, utilizza il
gcloud vmware private-clouds create
comando:
gcloud vmware private-clouds create PC_ID \ --location=ZONE \ --cluster=CLUSTER_ID \ --node-type-config=type=NODE_TYPE,count=COUNT,custom-core-count=CUSTOM_CORE_COUNT \ --management-range=CIDR_RANGE \ --vmware-engine-network=projects/PROJECT_ID/locations/global/vmwareEngineNetworks/NETWORK_ID \ --kms-key=projects/PROJECT_ID/locations/REGION/keyRings/RING/cryptoKeys/KEY
Per aggiornare la chiave CMEK per un cloud privato esistente, utilizza il
gcloud vmware private-clouds update
comando:
gcloud vmware private-clouds update PC_NAME \ --location=ZONE \ --encryption-type=CMEK \ --kms-key=projects/PROJECT_ID/locations/REGION/keyRings/RING/cryptoKeys/KEY
Per aggiornare il tipo di crittografia a GMEK (Google-owned and Google-managed encryption keys)
per un cloud privato esistente, utilizza il
gcloud vmware private-clouds update
comando e ometti il --kms-key parametro:
gcloud vmware private-clouds update PC_NAME \ --location=ZONE \ --encryption-type=GMEK
Prima di eseguire i comandi, sostituisci quanto segue:
PROJECT_ID: l' Google Cloud ID progetto.ZONE: la zona VMware Engine, ad esempious-east4-a.PC_ID: l'ID del nuovo cloud privato.CLUSTER_ID: l'ID del cluster di gestione.NODE_TYPE: il tipo di nodo, ad esempiostandard-72.COUNT: il numero di nodi nel cluster.CUSTOM_CORE_COUNT: il numero di core disponibili per ogni nodo nel cluster. Facoltativo.CIDR_RANGE: l'intervallo CIDR di gestione per il cloud privato.NETWORK_ID: l'ID della rete VPC.REGION: la regione Cloud KMS, ad esempious-east4.RING: il nome delle chiavi automatizzate di Cloud KMS.KEY: il nome della chiave di crittografia Cloud KMS.PC_NAME: il nome del cloud privato esistente.
API
Per creare un cloud privato con CMEK, utilizza il privateClouds.create metodo e specifica il
encryptionConfig parametro:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
"https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds?private_cloud_id=PC_ID" \
-d '{
"networkConfig": {
"vmwareEngineNetwork": "projects/PROJECT_ID/locations/global/vmwareEngineNetworks/NETWORK_ID",
"managementCidr": "CIDR_RANGE"
},
"managementCluster": {
"clusterId": "CLUSTER_ID",
"nodeTypeConfigs": {
"NODE_TYPE": {
"nodeCount": COUNT
}
}
},
"encryptionConfig": {
"cryptoKeyName": "projects/PROJECT_ID/locations/REGION/keyRings/RING/cryptoKeys/KEY"
}
}'
Per aggiornare la chiave CMEK per un cloud privato esistente, utilizza il privateClouds.patch metodo:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
"https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PC_NAME?updateMask=encryptionConfig" \
-d '{
"encryptionConfig": {
"cryptoKeyName": "projects/PROJECT_ID/locations/REGION/keyRings/RING/cryptoKeys/KEY"
}
}'
Per riportare un cloud privato esistente a GMEK (Google-owned and Google-managed encryption keys), utilizza il privateClouds.patch metodo con un oggetto encryptionConfig vuoto:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
"https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PC_NAME?updateMask=encryptionConfig" \
-d '{
"encryptionConfig": {}
}'
Prima di eseguire i comandi, sostituisci quanto segue:
PROJECT_ID: l' Google Cloud ID progetto.ZONE: la zona VMware Engine, ad esempious-east4-a.REGION: la regione Cloud KMS, ad esempious-east4.PC_ID: l'ID del nuovo cloud privato.NETWORK_ID: l'ID della rete VPC.CIDR_RANGE: l'intervallo CIDR di gestione per il cloud privato.CLUSTER_ID: l'ID del cluster di gestione.NODE_TYPE: il tipo di nodo, ad esempiostandard-72.COUNT: il numero di nodi nel cluster.RING: il nome delle chiavi automatizzate di Cloud KMS.KEY: il nome della chiave di crittografia Cloud KMS.PC_NAME: il nome del cloud privato esistente.
Informazioni su vincoli e limitazioni di CMEK
- Requisiti regionali: sia il cloud privato sia la chiave Cloud KMS selezionata devono risiedere nella stessa regione. Tieni presente che le chiavi globali di Google Cloud KMS non sono supportate per la crittografia vSAN.
- Disponibilità delle chiavi: se la chiave di crittografia diventa inaccessibile perché è stata disabilitata o revocata, tutte le operazioni vSAN dipendenti non andranno a buon fine. Le procedure fondamentali, inclusi i riavvii degli host e la nuova chiave superficiale, non possono essere eseguite finché l'accesso alle chiavi non viene ristabilito correttamente.
Efficienza operativa con la rotazione automatica delle chiavi KEK di CMEK
Per le organizzazioni che scelgono CMEK, la funzionalità di rotazione automatica delle chiavi KEK per la crittografia dei dati vSAN inattivi automatizza le attività di sicurezza manuali:
- Sincronizzazione automatica: il sistema monitora Cloud KMS e rileva automaticamente le rotazioni delle chiavi.
- Rotazione KEK in background senza interruzioni: al momento della rotazione, il sistema avvia una rotazione KEK superficiale, garantendo una protezione continua senza interventi manuali in vCenter. Questa operazione aggiorna la chiave di crittografia della chiave per le chiavi di crittografia dei dati (DEK) con una nuova chiave di crittografia della chiave (KEK). Poiché le DEK criptano direttamente i dati vSAN, questa procedura non richiede una nuova crittografia completa dei dati vSAN.
- Gestione senza tempi di inattività: il sistema genera e applica le KEK in background, mantenendo prestazioni e disponibilità per i workload. Questa procedura viene in genere completata entro 48 ore dalla rotazione di una chiave Cloud KMS.
Requisito per le macchine virtuali criptate
Puoi gestire le chiavi di crittografia per le VM utilizzando il provider predefinito Google-owned and managed key o Cloud Key Management Service.
Se abiliti la crittografia VM (o vTPM) per le VM nel tuo cloud privato e utilizzi un KMS per gestire le chiavi di crittografia, devi criptare di nuovo (nuova chiave superficiale) ogni VM dopo aver ruotato la chiave KMS.
Una nuova chiave superficiale sostituisce solo la chiave di crittografia della chiave (KEK) e non modifica la chiave di crittografia dei dati (DEK) delle VM. In genere, attivi una nuova chiave superficiale utilizzando l'azione Cripta di nuovo in vSphere Client.
Durante questa operazione, il sistema esegue di nuovo il wrapping (cripta di nuovo) della DEK esistente utilizzando una nuova KEK. Questa procedura è rapida perché non riscrive i dati effettivi sul disco, ma aggiorna solo il piccolo pacchetto di chiavi che contiene la DEK criptata. Per ulteriori informazioni, consulta la seguente documentazione di VMware:
Rischi di non eseguire la nuova chiave delle VM criptate
Se non esegui la nuova chiave delle VM criptate prima di eliminare la versione della chiave KMS ruotata (precedente), possono verificarsi i seguenti problemi:
- vMotion non riusciti: gli host ESXi non possono decriptare le DEK delle VM durante vMotion se riavvii gli host di destinazione o li aggiungi al cluster dopo la rotazione della chiave KMS, ma prima di eseguire la nuova chiave della VM.
- Errori di accensione: se un host viene riavviato o cancella la cache delle chiavi locali, non può acquisire di nuovo le chiavi dal KMS. Se hai eliminato le chiavi richieste dal KMS, l'host non può decriptare la DEK, il che impedisce l'accensione delle VM criptate.
Passaggi per eseguire un'operazione di nuova chiave sulle VM dei workload
- In vSphere Client, fai clic con il tasto destro del mouse sulla VM.
- Seleziona Policy VM > Cripta di nuovo.
- Conferma la richiesta di nuova crittografia nella finestra di dialogo visualizzata.
- Attendi il completamento dell'attività.
- Verifica la nuova chiave eseguendo la migrazione della VM a un host che hai riavviato o aggiunto al cluster dopo la rotazione della chiave KMS.
KMS esterno
In alternativa, puoi selezionare una soluzione KMS di terze parti conforme a KMIP 1.1 e certificata da VMware per vSAN. I seguenti fornitori hanno convalidato la loro soluzione KMS con VMware Engine e hanno pubblicato guide al deployment e dichiarazioni di supporto:
Per istruzioni di configurazione, consulta i seguenti documenti:
- Configurazione della crittografia vSAN mediante Fortanix KMS
- Configurazione della crittografia vSAN mediante CipherTrust Manager
- Configurazione della crittografia vSAN mediante HyTrust KeyControl
Utilizzare un fornitore supportato
Ogni deployment di un KMS esterno richiede gli stessi passaggi di base:
- Crea un Google Cloud progetto o utilizzane uno esistente.
- Crea una nuova rete Virtual Private Cloud (VPC) o scegli una rete VPC esistente.
- Collega la rete VPC selezionata alla rete VMware Engine.
Quindi, esegui il deployment di KMS in un'istanza VM di Compute Engine:
- Configura le autorizzazioni IAM richieste per eseguire il deployment delle istanze VM di Compute Engine.
- Esegui il deployment di KMS in Compute Engine.
- Stabilisci l'attendibilità tra vCenter e KMS.
- Abilita la crittografia dei dati vSAN.
Le sezioni seguenti descrivono brevemente questa procedura di utilizzo di uno dei fornitori supportati.
Configurare le autorizzazioni IAM
Devi disporre di autorizzazioni sufficienti per eseguire il deployment delle istanze VM di Compute Engine in un dato Google Cloud progetto e in una rete VPC, collegare la rete VPC a VMware Engine e configurare le regole firewall per la rete VPC.
I proprietari dei progetti e le entità IAM con il ruolo Network Admin possono creare intervalli IP allocati e gestire le connessioni private. Per ulteriori informazioni sui ruoli, consulta Ruoli IAM di Compute Engine.
Eseguire il deployment del sistema di gestione delle chiavi in Compute Engine
Alcune soluzioni KMS sono disponibili in formato appliance in Google Cloud Marketplace. Puoi eseguire il deployment di queste appliance importando l'OVA direttamente nella rete VPC o nel Google Cloud progetto.
Per KMS basato su software, esegui il deployment di un'istanza VM di Compute Engine utilizzando la configurazione (numero di vCPU, vMem e dischi) consigliata dal fornitore KMS. Installa il software KMS nel sistema operativo guest. Crea l'istanza VM di Compute Engine in una rete VPC connessa alla rete VMware Engine.
Stabilire l'attendibilità tra vCenter e KMS
Dopo aver eseguito il deployment di KMS in Compute Engine, configura VMware Engine vCenter per recuperare le chiavi di crittografia da KMS.
Innanzitutto, aggiungi i dettagli della connessione KMS a vCenter. Quindi, stabilisci l'attendibilità tra vCenter e KMS. Per stabilire l'attendibilità tra vCenter e KMS:
- Genera un certificato in vCenter.
- Firmalo utilizzando un token o una chiave generata da KMS.
- Fornisci o carica il certificato in vCenter.
- Verifica lo stato della connettività controllando l'impostazione e lo stato di KMS nella pagina di configurazione del server vCenter.
Abilitare la crittografia dei dati vSAN
In vCenter, l'utente CloudOwner predefinito dispone di privilegi sufficienti per abilitare e gestire la crittografia dei dati vSAN.
Per passare da un KMS esterno al provider Google-owned and managed key predefinito, segui i passaggi per modificare il provider di chiavi forniti nella documentazione di VMware Configurazione e gestione di un provider di chiavi standard.