Chiavi di crittografia gestite dal cliente

Per impostazione predefinita, Google Cloud cripta automaticamente i dati quando sono rest utilizzando chiavi di crittografia. gestiti da Google. Se hai requisiti di conformità o normativi specifici relativi alle chiavi che proteggono i tuoi dati, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) per le tue istanze di notebook gestite dall'utente.

In questa pagina vengono descritti alcuni vantaggi e limitazioni specifici dell'utilizzo di CMEK con e i blocchi note gestiti dall'utente come configurare una nuova istanza di blocchi note gestiti dall'utente per utilizzare CMEK.

Per informazioni sulle chiavi CMEK in generale, incluso quando e perché attivarle, consulta Chiavi di crittografia gestite dal cliente.

Vantaggi di CMEK

In generale, CMEK è più utile se hai bisogno del controllo totale sulle chiavi utilizzate per criptare i tuoi dati. Con CMEK, puoi gestire le tue chiavi all'interno Cloud Key Management Service. Ad esempio, puoi ruotare o disabilitare una chiave oppure impostare e 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 attivi la chiave CMEK per un'istanza di notebook gestita dall'utente, Vertex AI Workbench utilizza la chiave che hai designato, anziché una chiave gestita da Google, per criptare i dati sui dischi di avvio della VM.

La chiave CMEK non cripta i metadati, come il nome e la regione dell'istanza, associati all'istanza di notebook gestita dall'utente. I metadati associati alle istanze dei notebook gestite dall'utente vengono sempre criptati utilizzando il meccanismo di crittografia predefinito di Google.

Limitazioni di CMEK

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

  • Puoi criptare le istanze di notebook gestite dall'utente a livello regionale 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 le chiavi in qualsiasi località.
  • La configurazione di CMEK per i notebook gestiti dall'utente non configura automaticamente CMEK per gli altri prodotti Google Cloud che utilizzi. Per usare CMEK per criptare in altri prodotti Google Cloud, devi completare configurazione.

Configurare CMEK per l'istanza di Notebook gestita dall'utente

Le sezioni seguenti descrivono come creare un portachiavi e una chiave in Cloud Key Management Service, concedere le autorizzazioni di crittografia e decrittografia dell'account di servizio per la chiave e creare un'istanza di Notebook gestita dall'utente che utilizza 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 notebook gestiti dall'utente: un progetto per accedere alle istanze di notebook gestite dall'utente e interagire con qualsiasi altro prodotto Google Cloud di cui hai bisogno per il tuo caso d'uso

In alternativa, puoi utilizzare un singolo progetto Google Cloud. Per farlo, usa lo stesso progetto per tutte le attività seguenti.

configura il progetto Cloud KMS

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud KMS API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Cloud KMS API.

    Enable the API

Configurare il progetto di blocchi note gestiti dall'utente

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks API.

    Enable the API

Configurare Google Cloud CLI

gcloud CLI è obbligatorio per alcuni passaggi in questa pagina e facoltativo per gli altri.

Install the Google Cloud CLI, then initialize it by running the following command:

gcloud init

Crea un keyring e una chiave

Quando crei un mazzo di chiavi e una chiave, tieni presente i seguenti requisiti:

  • Quando scegli la posizione del portachiavi, utilizza global o la posizione in cui si troverà l'istanza dei 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 simmetrica.

Concedi le autorizzazioni per i blocchi note gestiti dall'utente

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

Determina l'account di servizio da utilizzare

I blocchi note gestiti dall'utente utilizzano account di servizio per eseguire 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 è quello predefinito di Compute Engine, completa i seguenti passaggi 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 utilizzando la tua chiave.

Concedi l'autorizzazione all'account di servizio

Concedi l'autorizzazione utilizzando la console Google Cloud o l'interfaccia a riga di comando Google Cloud.

Console

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

    Vai a Chiavi crittografiche

  2. Seleziona il tuo progetto Cloud KMS.

  3. Fai clic sul nome del keyring creato in Crea un keyring e una chiave. Viene visualizzata la pagina Dettagli keyring.

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

  5. Nel riquadro delle informazioni, fai clic su  Aggiungi membro. Si apre 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 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 che hai creato in Creare un mazzo di chiavi e una chiave
  • KEY_RING_NAME: il keyring che hai creato in Creare un keyring e una chiave
  • REGION: la regione in cui hai creato la chiave suonare
  • KMS_PROJECT_ID: l'ID del tuo Progetto Cloud KMS
  • SERVICE_ACCOUNT: l'indirizzo email dell'account di servizio per la tua istanza

Creare un'istanza di notebook gestiti dall'utente con CMEK

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

I seguenti esempi mostrano come criptare e decriptare i dati la tua chiave con la console Google Cloud con gcloud CLI.

Console

Per creare un'istanza di blocchi note gestita dall'utente con una chiave di crittografia gestita dal cliente:

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

    Vai a Blocchi note gestiti dall'utente

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

  3. Nella pagina Crea un blocco note gestito dall'utente, nella sezione Dettagli, 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 è in elenco, selezionalo.
    • Se la chiave gestita dal cliente che vuoi utilizzare non è nell'elenco, inserisci l'ID risorsa per la chiave gestita dal cliente. La risorsa L'ID 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 per la creazione dell'istanza e fai clic su Crea.

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

gcloud

Per utilizzare gcloud CLI per creare un'istanza di Jupyter Notebook gestita dall'utente con una chiave di crittografia gestita dal cliente, esegui il seguente comando. Questo esempio presuppone che tu voglia creare un'istanza di notebook gestita 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 tuo portachiavi e in cui prevedi di creare l'istanza dei blocchi note gestiti dall'utente
  • IMAGE_FAMILY: la famiglia di immagini che vuoi utilizzare per creare l'istanza di notebook gestita dall'utente
  • KEY_NAME: il nome della chiave che hai creato in Creare un keyring e una chiave
  • KMS_PROJECT_ID: l'ID del tuo Progetto Cloud KMS
  • KEY_RING_NAME: il mazzo di chiavi che hai creato in Creare un mazzo di chiavi e una chiave

Passaggi successivi