En esta página se describe cómo aplicar el control de acceso a fuentes de datos en aplicaciones de búsqueda de Vertex AI Search.
El control de acceso a tus fuentes de datos en Vertex AI Search limita los datos que los usuarios pueden ver en los resultados de tu aplicación de búsqueda. Google usa tu proveedor de identidades para identificar al usuario final que realiza una búsqueda y determinar si tiene acceso a los documentos que se devuelven como resultados.
Por ejemplo, supongamos que los empleados de tu empresa buscan en documentos de Confluence con tu aplicación de búsqueda. Sin embargo, debes asegurarte de que no puedan ver contenido a través de la aplicación al que no tengan acceso. Si has configurado un grupo de usuarios en Google Cloud para el proveedor de identidades de tu organización, también puedes especificar ese grupo de usuarios en Vertex AI Search. Ahora, si un empleado usa tu aplicación, solo obtendrá resultados de búsqueda de los documentos a los que ya tenga acceso su cuenta en Confluence.
Acerca del control de acceso a fuentes de datos
Activar el control de acceso es un procedimiento que se realiza una sola vez.
El control de acceso está disponible para Cloud Storage, BigQuery, Google Drive y todas las fuentes de datos de terceros.
Para activar el control de acceso a las fuentes de datos de Vertex AI Search, debes configurar el proveedor de identidades de tu organización en Google Cloud. Se admiten los siguientes frameworks de autenticación:
Identidad de Google:
Caso 1: Si usas la identidad de Google, todas las identidades de usuario y los grupos de usuarios están presentes y se gestionan a través de Google Cloud. Para obtener más información sobre Google Identity, consulta la documentación de Google Identity.
Caso 2: Usas un proveedor de identidades externo y has sincronizado identidades con Google Identity. Tus usuarios finales utilizan Google Identity para autenticarse antes de acceder a recursos de Google o Google Workspace.
Caso 3: Usas un proveedor de identidades externo y has sincronizado identidades con Google Identity. Sin embargo, sigues usando tu proveedor de identidades externo para realizar la autenticación. Has configurado el inicio de sesión único con la identidad de Google de forma que tus usuarios empiezan a iniciar sesión con la identidad de Google y, a continuación, se les dirige a tu proveedor de identidades externo. Es posible que ya hayas realizado esta sincronización al configurar otros recursos Google Cloud o Google Workspace.
Federación de proveedores de identidades de terceros: si utilizas un proveedor de identidades externo (por ejemplo, Azure AD, Okta o Ping) pero no quieres sincronizar tus identidades con Google Cloud Identity, debes configurar la federación de identidades de empleados en Google Cloudantes de poder activar el control de acceso a las fuentes de datos de Vertex AI Search.
Si usas conectores de terceros, el atributo
google.subjectdebe asignarse al campo de dirección de correo del proveedor de identidades externo. A continuación, se muestran ejemplos de asignaciones de atributosgoogle.subjectygoogle.groupspara proveedores de identidades habituales:google.subject=assertion.email google.groups=assertion.groupsgoogle.subject=assertion.attributes['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name'][0] google.groups=assertion.attributes['http://schemas.microsoft.com/ws/2008/06/identity/claims/groups']google.subject=assertion.email google.groups=assertion.groupsgoogle.subject=assertion.subject google.groups=assertion.attributes['groups']
Limitaciones
El control de acceso tiene las siguientes limitaciones:
- Se permiten 3000 lectores por documento. Cada entidad principal cuenta como lector. Una entidad principal puede ser un grupo o un usuario individual.
- Puedes seleccionar un proveedor de identidades por cada ubicación compatible con Vertex AI Search.
- Para definir una fuente de datos como controlada por acceso, debe seleccionar este ajuste durante la creación del almacén de datos. No puedes activar ni desactivar este ajuste en un almacén de datos que ya tengas.
- La pestaña Datos > Documentos de la consola no muestra datos de fuentes de datos con control de acceso, ya que estos datos solo deberían ser visibles para los usuarios que tengan acceso de lectura.
- Para previsualizar los resultados de la interfaz de usuario de las aplicaciones de búsqueda que usan el control de acceso de terceros, debes iniciar sesión en la consola federada o usar la aplicación web. Consulta Previsualizar los resultados de las aplicaciones con control de acceso.
Antes de empezar
En este procedimiento se presupone que has configurado un proveedor de identidades en tuGoogle Cloud proyecto.
- Identidad de Google: si utilizas la identidad de Google, puedes ir al procedimiento para conectar con tu proveedor de identidades.
- Proveedor de identidades externo: asegúrate de haber configurado un grupo de identidades de la fuerza de trabajo para tu proveedor de identidades externo. Comprueba que has especificado las asignaciones de atributos de asunto y de grupo al configurar el grupo de usuarios. Para obtener información sobre las asignaciones de atributos, consulta Asignaciones de atributos en la documentación de IAM. Para obtener más información sobre los grupos de identidades de empleados, consulta Gestionar proveedores de grupos de identidades de empleados en la documentación de IAM.
Conectarse a un proveedor de identidades
Para especificar un proveedor de identidades para Vertex AI Search y activar el control de acceso a la fuente de datos, siga estos pasos:
En la Google Cloud consola, ve a la página Aplicaciones de IA.
Ve a la página Configuración > Autenticación.
Haz clic en el icono de edición de la ubicación que quieras actualizar.
Selecciona tu proveedor de identidades en el cuadro de diálogo Añadir proveedor de identidades. Si seleccionas un proveedor de identidades de terceros, también debes seleccionar el grupo de empleados que se aplique a tus fuentes de datos.
Haz clic en Guardar cambios.
Configurar una fuente de datos con control de acceso
Para aplicar el control de acceso a una fuente de datos, sigue estos pasos en función del tipo de fuente de datos que estés configurando:
- Fuentes de datos de terceros: no es necesario realizar ninguna configuración adicional al crear la aplicación. Ve a la sección Vista previa de los resultados de las aplicaciones con control de acceso de terceros.
- Google Drive: no es necesario realizar ninguna configuración adicional al crear tu aplicación.
- Datos no estructurados de Cloud Storage
- Datos estructurados de Cloud Storage
- Datos no estructurados de BigQuery
- Datos estructurados de BigQuery
Datos no estructurados de Cloud Storage
Cuando configures un almacén de datos para datos no estructurados de Cloud Storage, también debes subir metadatos de ACL y definir el almacén de datos como controlado por acceso:
Cuando prepare sus datos, incluya la información de la lista de control de acceso en sus metadatos mediante el campo
acl_info. Por ejemplo:{ "id": "<your-id>", "jsonData": "<JSON string>", "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" }, "acl_info": { "readers": [ { "principals": [ { "group_id": "group_1" }, { "user_id": "user_1" } ] } ] } }Para obtener más información sobre los datos sin estructurar con metadatos, consulta la sección Datos sin estructurar del artículo Preparar datos para la ingesta.
Cuando sigas los pasos para crear un almacén de datos de búsqueda en Crear un almacén de datos de búsqueda, puedes habilitar el control de acceso haciendo lo siguiente en la consola o mediante la API:
- Consola: al crear un almacén de datos, selecciona Este almacén de datos contiene información de control de acceso.
- API: al crear un almacén de datos, incluye la marca
"aclEnabled": "true"en tu carga útil de JSON.
Cuando siga los pasos para importar datos en Crear un almacén de datos de búsqueda, asegúrese de hacer lo siguiente:
- Subir los metadatos con información de LCA del mismo segmento que los datos no estructurados
- Si usa la API, defina
GcsSource.dataSchemacomodocument
Datos estructurados de Cloud Storage
Cuando configures un almacén de datos para datos estructurados de Cloud Storage, también tendrás que subir metadatos de ACL y definir el almacén de datos como controlado por acceso:
Cuando prepare sus datos, incluya la información de la lista de control de acceso en sus metadatos mediante el campo
acl_info. Por ejemplo:{ "id": "<your-id>", "jsonData": "<JSON string>", "acl_info": { "readers": [ { "principals": [ { "group_id": "group_1" }, { "user_id": "user_1" } ] } ] } }Cuando sigas los pasos para crear un almacén de datos de búsqueda en Crear un almacén de datos de búsqueda, puedes habilitar el control de acceso haciendo lo siguiente en la consola o mediante la API:
- Consola: al crear un almacén de datos, selecciona Este almacén de datos contiene información de control de acceso.
- API: al crear un almacén de datos, incluye la marca
"aclEnabled": "true"en tu carga útil de JSON.
Cuando siga los pasos para importar datos en Crear un almacén de datos de búsqueda, asegúrese de hacer lo siguiente:
- Subir los metadatos con información de LCA del mismo segmento que los datos no estructurados
- Si usas la API, asigna el valor
documentaGcsSource.dataSchema.
Datos no estructurados de BigQuery
Cuando configures un almacén de datos para datos sin estructurar de BigQuery, debes definir el almacén de datos como controlado por acceso y proporcionar metadatos de ACL mediante un esquema predefinido para Vertex AI Search:
Cuando prepare sus datos, especifique el siguiente esquema. No uses un esquema personalizado.
[ { "name": "id", "mode": "REQUIRED", "type": "STRING", "fields": [] }, { "name": "jsonData", "mode": "NULLABLE", "type": "STRING", "fields": [] }, { "name": "content", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "mimeType", "type": "STRING", "mode": "NULLABLE" }, { "name": "uri", "type": "STRING", "mode": "NULLABLE" } ] } { "name": "acl_info", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "readers", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "principals", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "user_id", "type": "STRING", "mode": "NULLABLE" }, { "name": "group_id", "type": "STRING", "mode": "NULLABLE" } ] } ] } ] } ]Incluye los metadatos de la lista de control de acceso como una columna en tu tabla de BigQuery.
Cuando sigas los pasos que se indican en Crear un almacén de datos de búsqueda, habilita el control de acceso en la consola o mediante la API:
- Consola: al crear un almacén de datos, selecciona Este almacén de datos contiene información de control de acceso.
- API: al crear un almacén de datos, incluye la marca
"aclEnabled": "true"en tu carga útil de JSON.
Cuando sigas los pasos para importar datos en Crear un almacén de datos de búsqueda, si usas la API, define
BigQuerySource.dataSchemacomodocument.
Datos estructurados de BigQuery
Cuando configures un almacén de datos para datos estructurados de BigQuery, debes definir el almacén de datos como controlado por acceso y proporcionar metadatos de ACL mediante un esquema predefinido para la búsqueda de Vertex AI:
Cuando prepare sus datos, especifique el siguiente esquema. No uses un esquema personalizado.
[ { "name": "id", "mode": "REQUIRED", "type": "STRING", "fields": [] }, { "name": "jsonData", "mode": "NULLABLE",