Chiavi di crittografia gestite dal cliente (CMEK) in Agent Retrieval

Agent Retrieval (precedentemente Vector Search 2.0) ti consente di proteggere i dati at-rest utilizzando chiavi di crittografia gestite tramite Cloud Key Management Service. Questa integrazione offre 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 gestite da Google. CMEK ti offre il controllo diretto sulle chiavi di crittografia.

Per saperne di più, consulta la documentazione relativa alle chiavi di crittografia gestite dal cliente (CMEK).

Prerequisiti e vincoli

Per utilizzare CMEK con una raccolta, è necessario soddisfare i seguenti prerequisiti e vincoli:

  • La chiave Cloud KMS deve trovarsi nella stessa regione Google Cloud della raccolta che protegge. Ad esempio, una raccolta nella regione us-central1 deve utilizzare una chiave Cloud KMS che si trova in us-central1.

  • Devi concedere al tuo service account Per-Product-Per-Project (P4) il ruolo cryptoKeyEncrypterDecrypter sulla chiave Cloud KMS. Il service account 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 Cloud 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 di dati da una raccolta non CMEK a una raccolta abilitata per CMEK

Impossibile abilitare CMEK per le raccolte esistenti. Devi invece eseguire la migrazione degli oggetti dati in una nuova raccolta con CMEK abilitata.

Ecco come fare:

  1. Esporta gli oggetti dati da una raccolta esistente in un bucket Cloud Storage.

  2. Crea una nuova raccolta con CMEK abilitata.

  3. Importa gli oggetti di dati nella raccolta.

Rotazione delle chiavi

Quando una chiave viene ruotata in Cloud KMS, i nuovi dati vengono criptati utilizzando la versione della chiave primaria, mentre i dati esistenti rimangono criptati con la versione precedente. Per saperne di più, consulta Rotazione delle chiavi.

Revoca della chiave

La revoca o la disattivazione di una chiave disattiva immediatamente la raccolta. Gli indici ANN associati vengono annullati automaticamente e i dati in memoria vengono eliminati. Le operazioni di lettura, scrittura e ricerca sulla raccolta non andranno a buon fine.

Le raccolte non vengono riattivate automaticamente se la chiave viene ripristinata.

Risorse supportate da CMEK

Le risorse di Gemini Enterprise Agent Platform coperte da CMEK sono le seguenti. Anche il supporto CMEK per le funzionalità in anteprima è in stato di anteprima.

Risorsa Materiale criptato Link alla documentazione
Set di dati Tutti i dati importati dagli utenti (ad esempio i contenuti di testo) per DataItems e Annotations.

Contenuti creati dagli utenti, ad esempio AnnotationSpecs, ColumnSpecs.
Crea un set di dati per l'addestramento di modelli di classificazione e regressione

Crea un set di dati per l'addestramento di modelli di previsione
Index Tutti i file di dati utilizzati per gli indici di Vector Search su Gemini Enterprise Agent Platform archiviati in Cloud Storage, Pub/Sub e nello spazio di archiviazione interno. Index e IndexEndpoint devono essere creati con la stessa chiave.

Tutti gli indici di una raccolta devono essere creati con la stessa chiave.
Gestisci gli indici in Vector Search:

Gestisci gli indici in Vector Search 2
Raccolte Le raccolte vengono utilizzate per archiviare oggetti di dati correlati. Gestisci le raccolte in Vector Search 2
DataObjects Le raccolte archiviano i dati come singoli oggetti JSON chiamati oggetti dati. Gestisci gli oggetti dati in Vector Search 2