Chiavi di crittografia gestite dal cliente (CMEK)
Per impostazione predefinita, Vertex AI Workbench cripta i contenuti inattivi dei clienti. Vertex AI Workbench gestisce la crittografia per tuo conto 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 località, la pianificazione della rotazione, le autorizzazioni di utilizzo e di accesso e i limiti crittografici. Con Cloud KMS puoi inoltre monitorare l'utilizzo delle chiavi, 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 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 Vertex AI Workbench e mostra come configurare una nuova istanza di Vertex AI Workbench per utilizzare CMEK.
Per ulteriori informazioni su come utilizzare CMEK per Vertex AI, consulta la pagina CMEK di Vertex AI.
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 Vertex AI Workbench, l'istanza viene eseguita su una macchina virtuale (VM) gestita da Vertex AI Workbench. Quando abiliti CMEK per un'istanza di Vertex AI Workbench, Vertex AI Workbench utilizza la chiave che specifichi, 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 Vertex AI Workbench. I metadati associati alle istanze di Vertex AI Workbench vengono sempre criptati utilizzando il meccanismo di crittografia predefinito di Google.
Limitazioni di CMEK
Per ridurre la latenza e prevenire i casi in cui le risorse dipendono da servizi distribuiti su più domini di errore, Google consiglia di proteggere le istanze Vertex AI Workbench regionali con chiavi nella stessa località.
- Puoi criptare le istanze regionali di Vertex AI Workbench
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 Vertex AI Workbench 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 Vertex AI Workbench
Le sezioni seguenti descrivono come creare un portachiavi e una chiave in Cloud Key Management Service, concedere all'account di servizio le autorizzazioni di crittografia e decrittografia per la chiave e creare un'istanza di Vertex AI Workbench che utilizza CMEK.
Prima di iniziare
Ti consigliamo di utilizzare una configurazione che supporti la separazione dei compiti. Per configurare CMEK per Vertex AI Workbench, puoi utilizzare due progetti Google Cloud separati:
- Un progetto Cloud KMS: un progetto per la gestione della chiave di crittografia
- Un progetto Vertex AI Workbench: un progetto per accedere alle istanze Vertex AI Workbench e interagire con altri prodotti Google Cloud necessari 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 attività seguenti.
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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud KMS API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud KMS API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. - 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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. Quando scegli la posizione del portachiavi, utilizza
global
o la posizione in cui si troverà l'istanza Vertex AI Workbench.Assicurati di creare il keyring e la chiave nel tuo progetto Cloud KMS.
Nella console Google Cloud , vai alla pagina IAM.
Seleziona Includi concessioni di ruoli fornite da Google.
Trova i membri che corrispondono ai seguenti formati di indirizzo email. Prendi nota degli indirizzi email e utilizzali nei passaggi successivi.
L'indirizzo email del service agent del tuo progetto ha il seguente aspetto:
service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com
L'indirizzo email del account di servizio Compute Engine ha il seguente aspetto:
service-NOTEBOOKS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
Sostituisci
NOTEBOOKS_PROJECT_NUMBER
con il numero di progetto del tuo progetto Vertex AI Workbench.Per concedere a questi account l'autorizzazione a criptare e decriptare i dati utilizzando la tua chiave, puoi utilizzare la console Google Cloud o Google Cloud CLI.
Console
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 portachiavi.
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. Si apre 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 dell'agente di servizio del tuo progetto:
service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com
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.
Ripeti questi passaggi per l'agente di servizio Compute Engine:
service-NOTEBOOKS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
gcloud
Per concedere all'agente di servizio del progetto l'autorizzazione a criptare e decriptare i dati utilizzando la chiave, esegui il seguente comando:
gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring=KEY_RING_NAME \ --location=REGION \ --project=KMS_PROJECT_ID \ --member=serviceAccount:service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Sostituisci quanto segue:
KEY_NAME
: il nome della chiave che hai creato in Crea un portachiavi e una chiaveKEY_RING_NAME
: il portachiavi che hai creato in Crea un portachiavi e una chiaveREGION
: la regione in cui hai creato il portachiaviKMS_PROJECT_ID
: l'ID del tuo progetto Cloud KMSNOTEBOOKS_PROJECT_NUMBER
: il numero di progetto del tuo progetto Vertex AI Workbench, che hai annotato nella sezione precedente come parte di un indirizzo email dell'account di servizio.
Per concedere al account di servizio Compute Engine l'autorizzazione per criptare e decriptare i dati utilizzando la tua chiave, esegui il seguente comando:
gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring=KEY_RING_NAME \ --location=REGION \ --project=KMS_PROJECT_ID \ --member=serviceAccount:service-NOTEBOOKS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Nella console Google Cloud , vai alla pagina Istanze.
Fai clic su
Crea nuovo.Nella finestra di dialogo Nuova istanza, fai clic su Opzioni avanzate.
Nella finestra di dialogo Crea istanza, 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
Nella sezione Dischi, 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 Vertex AI WorkbenchKEY_RING_NAME
: le chiavi automatizzate che hai creato in Creare chiavi automatizzate e 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.
- Scopri di più su CMEK su Google Cloud.
- Scopri come utilizzare CMEK con altri Google Cloud prodotti.
Configura il progetto Vertex AI Workbench
Configura Google Cloud CLI
Gcloud CLI è obbligatoria per alcuni passaggi di questa pagina e facoltativa per altri.Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il seguente comando:
gcloud init
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
Creare 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 di Vertex AI Workbench
Per utilizzare CMEK per l'istanza di Vertex AI Workbench, devi concedere all'istanza di Vertex AI Workbench l'autorizzazione per criptare e decriptare i dati utilizzando la tua chiave. Concedi questa autorizzazione all'agente di servizio del tuo progetto e all'account di servizio Compute Engine.
Per trovare gli account specifici per il tuo progetto Vertex AI Workbench, utilizza la console Google Cloud .
Crea un'istanza di Vertex AI Workbench con CMEK
Dopo aver concesso all'istanza Vertex AI Workbench l'autorizzazione a criptare e decriptare i dati utilizzando la tua chiave, puoi creare un'istanza Vertex AI Workbench che cripta i dati utilizzando questa chiave.
L'esempio seguente mostra come criptare e decriptare i dati utilizzando la chiave tramite la console Google Cloud .
Per creare un'istanza di Vertex AI Workbench con una chiave di crittografia gestita dal cliente: