Chiavi di crittografia gestite dal cliente (CMEK)

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 risorse.

Puoi scoprire di più sui vantaggi specifici dell'utilizzo di CMEK con alle risorse Vertex AI consulta la sezione di questa guida. Per saperne di più su CMEK in generale, incluso quando e perché attivarlo, consulta la documentazione di Cloud Key Management Service.

Questa guida descrive alcuni vantaggi dell'utilizzo delle risorse CMEK per Vertex AI e spiegheremo 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.

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 totale sulle chiavi utilizzate per criptare i tuoi dati. Con CMEK, puoi gestire le tue chiavi in Cloud KMS. Ad esempio, puoi ruotare o disabilitare una chiave oppure impostare e configurare una pianificazione di rotazione utilizzando l'API Cloud KMS. Per ulteriori informazioni CMEK in generale, incluso quando e perché attivarla, consulta le Documentazione di Cloud KMS.

Quando esegui un comando AutoML addestramento personalizzato il tuo codice viene eseguito su una o più istanze di macchine virtuali (VM) gestite 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 tuo codice.
  • Eventuali dati temporanei che vengono salvati sul disco locale dal codice.
  • Modelli addestrati con AutoML.
  • File multimediali (dati) caricati in set di dati multimediali.

In generale, la chiave CMEK non cripta i metadati associati al tuo come il nome e la regione del job o il nome visualizzato di un set di dati. I metadati associati alle operazioni sono sempre usando 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 annotazioni 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, eventuali file temporanei (ad esempio file di modello, log, VM i dischi permanenti) utilizzati per eseguire il job di previsione batch sono criptati con CMEK. I risultati della previsione collettiva vengono archiviati nella destinazione fornita dall'utente. Di conseguenza, Vertex AI rispetta il valore predefinito configurazione della crittografia della destinazione. In caso contrario, anche i risultati verranno criptati tramite CMEK.

Per l'etichettatura dei dati, eventuali file di input (immagine, testo, video, tabulari), temporanei discussione (ad esempio domande, feedback) e output (risultato dell'etichettatura) 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 sulle la disponibilità della chiave gestita esternamente. Se richiedi l'accesso a un è 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'uso di chiavi esterne, consulta Gestore di chiavi esterne Cloud.

Utilizzare CMEK con altri prodotti Google Cloud

La configurazione di CMEK per le risorse Vertex AI non avviene automaticamente configurare CMEK per altri prodotti Google Cloud che utilizzi insieme a Vertex AI. Per usare CMEK per criptare i dati in altre prodotti Google Cloud, è necessaria un'ulteriore configurazione. Ad esempio:

Risorse attuali supportate da CMEK

Di seguito sono riportate le risorse Vertex AI attuali coperte da CMEK. CMEK anche il supporto per le funzionalità in anteprima è in stato Anteprima.

Risorsa Materiale criptato Link alla documentazione
Set di dati
  • Tutti i dati importati dall'utente (ad esempio contenuti di testo o video) per DataItems e Annotations.
  • Contenuti creati dagli utenti, ad esempio AnnotationSpecs, ColumnSpecs.
Modello
  • File del modello caricati.
  • Risultati della valutazione del modello addestrato.
Endpoint
  • Tutti i file del modello utilizzati per il deployment del modello nell'endpoint. Non sono inclusi i dati in memoria, ma il modello il deployment della chiave verrà annullato automaticamente.
CustomJob
  • La copia del tuo codice sulle VM utilizzate per eseguire l'operazione.
  • Tutti i dati caricati dal tuo codice.
  • Eventuali dati temporanei salvati sul disco locale dal tuo codice.
HyperparameterTuningJob
  • La copia del codice sulle VM utilizzate per eseguire l'operazione.
  • Tutti i dati caricati dal tuo codice.
  • Eventuali dati temporanei salvati sul disco locale dal tuo codice.
TrainingPipeline
  • La copia del tuo codice sulle VM utilizzate per eseguire l'operazione.
  • Tutti i dati caricati dal tuo codice.
  • Eventuali dati temporanei che vengono salvati sul disco locale dal tuo le API nel tuo codice.
  • Modelli addestrati con AutoML.
BatchPredictionJob (esclusioni Dati batch per immagini AutoML)
  • Eventuali file temporanei (ad esempio file di modello, log, dischi VM) in uso nel job per procedere con il job di previsione batch.
  • Se i risultati scritti di BatchPrediction vengono archiviati destinazione fornita dall'utente, rispetterà la configurazione della crittografia rispetto al valore predefinito. In caso contrario, verrà anche criptato tramite CMEK.
ModelDeploymentMonitoringJob
  • Eventuali file temporanei (ad esempio file di set di dati di addestramento, log e dischi VM) utilizzati nel job per elaborare il deployment del modello di monitoraggio del job.
  • Eventuali dati utilizzati per il rilevamento delle anomalie di monitoraggio.
  • Se la chiave viene disabilitata, il job di monitoraggio del deployment del modello in pausa.
PipelineJob
  • Il job della pipeline e tutte le relative risorse secondarie.
MetadataStore
  • Tutti i contenuti presenti nell'archivio dei metadati.
TensorBoard
  • Tutti i dati dei log di TensorBoard caricati, inclusi scalari, istogrammi, definizioni di grafici, immagini e testo.
Feature store
  • L'archivio di caratteristiche e tutti i contenuti nell'archivio di caratteristiche.
Indice
  • Tutti i file di dati utilizzati per gli indici di ricerca vettoriale archiviati in Cloud Storage, Pub/Sub e nello spazio di archiviazione interno. L'indice e l'endpoint indice devono essere creati con la stessa chiave.
IndexEndpoint
  • Tutti i file di dati utilizzati per gli indici di Vector Search archiviati in Cloud Storage Pub/Sub e memoria interna. L'indice e l'endpoint indice devono essere creati con la stessa chiave.
Runtime di Colab Enterprise
  • Il disco di avvio e i dischi dati della VM del runtime

Supporto CMEK per pipeline di ottimizzazione di IA generativa

Il supporto CMEK viene fornito nella pipeline di ottimizzazione dei seguenti modelli:

  • text-bison for PaLM 2 (GPU)
  • BERT
  • T5
  • image-generation (GPU)

Limitazioni

Il supporto CMEK non è fornito nei seguenti casi:

  • Previsione batch per il 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. concedi le autorizzazioni di crittografia e decriptazione di Vertex AI per e creare risorse che usano 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 (denominato anche "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

  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

Configura il progetto AI Platform

  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 Vertex AI 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 Vertex AI API.

    Enable the API

Configurare Google Cloud CLI

gcloud CLI è obbligatorio per alcuni passaggi di questa guida e facoltativo per gli altri.

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

gcloud init

Creare un keyring 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 un una località doppia, multiregionale o globale per il keyring.

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

Concedi le autorizzazioni a Vertex AI

Per utilizzare CMEK per le tue risorse, devi concedere l'autorizzazione Vertex AI a per criptare e decriptare i dati con la tua chiave. Vertex AI utilizza un Agente di servizio gestito da Google da eseguire operazioni usando 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 include anche nome Vertex AI Service Agent.

Vai alla pagina IAM

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 la riga di comando Google Cloud:

Console Google Cloud

  1. 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.

    Vai alla pagina Chiavi di crittografia

  2. Fai clic sul nome del keyring creato in una sezione precedente di questa guida per passare al Keyring dei dettagli.

  3. Seleziona la casella di controllo per la chiave che hai creato in una sezione precedente di questa guida. Se viene visualizzato un riquadro informativo con l'etichetta se il nome della chiave non è già aperto, fai clic su Mostra riquadro informazioni.

  4. 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:

    1. 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
    2. Nell'elenco a discesa Seleziona un ruolo, fai clic su Cloud KMS e poi 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-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 keyring creato in una precedente di questa guida.
  • REGION: la regione in cui hai creato il keyring.
  • KMS_PROJECT_ID: l'ID del tuo progetto Cloud KMS.
  • AI_PLATFORM_PROJECT_NUMBER: il numero del tuo progetto progetto AI Platform, che hai annotato nella sezione precedente come parte dell'indirizzo email di un 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 del nella console Google Cloud, puoi seleziona il token nella sezione delle opzioni generali o avanzate:

Seleziona la chiave di crittografia per la sezione delle risorse

RESTA E Riga CMD

Quando crei una risorsa supportata, aggiungi una encryptionSpec opporsi alla tua richiesta e imposta il valore encryptionSpec.kmsKeyName campo per puntare alla chiave risorsa.

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 su puntare alla risorsa chiave. Consulta le Libreria client Vertex AI per Java documentazione per ulteriori informazioni.

Node.js

Quando crei una risorsa supportata, imposta il parametro encryptionSpec su puntare alla risorsa chiave. 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