Agent Retrieval (antes Vector Search 2.0) te permite proteger tus datos en reposo con claves criptográficas administradas a través de Cloud Key Management Service. Esta integración proporciona control sobre las claves que se usan para encriptar el contenido principal del cliente, incluida la capacidad de rotar y revocar esas claves.
De forma predeterminada, los datos se encriptan con los valores predeterminados de la plataforma administrados por Google. CMEK te proporciona control directo sobre las claves de encriptación.
Para obtener más información, consulta la documentación de Claves de encriptación administradas por el cliente (CMEK).
Requisitos previos y restricciones
Se deben cumplir los siguientes requisitos previos y restricciones para usar CMEK con una colección:
La clave de Cloud KMS debe residir en la misma Cloud de Confiance by S3NS región que la colección que protege. Por ejemplo, una colección en la región
us-central1debe usar una clave de KMS ubicada enus-central1.Debes otorgar a tu cuenta de servicio por producto y por proyecto (P4) el rol
cryptoKeyEncrypterDecrypteren tu clave de KMS. La cuenta de servicio P4 sigue este formato:service-${CONSUMER_PROJECT_NUMBER}@gcp-sa-vectorsearch.s3ns-system.iam.gserviceaccount.com
Cómo crear una colección protegida por CMEK
Después de cumplir con todos los requisitos previos, puedes usar gcloud CLI, la API de REST o el SDK de Python para crear una colección nueva con CMEK habilitada.
Usa gcloud CLI
Especifica el ID de recurso completamente calificado de tu clave de KMS con el argumento --kms-key:
gcloud vector-search collections create [COLLECTION_ID] \
--kms-key projects/[KMS_PROJECT_ID]/locations/[REGION]/keyRings/[KEY_RING]/cryptoKeys/[KEY]
Usar la API de REST
Incluye encryption_spec en el cuerpo de tu solicitud POST:
{
"encryption_spec": {
"crypto_key_name": "projects/[PROJECT_ID]/locations/[REGION]/keyRings/[KEY_RING]/cryptoKeys/[KEY]"
}
}
Cómo usar el SDK de Python
Cómo usar el SDK de 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()
Cómo migrar objetos de datos de una colección que no es de CMEK a una colección habilitada con CMEK
CMEK no se puede habilitar para colecciones existentes. En su lugar, debes migrar objetos de datos a una colección nueva con CMEK habilitada.
Para ello, deberás hacer lo siguiente:
Exporta tus objetos de datos de una colección existente a un bucket de Cloud Storage.
Crea una colección nueva con CMEK habilitada.
Importa tus objetos de datos a la colección.
Rotación de claves
Cuando se rota una clave en KMS, los datos nuevos se encriptan con la versión de clave primaria, mientras que los datos existentes permanecen encriptados con la versión anterior. Para obtener más detalles, consulta Rotación de claves.
Revocación de claves
Revocar o inhabilitar una clave inhabilita la colección de inmediato. Los índices ANN asociados se quitan automáticamente y se borran los datos en la memoria. Las operaciones de lectura, escritura y búsqueda en la colección fallarán.
Las colecciones no se vuelven a habilitar automáticamente si se restablece la clave.
Recursos compatibles con las CMEK
Los recursos actuales de Vertex AI que abarca CMEK son los siguientes. La compatibilidad de CMEK con las funciones de Vista previa también se encuentra en el estado Vista previa.
| Recurso | Material encriptado | Vínculos de documentación |
|---|---|---|
| Conjunto de datos | Todos los datos importados por el usuario (por ejemplo, contenido de texto) para DataItems y Annotations.
Contenido creado por el usuario, como AnnotationSpecs, ColumnSpecs. |
Crea un conjunto de datos para entrenar modelos de clasificación y regresión
Crea un conjunto de datos para entrenar modelos de previsión |
| Índice | Todos los archivos de datos que se usan para los índices de Vector Search almacenados en Cloud Storage, Pub/Sub y el almacenamiento interno. El índice y el IndexEndpoint deben crearse con la misma clave.
Todos los índices de una colección deben crearse con la misma clave. |
Administra índices en Vector Search: Administra índices en Vector Search 2 |
| Colecciones | Las colecciones se usan para almacenar objetos de datos relacionados. | Administra colecciones en Vector Search 2 |
| DataObjects | Las colecciones almacenan datos como objetos JSON individuales llamados objetos de datos. | Administra objetos de datos en Vector Search 2 |