Chiavi di crittografia gestite dal cliente
Per impostazione predefinita, Vertex AI Workbench cripta i contenuti dei clienti a riposo. Vertex AI Workbench gestisce la crittografia per te 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 Vertex AI Workbench. L'utilizzo delle chiavi Cloud KMS ti consente di controllare il livello di protezione, la posizione, la pianificazione della rotazione, l'utilizzo e le autorizzazioni di accesso e i limiti crittografici. L'utilizzo di Cloud KMS consente anche di visualizzare i log di controllo e controllare i cicli di vita delle chiavi. Anziché essere di proprietà di Google e gestite da Google, le chiavi di crittografia delle chiavi (KEK) simmetriche che proteggono i tuoi dati sono controllate e gestite da te in Cloud KMS.
Dopo aver configurato le risorse con le chiavi CMEK, l'esperienza di accesso alle risorse di Vertex AI Workbench è simile all'utilizzo della crittografia predefinita di Google. Per saperne di più sulle opzioni di crittografia, consulta Chiavi di crittografia gestite dal cliente (CMEK).
Questa pagina descrive alcuni vantaggi e limitazioni specifici dell'utilizzo di CMEK con i notebook gestiti dall'utente e mostra come configurare una nuova istanza di notebook gestiti dall'utente per utilizzare CMEK.
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 disattivare una chiave oppure configurare una pianificazione di rotazione utilizzando l'API Cloud KMS.
Quando esegui un'istanza di notebook gestiti dall'utente, l'istanza viene eseguita su una macchina virtuale (VM) gestita da Vertex AI Workbench. Quando abiliti CMEK per un'istanza di notebook gestiti 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 gestiti dall'utente. I metadati associati alle istanze dei 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 casi in cui le risorse dipendono da servizi distribuiti su più domini di errore, Google consiglia di proteggere le istanze di notebook gestiti dall'utente regionali con chiavi nella stessa località.
- Puoi criptare le istanze di notebook gestiti dall'utente regionali
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 inus-west1
oglobal
. - 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 altri prodotti Google Cloud che utilizzi. Per utilizzare CMEK per criptare i dati in altri prodotti Google Cloud , devi completare una configurazione aggiuntiva.
Configurare CMEK per l'istanza di blocchi note gestiti dall'utente
Le sezioni seguenti descrivono come creare un portachiavi e una chiave in Cloud Key Management Service, concedere al account di servizio le autorizzazioni di crittografia e decrittografia per la chiave e creare un'istanza di notebook gestiti dall'utente che utilizza CMEK.
Prima di iniziare
Ti consigliamo di utilizzare una configurazione che supporti la 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 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 tal fine, utilizza lo stesso progetto per tutte le seguenti attività.
Configura il progetto Cloud KMS
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud KMS API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud KMS API.
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
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.
Nella console Google Cloud vai alla pagina IAM.
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 successivi per concedergli l'autorizzazione a criptare e decriptare i dati utilizzando la tua chiave.
Nella console Google Cloud , vai alla pagina Gestione delle chiavi.
Seleziona il tuo progetto Cloud KMS.
Fai clic sul nome del keyring che hai creato in Creare un keyring e una chiave. Viene visualizzata la pagina Dettagli chiave automatizzata.
Seleziona la casella di controllo per la chiave che hai creato in Creare un keyring e una chiave. Se un riquadro informazioni con il nome della chiave non è già aperto, fai clic su Mostra riquadro informazioni.
Nel riquadro 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:Nel campo Nuovi membri, inserisci l'indirizzo email del account di servizio per la tua istanza.
Nell'elenco Seleziona un ruolo, fai clic su Cloud KMS e poi seleziona il ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS.
Fai clic su Salva.
KEY_NAME
: il nome della chiave che hai creato in Crea un portachiavi e una chiaveKEY_RING_NAME
: il portachiavi che hai creato in Creare un portachiavi e una chiaveREGION
: la regione in cui hai creato il portachiaviKMS_PROJECT_ID
: l'ID del tuo progetto Cloud KMSSERVICE_ACCOUNT
: l'indirizzo email del account di servizio per la tua istanzaNella console Google Cloud , vai alla pagina Notebook gestiti dall'utente. In alternativa, vai all'indirizzo notebook.new (https://notebook.new) e salta il passaggio successivo.
Fai clic su
Nuovo blocco note, quindi seleziona Personalizza.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 le chiavi automatizzate
- Zona: una zona all'interno della regione selezionata
Seleziona la sezione Dischi.
Per utilizzare le chiavi di crittografia gestite dal cliente, in Crittografia, seleziona Chiave di crittografia gestita dal cliente (CMEK).
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 è presente nell'elenco, inserisci l'ID risorsa della chiave gestita dal cliente. L'ID risorsa per la chiave gestita dal cliente è simile al seguente:
projects/NOTEBOOKS_PROJECT_NUMBER/locations/global/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Sostituisci quanto segue:
NOTEBOOKS_PROJECT_NUMBER
: l'ID del tuo progetto notebook gestiti dall'utenteKEY_RING_NAME
: il portachiavi che hai creato in Creare un portachiavi e una chiaveKEY_NAME
: il nome della chiave che hai creato in Crea un portachiavi e una chiave
Completa il resto della finestra di dialogo di creazione dell'istanza e poi fai clic su Crea.
Vertex AI Workbench crea un'istanza di notebook gestiti dall'utente in base alle proprietà specificate e la avvia automaticamente. Quando l'istanza è pronta per l'uso, Vertex AI Workbench attiva un link Apri JupyterLab.
REGION
: la regione in cui hai creato il portachiavi e in cui prevedi di creare l'istanza di notebook gestiti dall'utenteIMAGE_FAMILY
: la famiglia di immagini che vuoi utilizzare per creare l'istanza di notebook gestiti dall'utenteKEY_NAME
: il nome della chiave che hai creato in Crea un keyring e una chiaveKMS_PROJECT_ID
: l'ID del tuo progetto Cloud KMSKEY_RING_NAME
: il keyring che hai creato in Creare un keyring e una chiave- Scopri di più su CMEK su Google Cloud
- Scopri come utilizzare CMEK con altri Google Cloud prodotti
Configura il progetto di blocchi note gestiti dall'utente
Configura Google Cloud CLI
gcloud CLI è obbligatoria per alcuni passaggi di questa pagina e facoltativa per altri.After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Crea una chiave automatizzata e una chiave
Quando crei una chiave automatizzata e una chiave, tieni presente i seguenti requisiti:
Per creare un portachiavi e una chiave, consulta la pagina Creare chiavi di crittografia simmetrica.
Concedi le autorizzazioni per i notebook gestiti dall'utente
Per utilizzare CMEK per l'istanza di notebook gestiti dall'utente, devi concedere all'istanza di notebook gestiti dall'utente l'autorizzazione per criptare e decriptare i dati utilizzando la tua chiave.
Determinare il account di servizio da utilizzare
I blocchi note gestiti dall'utente utilizzano un service account per eseguire l'istanza di blocchi note gestiti dall'utente. Questo account di servizio è ilaccount di serviziot Compute Engine predefinito o uaccount di serviziont che specifichi quando crei l'istanza.
Se il account di servizio è quello predefinito di Compute Engine, completa i seguenti passaggi per trovare l'indirizzo email delaccount di serviziot:
Concedi l'autorizzazione all'account di servizio
Concedi l'autorizzazione utilizzando la console Google Cloud o Google Cloud CLI.
Console
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:
Crea un'istanza di notebook gestiti dall'utente con CMEK
Dopo aver concesso all'istanza di blocchi note gestiti dall'utente l'autorizzazione a criptare e decriptare i dati utilizzando la tua chiave, puoi creare un'istanza di blocchi note gestiti dall'utente che cripta i dati utilizzando questa chiave.
Gli esempi seguenti mostrano come criptare e decriptare i dati utilizzando la chiave tramite 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:
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 seguente comando.
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: