Per impostazione predefinita, Vertex AI cripta i contenuti inattivi dei clienti. Vertex AI 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 i servizi integrati con CMEK, tra cui Vertex AI. L'utilizzo delle chiavi Cloud KMS ti consente di controllare il loro livello di protezione, la posizione, la pianificazione della rotazione, le autorizzazioni di utilizzo e di accesso e i confini di crittografia. L'utilizzo di Cloud KMS ti consente inoltre di monitorare l'utilizzo delle chiavi, visualizzare i log di controllo e controllare i cicli di vita delle chiavi. Invece che essere di proprietà e gestite da Google, le chiavi di crittografia della chiave (KEK) simmetriche che proteggono i tuoi dati sono sotto il tuo controllo e vengono gestite in Cloud KMS.
Dopo aver configurato le risorse con i CMEK, l'esperienza di accesso alle risorse Vertex AI è 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 guida descrive alcuni vantaggi dell'utilizzo di CMEK per le risorse Vertex AI e illustra come configurare un job di addestramento per utilizzare CMEK.
Per saperne di più su come utilizzare CMEK per Colab Enterprise, consulta la pagina CMEK di Colab Enterprise. Per ulteriori informazioni su come utilizzare CMEK per le istanze Vertex AI Workbench, consulta la pagina CMEK per le istanze Vertex AI Workbench.
CMEK per le risorse Vertex AI
Le sezioni seguenti descrivono informazioni di base su CMEK per le risorse Vertex AI che devi conoscere prima di configurare CMEK per i tuoi job.
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 tue chiavi in Cloud KMS. Ad esempio, puoi ruotare o disattivare una chiave oppure impostare una pianificazione di rotazione utilizzando l'API Cloud KMS. Per ulteriori informazioni su CMEK in generale, incluso quando e perché attivarlo, consulta la documentazione di Cloud KMS.
Quando esegui un job di addestramento AutoML o personalizzato, il codice viene eseguito su una o più istanze di VM (virtual machine) gestite da Vertex AI. Quando attivi la crittografia CMEK per le risorse Vertex AI, la chiave che designi, anziché una chiave gestita da Google, viene utilizzata per criptare i dati sui dischi di avvio di queste VM. La chiave CMEK cripta i seguenti tipi di dati:
- La copia del codice sulle VM.
- Tutti i dati caricati dal codice.
- Eventuali dati temporanei salvati sul disco locale dal codice.
- Modelli addestrati con AutoML.
- File multimediali (dati) caricati nei set di dati multimediali.
In generale, la chiave CMEK non cripta i metadati associati all'operazione, come il nome e la regione del job o il nome visualizzato di un set di dati. I metadati associati alle operazioni vengono sempre criptati utilizzando il meccanismo di crittografia predefinito di Google.
Per i set di dati, quando un utente importa i dati nel set di dati, gli elementi di dati e le annotazione vengono criptati con CMEK. Il nome visualizzato del set di dati non è criptato con CMEK.
Per i modelli, i modelli archiviati nel sistema di archiviazione (ad esempio il disco) sono criptati con CMEK. Tutti i risultati della valutazione del modello sono criptati con CMEK.
Per gli endpoint, tutti i file del modello utilizzati per il deployment del modello nell'endpoint sono criptati con CMEK. Non sono inclusi i dati in memoria.
Per la previsione batch, tutti i file temporanei (ad esempio file del modello, log, dischi VM) utilizzati per eseguire il job di previsione batch sono criptati con CMEK. I risultati della previsione in batch vengono archiviati nella destinazione fornita dall'utente. Di conseguenza, Vertex AI rispetta il valore predefinito della configurazione della crittografia della destinazione. In caso contrario, i risultati verranno criptati anche con CMEK.
Per la tagging dei dati, tutti i file di input (immagini, testo, video, tabelle), le discussioni temporanee (ad es. domande, feedback) e l'output (risultato del tagging) sono criptati con CMEK. I nomi visualizzati delle specifiche di annotazione non sono criptati con CMEK.
Chiavi esterne
Puoi utilizzare Cloud External Key Manager (Cloud EKM) per creare chiavi esterne, che gestisci, per criptare i dati in Google Cloud.
Quando utilizzi una chiave Cloud EKM, Google non ha alcun controllo sulla disponibilità della chiave gestita esternamente. Se richiedi l'accesso a una risorsa criptata con una chiave gestita esternamente e la chiave non è disponibile, Vertex AI rifiuterà la richiesta. Potrebbe essere necessario attendere fino a 10 minuti prima di poter accedere alla risorsa quando la chiave diventa disponibile.
Per ulteriori considerazioni sull'utilizzo delle chiavi esterne, consulta Cloud External Key Manager.
Utilizzare CMEK con altri prodotti Google Cloud
La configurazione di CMEK per le risorse Vertex AI non configura automaticamente CMEK per altri prodotti Google Cloud che utilizzi insieme a Vertex AI. Per utilizzare CMEK per criptare i dati in altri prodotti Google Cloud, è necessaria una configurazione aggiuntiva. Ad esempio:
Cloud Storage: quando esegui l'addestramento personalizzato, Vertex AI solitamente carica i dati da Cloud Storage. Quando utilizzi un'applicazione di addestramento Python e un contenitore predefinito per l'addestramento, Vertex AI carica il codice anche da un bucket Cloud Storage. Inoltre, alcuni job di addestramento esportano gli artefatti dei modelli addestrati (ad esempio una directory SaveModel di TensorFlow) in un bucket Cloud Storage nell'ambito del loro output.
Per assicurarti che i tuoi dati in Cloud Storage siano criptati con CMEK, consulta la guida di Cloud Storage all'utilizzo delle chiavi di crittografia gestite dal cliente. Puoi impostare la chiave di crittografia come chiave predefinita per i bucket Cloud Storage che utilizzi con Vertex AI oppure utilizzarla per criptare oggetti specifici.
Artifact Registry: quando utilizzi un container personalizzato per l'addestramento, puoi configurare Vertex AI in modo che carichi l'immagine del container da Artifact Registry.
Per assicurarti che l'immagine del contenitore sia criptata con CMEK, consulta la guida di Artifact Registry a CMEK.
Cloud Logging: quando esegui un job di addestramento, l'addestramento Vertex AI salva i log in Logging. Per criptare questi log utilizzando CMEK, consulta Configurare CMEK per il logging in Cloud.
Risorse attualmente supportate da CMEK
Le attuali risorse Vertex AI coperte da CMEK sono le seguenti. Anche il supporto di CMEK per le funzionalità di anteprima è in stato di anteprima.
Risorsa | Materiale criptato | Link alla documentazione |
---|---|---|
Set di dati |
|
|
Modello |
|
|
Endpoint |
|
|
CustomJob |
|
|
HyperparameterTuningJob |
|
|
TrainingPipeline |
|
|
BatchPredictionJob (esclude la previsione batch di immagini AutoML) |
|
|
ModelDeploymentMonitoringJob |
|
|
PipelineJob |
|
|
MetadataStore |
|
|
TensorBoard |
|
|
Featurestore |
|
|
Indice |
|
|
IndexEndpoint |
|
|
Runtime di Colab Enterprise |
|
Supporto CMEK per le pipeline di ottimizzazione dell'IA generativa
Il supporto CMEK è fornito nella pipeline di ottimizzazione dei seguenti modelli:
text-bison for PaLM 2
(GPU)BERT
T5
image-generation (GPU)
Limitazioni
Il supporto di CMEK non è fornito nei seguenti casi:
- Previsione batch del modello di immagini AutoML (
BatchPredictionJob
) - Ottimizzazione TPU
Configurare CMEK per le risorse
Le sezioni seguenti descrivono come creare un keyring e una chiave in Cloud Key Management Service, concedere le autorizzazioni di crittografia e decrittografia di Vertex AI per la chiave e creare risorse che utilizzano CMEK.
Prima di iniziare
Questa guida presuppone che tu utilizzi due progetti Google Cloud separati per configurare CMEK per i dati di Vertex AI:
- Un progetto per la gestione della chiave di crittografia (indicata come "progetto Cloud KMS").
- Un progetto per accedere ai dati o all'output di Vertex AI in Cloud Storage e interagire con qualsiasi altro prodotto Google Cloud di cui hai bisogno per il tuo caso d'uso (chiamato "progetto AI Platform").
Questa configurazione consigliata supporta una separazione dei compiti.
In alternativa, puoi utilizzare un unico progetto Google Cloud per l'intera guida. A tale scopo, utilizza lo stesso progetto per tutte le attività seguenti che fanno riferimento al progetto Cloud KMS e alle attività che fanno riferimento al progetto Cloud AI Platform.
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.
Configura il progetto AI Platform
- 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 Vertex AI 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 Vertex AI API.
Configurare Google Cloud CLI
gcloud CLI è obbligatoria per alcuni passaggi di questa guida e facoltativa per altri.Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Creare una chiave automatizzata e una chiave
Segui la guida di Cloud KMS per la creazione di chiavi simmetriche per creare un keyring e una chiave. Quando crei il tuo keyring, specifica una regione che supporta le operazioni di Vertex AI come località del keyring. L'addestramento Vertex AI supporta solo CMEK quando la risorsa e la chiave utilizzano la stessa regione. Non devi specificare una località doppiamente regionale, multiregionale o globale per il tuo portachiavi.
Assicurati di creare il keyring e la chiave nel progetto Cloud KMS.
Concedi le autorizzazioni Vertex AI
Per utilizzare CMEK per le tue risorse, devi concedere a Vertex AI l'autorizzazione per criptare e decriptare i dati utilizzando la tua chiave. Vertex AI utilizza un agente di servizio gestito da Google per eseguire operazioni utilizzando le tue risorse. Questo account di servizio è identificato da un indirizzo email con il seguente formato:
service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com
Per trovare l'account di servizio appropriato per il tuo progetto AI Platform, vai alla pagina IAM nella console Google Cloud e individua il membro che corrisponde a questo formato di indirizzo email, con il numero di progetto del tuo progetto AI Platform che sostituisce la variabile AI_PLATFORM_PROJECT_NUMBER. L'account di servizio ha anche il nome Vertex AI Service Agent
.
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. Puoi concedere l'autorizzazione utilizzando la console Google Cloud o Google Cloud CLI:
Console Google Cloud
Nella console Google Cloud, fai clic su Sicurezza e seleziona Gestione delle chiavi. Verrà visualizzata la pagina Chiavi di crittografia e selezionato il progetto Cloud KMS.
Fai clic sul nome del keyring che hai creato in una sezione precedente di questa guida per andare alla pagina Dettagli keyring.
Seleziona la casella di controllo per la chiave che hai creato in una sezione precedente di questa guida. Se un riquadro informazioni etichettato con il nome della chiave non è già aperto, fai clic su Mostra riquadro informazioni.
Nel riquadro delle informazioni, fai clic su
Aggiungi membro per aprire la finestra di dialogo Aggiungi membri a "KEY_NAME". In questa finestra di dialogo, procedi nel seguente modo:- Nella casella Nuovi membri, inserisci l'indirizzo email dell'account di servizio che hai annotato nella sezione precedente:
service-AI_PLATFORM_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com
Nell'elenco a discesa Seleziona un ruolo, fai clic su Cloud KMS e poi seleziona il ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS.
Fai clic su Salva.
- Nella casella Nuovi membri, inserisci l'indirizzo email dell'account di servizio che hai annotato nella sezione precedente:
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-AI_PLATFORM_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter
In questo comando, sostituisci i seguenti segnaposto:
- KEY_NAME: il nome della chiave creata in una sezione precedente di questa guida.
- KEY_RING_NAME: il portachiavi che hai creato in una sezione precedente di questa guida.
- REGION: la regione in cui hai creato la chiave automatizzata.
- KMS_PROJECT_ID: l'ID del tuo progetto Cloud KMS.
- AI_PLATFORM_PROJECT_NUMBER: il numero del progetto AI Platform, che hai annotato nella sezione precedente come parte di un indirizzo email dell'account di servizio.
Creare risorse con la chiave KMS
Quando crei una nuova risorsa supportata da CMEK, puoi specificare la tua chiave come uno dei parametri di creazione.
Console
Quando crei una nuova risorsa supportata da CMEK nella sezione Vertex AI della console Google Cloud, puoi selezionare la chiave nella sezione delle opzioni generali o avanzate:
REST e riga di comando
Quando crei una risorsa supportata, aggiungi un oggetto
encryptionSpec
alla richiesta e imposta il campo
encryptionSpec.kmsKeyName
in modo che indichi la risorsa chiave.
Ad esempio, quando crei una risorsa dataset
, devi specificare la chiave nel corpo della richiesta:
{
"displayName": DATASET_NAME,
"metadataSchemaUri": METADATA_URI,
"encryptionSpec": {
"kmsKeyName": "projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME"
}
}
Java
Quando crei una risorsa supportata, imposta EncryptionSpec
in modo che rimandi alla risorsa principale. Per ulteriori informazioni, consulta la documentazione della libreria client Vertex AI per Java.
Node.js
Quando crei una risorsa supportata, imposta il parametro encryptionSpec
in modo che rimandi alla risorsa principale. Per ulteriori informazioni, consulta la documentazione della libreria client Vertex AI per Node.js.
Python
Quando crei una risorsa supportata, imposta il parametro encryption_spec
in modo che rimandi alla risorsa principale. Per ulteriori informazioni, consulta la documentazione del client Python per Cloud AI Platform.
Passaggi successivi
- Scopri di più su CMEK su Google Cloud.
- Scopri come utilizzare CMEK con altri prodotti Google Cloud.