Chiavi di crittografia gestite dal cliente

Per impostazione predefinita, Google Cloud cripta automaticamente i dati quando sono at-rest utilizzando chiavi di crittografia gestite da Google. Se hai requisiti normativi o di conformità specifici relativi alle chiavi per la protezione dei dati, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) per le istanze dei blocchi note gestiti dall'utente.

Questa pagina descrive alcuni vantaggi e limitazioni specifici dell'utilizzo di CMEK con i blocchi note gestiti dall'utente e mostra come configurare una nuova istanza di blocchi note gestiti dall'utente per utilizzare CMEK.

Per informazioni su CMEK in generale, inclusi quando e perché abilitarla, vedi Chiavi di crittografia gestite dal cliente.

Vantaggi di CMEK

In generale, CMEK è più utile se hai bisogno del controllo completo sulle chiavi utilizzate per criptare i tuoi dati. Con CMEK, puoi gestire le chiavi in Cloud Key Management Service. Ad esempio, puoi ruotare o disabilitare una chiave oppure configurare una pianificazione di rotazione utilizzando l'API Cloud KMS.

Quando esegui un'istanza di blocchi note gestiti dall'utente, l'istanza viene eseguita su una macchina virtuale (VM) gestita da Vertex AI Workbench. Quando abiliti CMEK per un'istanza di blocchi note gestiti dall'utente, Vertex AI Workbench utilizza la chiave designata, anziché una chiave gestita da Google, per criptare i dati sui dischi di avvio della VM.

La chiave CMEK non cripta i metadati, ad esempio il nome e la regione dell'istanza, associati all'istanza di blocchi note gestiti dall'utente. I metadati associati alle istanze di blocchi note gestiti dall'utente vengono sempre criptati utilizzando il meccanismo di crittografia predefinito di Google.

Limitazioni di CMEK

Per ridurre la latenza ed evitare i casi in cui le risorse dipendono da servizi distribuiti su più domini in errore, Google consiglia di proteggere le istanze di blocchi note gestiti dall'utente a livello di regione con chiavi nella stessa località.

  • Puoi criptare le istanze di blocchi note gestiti dall'utente a livello di regione utilizzando chiavi nella stessa località o nella località globale. Ad esempio, puoi criptare i dati in un disco nella zona us-west1-a utilizzando una chiave in us-west1 o global.
  • Puoi criptare le istanze globali utilizzando chiavi in qualsiasi località.
  • La configurazione di CMEK per i blocchi note gestiti dall'utente non configura automaticamente CMEK per altri prodotti Google Cloud che utilizzi. Per utilizzare CMEK per criptare i dati in altri prodotti Google Cloud, devi completare una configurazione aggiuntiva.

Configura CMEK per l'istanza di blocchi note gestiti dall'utente

Le sezioni seguenti descrivono come creare un keyring e una chiave in Cloud Key Management Service, concedere all'account di servizio le autorizzazioni di crittografia e decriptazione dell'account di servizio per la chiave e creare un'istanza di blocchi note gestiti dall'utente che utilizzi CMEK.

Prima di iniziare

Ti consigliamo di utilizzare una configurazione che supporti una separazione dei compiti. Per configurare CMEK per i blocchi note gestiti dall'utente, puoi utilizzare due progetti Google Cloud separati:

  • Un progetto Cloud KMS: un progetto per la gestione della chiave di crittografia
  • Un progetto di blocchi note gestiti dall'utente: un progetto per accedere alle istanze di blocchi note gestiti dall'utente e interagire con qualsiasi altro prodotto Google Cloud necessario per il tuo caso d'uso.

In alternativa, puoi utilizzare un singolo progetto Google Cloud. A questo scopo, utilizza lo stesso progetto per tutte le attività seguenti.

Configura il progetto Cloud KMS

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Attiva l'API Cloud KMS.

    Abilita l'API

  5. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  6. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  7. Attiva l'API Cloud KMS.

    Abilita l'API

Configura il progetto di blocchi note gestiti dall'utente

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Attiva Notebooks API.

    Abilita l'API

  5. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  6. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  7. Attiva Notebooks API.

    Abilita l'API

Configura Google Cloud CLI

gcloud CLI è obbligatoria per alcuni passaggi in questa pagina e facoltativa per altri.

Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

gcloud init

Crea un keyring e una chiave

Quando crei un keyring e una chiave, tieni presente i seguenti requisiti:

  • Quando scegli la località del keyring, utilizza global o la località in cui si troverà l'istanza di blocchi note gestiti dall'utente.

  • Assicurati di creare il keyring e la chiave nel progetto Cloud KMS.

Per creare un keyring e una chiave, consulta Creare chiavi di crittografia simmetriche.

Concedi le autorizzazioni per i blocchi note gestiti dall'utente

Per utilizzare CMEK per l'istanza di blocchi note gestiti dall'utente, devi concedere all'istanza l'autorizzazione per criptare e decriptare i dati utilizzando la chiave.

Stabilire l'account di servizio da utilizzare

I blocchi note gestiti dall'utente utilizzano un account di servizio per eseguire la tua istanza di blocchi note gestiti dall'utente. Questo account di servizio è l'account di servizio Compute Engine predefinito o un account di servizio specificato al momento della creazione dell'istanza.

Se l'account di servizio è l'account di servizio Compute Engine predefinito, completa la procedura seguente per trovare l'indirizzo email dell'account di servizio:

  1. Nella console Google Cloud, vai alla pagina IAM.

    Vai a IAM

  2. Trova l'entità con il nome Compute Engine default service account.

    Prendi nota dell'indirizzo email di questo account di servizio e utilizzalo nei passaggi seguenti per concedergli l'autorizzazione a criptare e decriptare i dati usando la tua chiave.

Concedi l'autorizzazione all'account di servizio

Concedi l'autorizzazione utilizzando la console Google Cloud o Google Cloud CLI.

Console

  1. Nella console Google Cloud, vai alla pagina Chiavi di crittografia.

    Vai a Chiavi di crittografia

  2. Seleziona il progetto Cloud KMS.

  3. Fai clic sul nome del keyring creato in Creare un keyring e una chiave. Si apre la pagina Dettagli del keyring.

  4. Seleziona la casella di controllo per la chiave che hai creato in Creare un keyring e una chiave. Se non è già aperto un riquadro informazioni con il nome della chiave, fai clic su Mostra riquadro informazioni.

  5. Nel riquadro delle informazioni, fai clic su  Aggiungi membro. Viene visualizzata la finestra di dialogo Aggiungi membri a "KEY_NAME". In questa finestra di dialogo, procedi nel seguente modo:

    1. Nel campo Nuovi membri, inserisci l'indirizzo email dell'account di servizio per la tua istanza.

    2. Nell'elenco Seleziona un ruolo, fai clic su Cloud KMS, quindi seleziona il ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS.

    3. Fai clic su Salva.

gcloud

Esegui questo comando:

gcloud kms keys add-iam-policy-binding KEY_NAME \
    --keyring=KEY_RING_NAME \
    --location=REGION \
    --project=KMS_PROJECT_ID \
    --member=serviceAccount:SERVICE_ACCOUNT \
    --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

Sostituisci quanto segue:

  • KEY_NAME: il nome della chiave creata in Creare un keyring e una chiave
  • KEY_RING_NAME: il keyring creato nella sezione Creare un keyring e una chiave
  • REGION: la regione in cui hai creato il keyring
  • KMS_PROJECT_ID: l'ID del tuo progetto Cloud KMS
  • SERVICE_ACCOUNT: l'indirizzo email dell'account di servizio per la tua istanza

Crea un'istanza di blocchi note gestiti dall'utente con CMEK

Dopo aver concesso all'istanza di blocchi note gestiti dall'utente l'autorizzazione per criptare e decriptare i dati utilizzando la chiave, puoi creare un'istanza di blocchi note gestiti dall'utente che cripta i dati con questa chiave.

I seguenti esempi mostrano come criptare e decriptare i dati utilizzando la chiave mediante la console Google Cloud o gcloud CLI.

Console

Per creare un'istanza di blocchi note gestiti dall'utente con una chiave di crittografia gestita dal cliente, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Blocchi note gestiti dall'utente. In alternativa, vai a notebook.new (https://notebook.new) e salta il passaggio successivo.

    Vai ai blocchi note gestiti dall'utente

  2. Fai clic su  Nuovo blocco note, quindi seleziona Personalizza.

  3. Nella sezione Dettagli della pagina Crea un blocco note gestito dall'utente, fornisci le seguenti informazioni per la nuova istanza:

    • Nome: un nome per la nuova istanza
    • Regione: la regione in cui si trovano la chiave e il keyring
    • Zona: una zona all'interno della regione selezionata.
  4. Seleziona la sezione Dischi.

  5. Per utilizzare le chiavi di crittografia gestite dal cliente, in Crittografia, seleziona Chiave di crittografia gestita dal cliente (CMEK).

  6. Fai clic su Seleziona una chiave gestita dal cliente.

    • Se la chiave gestita dal cliente che vuoi utilizzare è presente nell'elenco, selezionala.
    • Se la chiave gestita dal cliente che vuoi utilizzare non è nell'elenco, inserisci l'ID risorsa per la chiave gestita dal cliente. L'ID risorsa per la chiave gestita dal cliente ha il seguente aspetto:

        projects/NOTEBOOKS_PROJECT_NUMBER/locations/global/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
      

      Sostituisci quanto segue:

  7. Completa il resto della finestra di dialogo di creazione dell'istanza, quindi fai clic su Crea.

  8. Vertex AI Workbench crea un'istanza di blocchi note gestiti dall'utente in base alle proprietà specificate e avvia automaticamente l'istanza. Quando l'istanza è pronta per essere utilizzata, Vertex AI Workbench attiva un link Apri JupyterLab.

gcloud

Per utilizzare gcloud CLI per creare un'istanza di blocchi note gestiti dall'utente con una chiave di crittografia gestita dal cliente, esegui il comando seguente. Questo esempio presuppone che tu voglia creare un'istanza di blocchi note gestiti dall'utente con un tipo di macchina n1-standard-1 e un disco di avvio permanente standard da 100 GB.

gcloud notebooks instances create notebook-vm-cmek \
    --location=REGION \
    --vm-image-family=IMAGE_FAMILY \
    --vm-image-project=deeplearning-platform-release \
    --machine-type="n1-standard-1" \
    --boot-disk-type="PD_STANDARD" \
    --boot-disk-size=100 \
    --kms-key=KEY_NAME \
    --kms-project=KMS_PROJECT_ID \
    --kms-location=REGION \
    --kms-keyring=KEY_RING_NAME \
    --disk-encryption=CMEK \
    --metadata='proxy-mode=project_editors'

Sostituisci quanto segue:

  • REGION: la regione in cui hai creato il keyring e in cui prevedi di creare l'istanza di blocchi note gestiti dall'utente
  • IMAGE_FAMILY: la famiglia di immagini da utilizzare per creare l'istanza di blocchi note gestiti dall'utente
  • KEY_NAME: il nome della chiave creata in Creare un keyring e una chiave
  • KMS_PROJECT_ID: l'ID del tuo progetto Cloud KMS
  • KEY_RING_NAME: il keyring creato nella sezione Creare un keyring e una chiave

Passaggi successivi