Cripta un disco di avvio della VM TPU con una chiave di crittografia gestita dal cliente (CMEK)

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 gli audit log 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).

Dopo aver creato una chiave CMEK, devi concedere al service account Compute Engine l'accesso alla chiave.

Concedere l'autorizzazione per utilizzare la chiave

Devi concedere il ruolo IAM Autore crittografia/decrittografia CryptoKey Cloud KMS (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 alla tua chiave di crittografia e utilizzarla.

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 del tuo portachiavi.
  • PROJECT_NUMBER: il tuo Google Cloud numero di progetto.
  • KEY_PROJECT_ID: il tuo ID progetto chiave.

Console

  1. Nella console Google Cloud , vai alla pagina Gestione delle chiavi.

    Vai a Gestione delle chiavi

  2. Fai clic sul nome del keyring che contiene la chiave.

  3. Fai clic sul nome della chiave da modificare.

  4. Fai clic sulla scheda Autorizzazioni.

  5. Fai clic su Concedi l'accesso. Viene visualizzato il riquadro Concedi l'accesso alla chiave.

  6. Nel campo Nuove entità, inserisci il nome dell'agente di servizio Compute Engine:

    service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
    

    Sostituisci PROJECT_NUMBER con il numero del tuo progetto Google Cloud.

  7. Nel menu Seleziona un ruolo, seleziona Autore crittografia/decrittografia CryptoKey Cloud KMS.

  8. Fai clic su Salva.

Crea una VM TPU con una chiave CMEK

Puoi specificare una CMEK durante la creazione di una VM TPU utilizzando l'API TPU o l'API Queued Resources.

TPU API

Per specificare una chiave CMEK durante la creazione di una VM TPU utilizzando l'API Cloud TPU, utilizza l'argomento --boot-disk del comando tpu-vm create per specificare la chiave di crittografia da utilizzare:

gcloud compute tpus tpu-vm create TPU_NAME \
    --zone ZONE \
    --boot-disk kms-key=projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME \
    --version=TPU_RUNTIME_VERSION \
    --accelerator-type=ACCLERATOR_TYPE

Sostituisci quanto segue:

  • TPU_NAME: il nome della VM TPU.
  • ZONE: la zona in cui prevedi di creare la Cloud TPU.
  • PROJECT_ID: il tuo ID progetto Google Cloud .
  • REGION: la regione in cui hai creato le chiavi automatizzate.
  • RING_NAME: il nome del tuo portachiavi.
  • KEY_NAME: il nome della chiave.
  • TPU_RUNTIME_VERSION: la versione software di Cloud TPU.
  • ACCELERATOR_TYPE: il tipo di acceleratore per la Cloud TPU che vuoi creare. Per saperne di più sui tipi di acceleratore supportati per ogni versione della TPU, consulta Versioni della TPU.

API Queued Resources

Per specificare una chiave CMEK durante la creazione di una VM TPU utilizzando l'API Queued Resources, utilizza l'argomento --bootdisk del comando queued-resources create per specificare la chiave di crittografia da utilizzare:

gcloud compute tpus queued-resources create QUEUED_RESOURCE_ID \
    --zone ZONE \
    --node-id NODE_ID \
    --boot-disk kms-key=projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME \
    --runtime-version=TPU_RUNTIME_VERSION \
    --accelerator-type=ACCLERATOR_TYPE

Sostituisci quanto segue:

  • QUEUED_RESOURCE_ID: l'ID assegnato dall'utente della richiesta di risorsa in coda.
  • ZONE: la zona in cui prevedi di creare la Cloud TPU.
  • NODE_ID: l'ID assegnato dall'utente della Cloud TPU che viene creato quando viene allocata la richiesta di risorse in coda.
  • PROJECT_ID: il tuo ID progetto Google Cloud .
  • REGION: la regione in cui hai creato le chiavi automatizzate.
  • RING_NAME: il nome del tuo portachiavi.
  • KEY_NAME: il nome della chiave.
  • TPU_RUNTIME_VERSION: la versione software di Cloud TPU.
  • ACCELERATOR_TYPE: il tipo di acceleratore per la Cloud TPU che vuoi creare. Per saperne di più sui tipi di acceleratore supportati per ogni versione della TPU, consulta Versioni della TPU.

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 verrà arrestata automaticamente. La VM TPU potrà comunque accedere ai dati sul disco di avvio criptato finché la VM non viene arrestata o riavviata. 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 verrà decriptato e caricato correttamente.