Per impostazione predefinita, Vertex AI Search cripta i contenuti inattivi dei clienti. Vertex AI Search gestisce la crittografia per te senza ulteriori azioni da parte tua. Questa opzione è denominata crittografia predefinita di Google.
Se vuoi controllare le chiavi di crittografia, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) in Cloud KMS con i servizi integrati con CMEK, incluso Vertex AI Search. 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 Search è simile all'utilizzo della crittografia predefinita di Google. Per ulteriori informazioni sulle opzioni di crittografia, consulta Chiavi di crittografia gestite dal cliente (CMEK).
Limitazioni di Cloud KMS in Vertex AI Search
Le seguenti limitazioni si applicano alle chiavi CMEK (Cloud KMS) in Vertex AI Search:
- Le chiavi già applicate a un datastore non possono essere modificate, anche se le versioni delle chiavi possono essere ruotate.
- Devi utilizzare app e datastore multiregionali degli Stati Uniti o dell'UE (non globali). Per ulteriori informazioni sulle multiregioni e sulla residenza dei dati, inclusi i limiti associati all'utilizzo di località non globali, consulta Località.
Se devi registrare più di una chiave per un progetto, contatta il team dell'account Google per richiedere un aumento della quota per le configurazioni CMEK, fornendo una giustificazione del motivo per cui hai bisogno di più di una chiave.
L'utilizzo di un gestore chiavi esterno (EKM) con CMEK è in GA con la lista consentita. Per utilizzare EKM con CMEK, contatta il team dell'account Google.
Le seguenti limitazioni si applicano a EKM o HSM con CMEK:
La quota EKM e HSM per le chiamate di crittografia e decrittografia deve avere un margine di almeno 1000 QPM. Per scoprire come controllare le quote, consulta Controllare le quote di Cloud KMS.
Se utilizzi EKM, la chiave deve essere raggiungibile per più del 90% di qualsiasi finestra temporale superiore a 30 secondi. Se la chiave non è raggiungibile per questo periodo di tempo, può influire negativamente sull'indicizzazione e sulla freschezza della ricerca.
Se si verificano problemi di fatturazione, problemi persistenti di superamento della quota o problemi di irraggiungibilità persistenti per più di 12 ore, il servizio disattiva automaticamente CmekConfig associato alla chiave EKM o HSM.
- I datastore creati prima della registrazione di una chiave nel progetto non possono essere protetti dalla chiave.
- Non puoi ottimizzare i modelli di ricerca per i datastore protetti dalle chiavi.
- Per le app con più datastore, se un datastore utilizza una configurazione CMEK, anche tutti gli altri datastore devono utilizzare la stessa configurazione CMEK.
Per Vertex AI Search è richiesta la versione Enterprise. Per informazioni sulla versione Enterprise, consulta Informazioni sulle funzionalità avanzate.
I connettori proprietari non sono conformi a CMEK, ad eccezione dei datastore "import-once" e "periodic" per BigQuery e Cloud Storage.
I datastore di ricerca dei dati sanitari e i connettori di terze parti sono conformi a CMEK. Per informazioni generali sui datastore dei dati sanitari, consulta Creare un datastore di ricerca dei dati sanitari. Per informazioni su come rendere i connettori di terze parti conformi a CMEK, consulta Informazioni sulle chiavi a singola regione per i connettori di terze parti.
Le chiavi non si applicano alle seguenti API RAG perché queste API non archiviano i contenuti a riposo: check grounding, grounded generation e ranking.
- Non puoi utilizzare Terraform per configurare CMEK per Vertex AI Search.
Informazioni sulle chiavi a singola regione per i connettori di terze parti
Se utilizzi connettori di terze parti e vuoi utilizzare le tue chiavi per proteggere i dati connessi, devi creare tre chiavi a singola regione supplementari oltre alla chiave multiregionale. I comandi per la creazione delle chiavi sono riportati in questa procedura, Registrare la chiave Cloud KMS key.
Le singole chiavi devono essere create per le seguenti regioni:
| Multiregionale | Singole regioni | ||
|---|---|---|---|
eu |
europe-west1 |
europe-west4 |
europe-north1 |
us |
us-east1 |
us-central1 |
us-west1 |
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
Crea una chiave Cloud KMS simmetrica multiregionale. Consulta Creare un keyring e Creare una chiave nella documentazione di Cloud KMS.
Imposta il periodo di rotazione su Mai (rotazione manuale).
In Località, seleziona Multiregionale e seleziona europe o us dal menu a discesa.
Il ruolo IAM Autore crittografia/decrittografia CryptoKey (
roles/cloudkms.cryptoKeyEncrypterDecrypter) per la chiave è stato concesso all'agente di servizio Discovery Engine. L'account del service agent ha un indirizzo email che utilizza il seguente formato:service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com. Per istruzioni generali su come aggiungere un ruolo a un service agent, consulta Concedere o revocare un singolo ruolo.Il ruolo IAM Autore crittografia/decrittografia CryptoKey (
roles/cloudkms.cryptoKeyEncrypterDecrypter) per la chiave è stato concesso all'agente di servizio Cloud Storage. Se questo ruolo non viene concesso, l'importazione dei dati per i datastore protetti da CMEK non riuscirà perché Discovery Engine non è in grado di creare il bucket e la directory temporanei protetti da CMEK necessari per l'importazione.Non creare datastore o app che vuoi gestire con la chiave fino a quando non avrai completato le istruzioni di registrazione della chiave in questa pagina.
- Le funzionalità della versione Enterprise sono attive per l'app. Consulta Attivare o disattivare la versione Enterprise.
Registrare la chiave Cloud KMS
Per criptare i dati utilizzando CMEK, devi registrare la chiave multiregionale. Facoltativamente, se i dati richiedono chiavi a singola regione, ad esempio quando utilizzi connettori di terze parti, devi registrare le chiavi a singola regione.
Prima di iniziare
Assicurati di quanto segue:
La regione non è già protetta da una chiave. La procedura riportata di seguito non riesce se una chiave è già registrata per la regione tramite il comando REST. Per determinare se esiste una chiave attiva in Vertex AI Search per una località, consulta Visualizzare le chiavi Cloud KMS.
Hai il ruolo Amministratore di Discovery Engine (
roles/discoveryengine.admin).
Procedura
REST
Per registrare la tua chiave per Vertex AI Search, segui questi passaggi:
Chiama il
UpdateCmekConfigmetodo con la chiave che vuoi registrare.curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{"kmsKey":"projects/KMS_PROJECT_ID/locations/KMS_LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"}' \ "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID?set_default=SET_DEFAULT"Sostituisci quanto segue:
KMS_PROJECT_ID: l'ID del progetto che contiene la chiave. Il numero del progetto non funzionerà.KMS_LOCATION: la multiregione della chiave:usoeurope.KEY_RING: il nome del keyring che contiene la chiave.KEY_NAME: il nome della chiave.PROJECT_ID: l'ID del progetto che contiene il datastore.LOCATION: la multiregione del datastore:usoeu.CMEK_CONFIG_ID: imposta un ID univoco per la risorsa CmekConfig, ad esempiodefault_cmek_config.SET_DEFAULT: imposta sutrueper utilizzare la chiave come chiave predefinita per i datastore creati successivamente nella multiregione.
(Facoltativo) Registra il valore
namerestituito dal metodo e segui le istruzioni riportate in Recuperare i dettagli di un'operazione a lunga esecuzione per vedere quando l'operazione è completata.In genere, la registrazione di una chiave richiede alcuni minuti.
Al termine dell'operazione, i nuovi datastore in quella multiregione sono protetti dalla chiave. Per informazioni generali sulla creazione di datastore, consulta Informazioni su app e datastore.
Console
Procedura
Per registrare la tua chiave per Vertex AI Search, segui questi passaggi:
Nella Google Cloud console, vai alla pagina AI Applications.
Fai clic su Impostazioni e seleziona la scheda CMEK.
Fai clic su Aggiungi chiave per la località us o eu.
Fai clic su Aggiungi chiave. Fai clic sul menu a discesa Seleziona una chiave Cloud KMS e seleziona la chiave.
Se la chiave si trova in un altro progetto, fai clic su Cambia progetto, fai clic sul nome del progetto, digita il nome della chiave che hai creato e seleziona la chiave.
Se conosci il nome della risorsa della chiave, fai clic su Inserisci manualmente, incolla il nome della risorsa della chiave e fai clic su Salva.
Fai clic su OK > Salva.
In questo modo registri la chiave, creando una risorsa Cmek denominata default_cmek_config.
Potrebbero essere necessarie diverse ore prima che i dati importati vengano visualizzati nei risultati di ricerca.
Visualizzare le chiavi Cloud KMS
Per visualizzare una chiave registrata per Vertex AI Search, esegui una delle seguenti operazioni:
Se hai il nome della risorsa CmekConfig, chiama il
GetCmekConfigmetodo:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID"Sostituisci quanto segue:
LOCATION: la multiregione del datastore:usoeu.PROJECT_ID: l'ID del progetto che contiene i dati.CMEK_CONFIG_ID: l'ID della risorsa CmekConfig. Se hai registrato la chiave utilizzando la console, l'ID èdefault_cmek_config.
Un esempio di chiamata curl e risposta è il seguente:
$ curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config"
{ "name": "projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config", "kmsKey": "projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key" "state": "ACTIVE" "isDefault": true }Se non hai il nome della risorsa CmekConfig, chiama il
ListCmekConfigsmetodo:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs"Sostituisci quanto segue:
LOCATION: la multiregione del datastore:usoeu.PROJECT_ID: l'ID del progetto che contiene i dati.
Un esempio di chiamata curl e risposta è il seguente:
$ curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/cmekConfigs"
{ "cmek_configs": [ { "name": "projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config", "kmsKey": "projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key" "state": "ACTIVE" "isDefault": true } ] }
Annullare la registrazione della chiave Cloud KMS
Per annullare la registrazione della chiave da Vertex AI Search, segui questi passaggi:
Chiama il metodo
DeleteCmekConfigcon il nome della risorsa CmekConfig di cui vuoi annullare la registrazione.curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID"Sostituisci quanto segue:
LOCATION: la multiregione del datastore:usoeu.PROJECT_ID: l'ID del progetto che contiene il datastore.CMEK_CONFIG_ID: l'ID della risorsa CmekConfig. Se hai registrato la chiave utilizzando la console, l'ID èdefault_cmek_config.
Un esempio di chiamata curl e risposta è il seguente:
$ curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config" { "name": "projects/my-ai-app-project-123/locations/us/operations/delete-cmek-config-56789", "metadata": { "@type": "type.googleapis.com/google.cloud.discoveryengine.v1.DeleteCmekConfigMetadata" } }(Facoltativo) Registra il valore
namerestituito dal metodo e segui le istruzioni riportate in Recuperare i dettagli di un'operazione a lunga esecuzione per vedere quando l'operazione è completata.In genere, l'eliminazione di una chiave richiede alcuni minuti.
Verificare che un datastore sia protetto da una chiave
I datastore creati dopo la registrazione della chiave sono protetti dalla chiave. Se vuoi verificare che un determinato datastore sia protetto dalla tua chiave, segui questi passaggi:
Esegui il seguente comando curl sul datastore:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "x-goog-user-project: PROJECT_ID" \ "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID"Sostituisci quanto segue:
LOCATION: la multiregione del datastore:usoeu.PROJECT_ID: l'ID del progetto che contiene il datastore.DATA_STORE_ID: l'ID del datastore.
Un esempio di chiamata curl è il seguente:
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -H "x-goog-user-project: my-ai-app-project-123" "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/collections/default_collection/dataStores/my-data-store-1"
Esamina l'output del comando: se il campo
cmekConfigè nell'output e il campokmsKeymostra la chiave che hai registrato, il datastore è protetto dalla chiave.Un esempio di risposta è il seguente:
{ "name": "projects/969795412903/locations/us/collections/default_collection/dataStores/my-data-store-1", "displayName": "my-data-store-1", "industryVertical": "GENERIC", "createTime": "2023-09-05T21:20:21.520552Z", "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ], "defaultSchemaId": "default_schema", "cmekConfig": { "name": "projects/969795412903/locations/us/collections/default_collection/dataStores/my-data-store-1/cmekConfigs/default_cmek_config", "kmsKey": "projects/my-ai-app-project-123/locations/us/keyRings/my-key-ring/cryptoKeys/my-key" } }
Altri dati protetti dalla chiave Cloud KMS
Oltre ai dati nei datastore, le chiavi possono proteggere altri tipi di informazioni di base di proprietà dell'app gestite da Vertex AI Search, come i dati di sessione generati durante la ricerca con i follow-up. Questo tipo di informazioni di base è protetto da CMEK se i datastore associati all'app sono protetti da CMEK.
Anche se non puoi eseguire un comando specifico per verificare che le sessioni siano protette, se esegui il comando Verificare che un datastore sia protetto da una chiave e vedi la chiave nella risorsa cmekConfig, sai che i dati di sessione sono protetti.
Ruotare le chiavi Cloud KMS
Quando ruoti le chiavi, crei una nuova versione della chiave e la imposti come versione principale. Lascia abilitata la versione originale della chiave per un po' di tempo prima di disabilitarla. In questo modo, le operazioni a lunga esecuzione che potrebbero utilizzare la chiave precedente avranno il tempo di essere completate.
La seguente procedura descrive i passaggi per ruotare le chiavi per un datastore di Vertex AI Search. Per informazioni generali sulla rotazione delle chiavi, consulta Rotazione delle chiavi nella guida di Cloud KMS.
Importante: non ruotare le chiavi sui datastore associati alle app di suggerimenti o a qualsiasi app che richieda analisi e non ruotare le chiavi a singola regione utilizzate per i connettori di terze parti. Consulta Limitazioni di Cloud KMS in Vertex AI Search.
Registra di nuovo la chiave. Per farlo, ripeti il passaggio 1 di Registrare la chiave Cloud KMS.
Consulta le istruzioni nella sezione Gestire le chiavi della guida di Cloud KMS per eseguire le seguenti operazioni:
Crea una nuova versione della chiave, attivala e impostala come principale.
Dopo che la nuova chiave è stata impostata come principale, i documenti nel datastore vengono criptati di nuovo utilizzando la nuova chiave e tutti i documenti successivi aggiunti al datastore vengono criptati con la nuova chiave.
Lascia abilitata la versione precedente della chiave.
Dopo circa una settimana, disabilita la versione precedente della chiave e assicurati che tutto funzioni come prima.
In un secondo momento, quando hai la certezza che la disattivazione della versione precedente della chiave non ha causato problemi, puoi eliminare la versione precedente della chiave.
Se una chiave Cloud KMS è disabilitata o revocata
Se una chiave è disabilitata o le autorizzazioni per la chiave vengono revocate, il datastore smette di importare e pubblicare i dati entro 15 minuti. Tuttavia, la riattivazione di una chiave o il ripristino delle autorizzazioni richiede molto tempo. Potrebbero essere necessarie fino a 24 ore prima che il datastore possa riprendere a pubblicare i dati.
Pertanto, non disabilitare una chiave a meno che non sia necessario. L'attivazione e la disattivazione di una chiave in un datastore è un'operazione che richiede molto tempo. Ad esempio, se una chiave viene attivata e disattivata ripetutamente, il datastore impiegherà molto tempo per raggiungere uno stato protetto. La disattivazione di una chiave e la sua riattivazione immediata potrebbero comportare giorni di inattività perché la chiave viene prima disattivata dal datastore e poi riattivata.
Risoluzione dei problemi: errore Progetti chiave KMS non trovati
Sintomo: quando provi a creare un datastore utilizzando una chiave KMS, ricevi un errore simile al seguente:
KMS key projects/[...] not found for location: [...] and project number: [...]
Problema: questo messaggio di errore può essere fuorviante. Non significa necessariamente che la chiave non esiste. Potrebbe invece indicare che la chiave KMS non è stata registrata per l'utilizzo con Vertex AI Search nella località specificata.
Soluzione: per risolvere il problema, registra la chiave seguendo i passaggi descritti in Registrare la chiave Cloud KMS. Al termine della registrazione, puoi creare datastore protetti da questa chiave.