Agent Retrieval (in precedenza Vector Search 2.0) ti consente di proteggere i dati a riposo utilizzando chiavi di crittografia gestite tramite Cloud Key Management Service. Questa integrazione fornisce il controllo sulle chiavi utilizzate per criptare i contenuti principali dei clienti, inclusa la possibilità di ruotare e revocare queste chiavi.
Per impostazione predefinita, i dati vengono criptati utilizzando le impostazioni predefinite della piattaforma gestita da Google. CMEK ti offre il controllo diretto sulle chiavi di crittografia.
Per ulteriori informazioni, consulta la documentazione relativa alle chiavi di crittografia gestite dal cliente (CMEK).
Prerequisiti e vincoli
Per utilizzare CMEK con una raccolta, devono essere soddisfatti i seguenti prerequisiti e vincoli:
La chiave Cloud KMS deve risiedere nella stessa Google Cloud regione della raccolta che protegge. Ad esempio, una raccolta nella regione
us-central1deve utilizzare una chiave KMS che si trova inus-central1.Devi concedere al tuo account di servizio per prodotto e per progetto (P4) il ruolo
cryptoKeyEncrypterDecryptersulla chiave KMS. L'account di servizio P4 segue questo formato:service-${CONSUMER_PROJECT_NUMBER}@gcp-sa-vectorsearch.iam.gserviceaccount.com
Creazione di una raccolta protetta da CMEK
Dopo aver soddisfatto tutti i prerequisiti, puoi utilizzare gcloud CLI, l'API REST o l'SDK Python per creare una nuova raccolta con CMEK abilitata.
Utilizzo di gcloud CLI
Specifica l'ID risorsa completo della chiave KMS utilizzando l'argomento --kms-key:
gcloud vector-search collections create [COLLECTION_ID] \
--kms-key projects/[KMS_PROJECT_ID]/locations/[REGION]/keyRings/[KEY_RING]/cryptoKeys/[KEY]
Utilizzo dell'API REST
Includi encryption_spec nel corpo della richiesta POST:
{
"encryption_spec": {
"crypto_key_name": "projects/[PROJECT_ID]/locations/[REGION]/keyRings/[KEY_RING]/cryptoKeys/[KEY]"
}
}
Utilizzo dell'SDK Python
Utilizzo dell'SDK Python:
request = vectorsearch_v1beta.CreateCollectionRequest(
parent=f"projects/{PROJECT_ID}/locations/{LOCATION}",
collection_id=collection_id,
collection={
"data_schema": {...},
"vector_schema": {...},
# Specifies the customer-managed encryption key spec for a Collection
"encryption_spec": {
"crypto_key_name": f"projects/{PROJECT_ID}/locations/{LOCATION}/keyRings/{KEY_RING}/cryptoKeys/{KEY}"
}
},
)
operation = vector_search_service_client.create_collection(request=request)
operation.result()
Migrazione di oggetti dati da una raccolta non CMEK a una raccolta abilitata per CMEK
CMEK non può essere abilitata per le raccolte esistenti. Devi invece eseguire la migrazione degli oggetti dati in una nuova raccolta con CMEK abilitata.
Ecco come fare:
Esporta gli oggetti dati da una raccolta esistente in un bucket Cloud Storage.
Crea una nuova raccolta con CMEK abilitata.
Importa gli oggetti dati nella raccolta.
Rotazione della chiave
Quando una chiave viene ruotata in KMS, i nuovi dati vengono criptati utilizzando la versione della chiave primaria, mentre i dati esistenti rimangono criptati con la versione precedente. Per maggiori dettagli, consulta Rotazione della chiave.
Revoca della chiave
La revoca o la disattivazione di una chiave disattiva immediatamente la raccolta. Gli indici ANN associati vengono automaticamente annullati e i dati in memoria vengono eliminati. Le operazioni di lettura, scrittura e ricerca nella raccolta non andranno a buon fine.
Le raccolte non vengono riattivate automaticamente se la chiave viene ripristinata.
Risorse supportate da CMEK
Le risorse Vertex AI attualmente 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 | Tutti i dati importati dall'utente (ad esempio, contenuti di testo) per DataItems e Annotations.
Contenuti creati dall'utente come AnnotationSpecs, ColumnSpecs. |
Creare un set di dati per l'addestramento di modelli di classificazione e regressione
Creare un set di dati per l'addestramento di modelli di previsione |
| Indice | Tutti i file di dati utilizzati per gli indici di Vector Search archiviati in Cloud Storage, Pub/Sub e memoria interna. Index e IndexEndpoint devono essere creati con la stessa chiave.
Tutti gli indici all'interno di una raccolta devono essere creati con la stessa chiave. |
Gestire gli indici in Vector Search :
Gestire gli indici in Vector Search 2 |
| Raccolte | Le raccolte vengono utilizzate per archiviare gli oggetti dati correlati. | Gestire le raccolte in Vector Search 2 |
| DataObjects | Le raccolte archiviano i dati come singoli oggetti JSON chiamati oggetti dati. | Gestire gli oggetti dati in Vector Search 2 |