Cripta un disco di avvio della VM TPU con una chiave di crittografia gestita dal cliente (CMEK) con Compute Engine
Per impostazione predefinita, Cloud TPU cripta i contenuti inattivi dei clienti. Cloud TPU gestisce la crittografia per conto tuo senza che tu debba fare altro. Questa opzione è denominata crittografia predefinita di Google.
Se vuoi controllare le tue chiavi di crittografia, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) in Cloud KMS con servizi integrati con CMEK, tra cui Cloud TPU. L'utilizzo delle chiavi Cloud KMS ti consente di controllare il livello di protezione, la località, la pianificazione della rotazione, le autorizzazioni di utilizzo e di accesso e i limiti crittografici. Con Cloud KMS puoi inoltre visualizzare i log di controllo e controllare i cicli di vita delle chiavi. Invece di Google, sei tu ad avere la proprietà e la gestione delle chiavi di crittografia della chiave (KEK) simmetriche che proteggono i tuoi dati. Puoi controllare e gestire queste chiavi in Cloud KMS.
Dopo aver configurato le risorse con le CMEK, l'esperienza di accesso alle risorse Cloud TPU è simile all'utilizzo della crittografia predefinita di Google. Per saperne di più sulle opzioni di crittografia, consulta Chiavi di crittografia gestite dal cliente (CMEK).
Per utilizzare una chiave CMEK, crea una chiave automatizzata.
Crea la tua chiave automatizzata nella stessa posizione in cui crei
la tua VM TPU o sezione. Ad esempio, una VM TPU nella zona us-central1-a può
utilizzare solo una chiave nella regione us-central1.
Poi, crea una chiave nel keyring. Dopo aver creato una CMEK, consente alaccount di serviziot Compute Engine di accedere alla tua chiave.
Concedere l'autorizzazione per utilizzare la chiave
Concedi il ruolo IAM Cloud KMS CryptoKey Encrypter/Decrypter
(roles/cloudkms.cryptoKeyEncrypterDecrypter) per la chiave Cloud KMS all'agente di servizio Compute Engine
nel tuo progetto Google Cloud . La concessione di questo ruolo consente al servizio Compute Engine di accedere e utilizzare la chiave di crittografia.
Per concedere il ruolo roles/cloudkms.cryptoKeyEncrypterDecrypter all'agente di servizio Compute Engine, seleziona una delle seguenti opzioni:
gcloud
Esegui questo comando:
gcloud kms keys add-iam-policy-binding KEY_NAME \
--location LOCATION \
--keyring RING_NAME \
--member serviceAccount:service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com \
--role roles/cloudkms.cryptoKeyEncrypterDecrypter \
--project KEY_PROJECT_ID
Sostituisci quanto segue:
- KEY_NAME: il nome della chiave.
- LOCATION: la località in cui hai creato le chiavi automatizzate.
- RING_NAME: il nome delle chiavi automatizzate.
- PROJECT_NUMBER: il tuo Google Cloud numero di progetto.
- KEY_PROJECT_ID: il tuo ID progetto chiave.
Console
- Nella console Google Cloud , vai alla pagina Gestione chiavi.
Fai clic sul nome delle chiavi automatizzate contenenti la chiave.
Fai clic sul nome della chiave da modificare.
Fai clic su Autorizzazioni.
Fai clic su Concedi l'accesso. Viene visualizzato il riquadro Concedi l'accesso.
Nel campo Nuove entità, inserisci il nome del service agent Compute Engine:
service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.comSostituisci PROJECT_NUMBER con il numero del tuo progetto Google Cloud .
Nel menu Seleziona un ruolo, seleziona Cloud KMS CryptoKey Encrypter/Decrypter.
Fai clic su Salva.
Crea una VM TPU con una chiave CMEK
Puoi specificare una chiave di crittografia gestita dal cliente (CMEK) quando crei una VM TPU o un modello di istanza per un gruppo di istanze gestite (MIG) utilizzando il flag --boot-disk-kms-key.
Crea una singola istanza VM TPU con una chiave CMEK
Per specificare una chiave CMEK durante la creazione di una singola VM TPU, utilizza il flag --boot-disk-kms-key
nel comando gcloud compute instances create:
gcloud compute instances create TPU_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--maintenance-policy=TERMINATE \
--boot-disk-kms-key=projects/KEY_PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
Sostituisci i seguenti segnaposto:
- TPU_NAME: un nome per la VM TPU.
- MACHINE_TYPE: il tipo di macchina
per la VM TPU, ad esempio
ct6e-standard-8t. - IMAGE_FAMILY: la famiglia di immagini del sistema operativo
per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il flag
--image. Per ulteriori informazioni sulle immagini sistema operativo, consulta Immagini sistema operativo. - IMAGE_PROJECT: Il progetto che contiene l'immagine sistema operativo.
Per le immagini TPU, questo valore è
ubuntu-os-accelerator-images. - ZONE: la zona
per la VM TPU, ad esempio
us-central1-b. - KEY_PROJECT_ID: il progetto che contiene la chiave di crittografia.
- REGION: la regione in cui hai creato le chiavi automatizzate.
- RING_NAME: il nome delle chiavi automatizzate.
- KEY_NAME: il nome della chiave.
Crea un MIG con una sezione a singolo host con una CMEK
Per utilizzare una chiave CMEK con un MIG, specifica la chiave quando crei il modello di istanza.
Crea un modello di istanza utilizzando il flag
--boot-disk-kms-key:gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --machine-type=MACHINE_TYPE \ --maintenance-policy=TERMINATE \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --boot-disk-kms-key=projects/KEY_PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAMESostituisci i seguenti segnaposto:
- INSTANCE_TEMPLATE_NAME: un nome per il modello di istanza.
- MACHINE_TYPE: il tipo di macchina
per la VM TPU, ad esempio
ct6e-standard-8t. - IMAGE_FAMILY: la famiglia di immagini del sistema operativo
per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il flag
--image. Per ulteriori informazioni sulle immagini sistema operativo, consulta Immagini sistema operativo. - IMAGE_PROJECT: Il progetto che contiene l'immagine sistema operativo.
Per le immagini TPU, questo valore è
ubuntu-os-accelerator-images. - KEY_PROJECT_ID: il progetto che contiene la chiave di crittografia.
- REGION: la regione in cui hai creato le chiavi automatizzate.
- RING_NAME: il nome delle chiavi automatizzate.
- KEY_NAME: il nome della chiave.
Crea un MIG utilizzando il modello:
gcloud compute instance-groups managed create MIG_NAME \ --size=MIG_SIZE \ --template=INSTANCE_TEMPLATE_NAME \ --zone=ZONE \ --size=MIG_SIZESostituisci i seguenti segnaposto:
- MIG_NAME: un nome per il tuo MIG.
- MIG_SIZE: il numero di VM TPU nel MIG.
- INSTANCE_TEMPLATE_NAME: il nome del modello di istanza da utilizzare.
- ZONE: la zona
per la VM TPU, ad esempio
us-central1-b. - MIG_SIZE: il numero di VM TPU nel MIG. Per una VM TPU a host singolo, imposta la dimensione su 1.
Crea un MIG con una sezione multi-host con una CMEK
Quando crei un MIG multi-host, specifica la chiave di crittografia nel modello di istanza.
Crea il template di istanza.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME --machine-type=MACHINE_TYPE \ --maintenance-policy=TERMINATE \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --boot-disk-kms-key=projects/KEY_PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAMESostituisci i seguenti segnaposto:
- INSTANCE_TEMPLATE_NAME: un nome per il modello di istanza.
- MACHINE_TYPE: il tipo di macchina
per la VM TPU, ad esempio
ct6e-standard-8t. - IMAGE_FAMILY: la famiglia di immagini del sistema operativo
per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il flag
--image. Per ulteriori informazioni sulle immagini sistema operativo, consulta Immagini sistema operativo. - IMAGE_PROJECT: Il progetto che contiene l'immagine sistema operativo.
Per le immagini TPU, questo valore è
ubuntu-os-accelerator-images. - KEY_PROJECT_ID: il progetto che contiene la chiave di crittografia.
- REGION: la regione in cui hai creato le chiavi automatizzate.
- RING_NAME: il nome delle chiavi automatizzate.
- KEY_NAME: il nome della chiave.
Crea una policy del workload.
Il seguente comando crea una policy del workload:
gcloud compute resource-policies create workload WORKLOAD_POLICY_NAME \ --type=high-throughput \ --accelerator-topology=TOPOLOGYSostituisci i seguenti segnaposto:
- WORKLOAD_POLICY_NAME: Il nome della policy del workload.
- TOPOLOGY: La topologia delle VM TPU, ad esempio
4x4x8.
Crea il MIG.
gcloud compute instance-groups managed create MIG_NAME \ --size=MIG_SIZE \ --target-size-policy-mode=bulk \ --template=INSTANCE_TEMPLATE_NAME \ --zone=ZONE \ --default-action-on-vm-failure=do-nothing \ --workload-policy=WORKLOAD_POLICY_NAMESostituisci i seguenti segnaposto:
- MIG_NAME: il nome del tuo MIG.
- MIG_SIZE: il numero di VM nel MIG. Questo valore viene convalidato in base alla topologia specificata nella policy del workload.
- INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
- ZONE: La zona per il tuo MIG.
- WORKLOAD_POLICY_NAME: Il nome della policy del workload.
Per informazioni sulla creazione di VM TPU con CMEK utilizzando GKE, consulta Utilizzare le chiavi di crittografia gestite dal cliente nella documentazione di GKE.
Chiavi CMEK eliminate o revocate
Se una CMEK viene revocata o eliminata, qualsiasi VM TPU che utilizza un disco di avvio criptato con la CMEK eliminata o revocata non viene arrestata automaticamente. La VM TPU accede ancora ai dati sul disco di avvio criptato finché non arresti o riavvii la VM. In questo modo puoi recuperare i dati se ripristini l'accesso a una chiave revocata o eliminata. Se riattivi una chiave, puoi avviare o riparare la VM TPU e il disco di avvio viene decriptato e caricato correttamente.