En esta página, se describe cómo aplicar el control de acceso a la fuente de datos para las apps de búsqueda en Agent Search.
El control de acceso para las fuentes de datos en Agent Search limita los datos que los usuarios pueden ver en los resultados de la app de búsqueda. Google usa el proveedor de identidad para identificar al usuario final que realiza una búsqueda y determinar si tiene acceso a los documentos que se muestran como resultados.
Por ejemplo, supongamos que los empleados de una empresa buscan en los documentos de Confluence con la app de búsqueda. Sin embargo, es necesario cerciorarse de que no puedan ver contenido a través de la app al que no tienen permiso para acceder. Si configuraste un grupo de personal en Google Cloud para el proveedor de identidad de la organización, entonces también puedes especificar ese grupo de personal en Agent Search. Ahora, si un empleado usa la app, solo obtendrá resultados de búsqueda para los documentos a los que su cuenta ya tenga acceso en Confluence.
Acerca del control de acceso a la fuente de datos
Activar el control de acceso es un procedimiento único.
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 la fuente de datos para Agent Search, debes tener configurado el proveedor de identidad de tu organización en Google Cloud. Se admiten los siguientes frameworks de autenticación:
Google Identity:
Caso 1: Si usas Google Identity, todas las identidades de usuario y los grupos de usuarios están presentes y se administran a través de. Google CloudPara obtener más información sobre Google Identity, consulta la documentación de Google Identity.
Caso 2: Usas un proveedor de identidad externo y sincronizaste las identidades con Google Identity. Los usuarios finales usan Google Identity para autenticarse antes de acceder a los recursos de Google o Google Workspace.
Caso 3: Usas un proveedor de identidad externo y sincronizaste las identidades con Google Identity. Sin embargo, aún usas tu proveedor de identidad externo existente para realizar la autenticación. Configuraste el SSO con Google Identity de modo que los usuarios comiencen a acceder con Google Identity y, luego, se los dirija a tu proveedor de identidad externo. (Es posible que ya hayas realizado esta sincronización cuando configuraste otros Google Cloud recursos o Google Workspace).
Federación de proveedores de identidad externos: Si usas un proveedor de identidad externo, por ejemplo, Microsoft Entra ID, Okta o Ping, pero no quieres sincronizar tus identidades en Google Cloud Identity, debes configurar la federación de identidades de personal en Google Cloud antes de poder activar el control de acceso a la fuente de datos para Agent Search.
Si usas conectores de terceros, el atributo
google.subjectdebe asignarse al campo de dirección de correo electrónico en el proveedor de identidad externo. A continuación, se muestran ejemplos de asignaciones de atributosgoogle.subjectygoogle.groupspara proveedores de identidad de uso frecuente:Microsoft Entra ID con protocolo OIDC
google.subject=assertion.email google.groups=assertion.groupsMicrosoft Entra ID con protocolo SAML
google.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 3,000 lectores por documento. Cada principal se considera un lector, y una principal puede ser un grupo o un usuario individual.
- Puedes seleccionar un proveedor de identidad por ubicación admitida en Agent Search.
- Para establecer una fuente de datos como controlada por acceso, debes seleccionar este parámetro de configuración durante la creación del almacén de datos. No puedes activar ni desactivar este parámetro de configuración para un almacén de datos existente.
- La pestaña Datos > Documentos de la consola no muestra datos para las fuentes de datos controladas por acceso porque estos datos solo deben ser visibles para los usuarios que tienen acceso de lectura.
- Para obtener una vista previa de los resultados de la IU de las apps de búsqueda que usan el control de acceso de terceros, debes acceder a la consola federada. Consulta Obtén una vista previa de los resultados de las apps con control de acceso.
Antes de comenzar
En este procedimiento, se supone que configuraste un proveedor de identidad en tu Google Cloud proyecto.
- Google Identity: Si usas Google Identity, puedes continuar con el procedimiento Conéctate a tu proveedor de identidad.
- Proveedor de identidad externo: Asegúrate de haber configurado un grupo de identidades de personal para tu proveedor de identidad externo. Verifica que hayas especificado las asignaciones de atributos de asunto y grupo cuando configures el grupo de personal. 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 personal, consulta Administra proveedores de grupos de identidades de personal en la documentación de IAM.
Conéctate a tu proveedor de identidad
Para especificar un proveedor de identidad para Agent Search y activar el control de acceso a la fuente de datos, sigue estos pasos:
En la Google Cloud consola de, ve a la página AI Applications.
Ve a la página Configuración > Autenticación.
Haz clic en el ícono de edición para la ubicación que deseas actualizar.
Selecciona tu proveedor de identidad en el diálogo Agregar proveedor de identidad. Si seleccionas un proveedor de identidad externo, también selecciona el grupo de personal que se aplica a tus fuentes de datos.
Haz clic en Guardar cambios.
Configura una fuente de datos con control de acceso
Para aplicar el control de acceso a una fuente de datos, sigue estos pasos según el tipo de fuente de datos que estés configurando:
- Fuentes de datos externas: No se requiere ninguna configuración adicional cuando creas tu app. Ve a Obtén una vista previa de los resultados de las apps con control de acceso de terceros.
- Google Drive: No se requiere ninguna configuración adicional cuando creas tu app.
- 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 deberás subir metadatos de LCA y establecer el almacén de datos como controlado por acceso:
Cuando prepares tus datos, incluye información de LCA en tus metadatos con 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 no estructurados con metadatos, consulta la sección Datos no estructurados de Prepara los datos para la transferencia.
Cuando sigas los pasos para crear un almacén de datos en Crea un almacén de datos de búsqueda, puedes habilitar el control de acceso haciendo lo siguiente en la consola o con la API:
- Consola: Cuando crees un almacén de datos, selecciona Este almacén de datos contiene información de control de acceso durante la creación del almacén de datos.
- API: Cuando crees un almacén de datos, incluye la marca
"aclEnabled": "true"en tu carga útil de JSON.
Cuando sigas los pasos para importar datos en Crea un almacén de datos de búsqueda, asegúrate de hacer lo siguiente:
- Sube tus metadatos con información de LCA desde el mismo bucket que tus datos no estructurados.
- Si usas la API, establece
GcsSource.dataSchemaendocument.
Datos estructurados de Cloud Storage
Cuando configures un almacén de datos para datos estructurados de Cloud Storage, también deberás subir metadatos de LCA y establecer el almacén de datos como controlado por acceso:
Cuando prepares tus datos, incluye información de LCA en tus metadatos con 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 en Crea un almacén de datos de búsqueda, puedes habilitar el control de acceso haciendo lo siguiente en la consola o con la API:
- Consola: Cuando crees un almacén de datos, selecciona Este almacén de datos contiene información de control de acceso durante la creación del almacén de datos.
- API: Cuando crees un almacén de datos, incluye la marca
"aclEnabled": "true"en tu carga útil de JSON.
Cuando sigas los pasos para importar datos en Crea un almacén de datos de búsqueda, asegúrate de hacer lo siguiente:
- Sube tus metadatos con información de LCA desde el mismo bucket que tus datos no estructurados.
- Si usas la API, establece
GcsSource.dataSchemaendocument.
Datos no estructurados de BigQuery
Cuando configures un almacén de datos para datos no estructurados de BigQuery, debes establecer el almacén de datos como controlado por acceso y proporcionar metadatos de LCA con un esquema predefinido para Agent Search:
Cuando prepares tus datos, especifica 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 tus metadatos de LCA como una columna en tu tabla de BigQuery.
Cuando sigas los pasos en Crea un almacén de datos de búsqueda, habilita el control de acceso en la consola o con la API:
- Consola: Cuando crees un almacén de datos, selecciona Este almacén de datos contiene información de control de acceso durante la creación del almacén de datos.
- API: Cuando crees un almacén de datos, incluye la marca
"aclEnabled": "true"en tu carga útil de JSON.
Cuando sigas los pasos para importar datos en Crea un almacén de datos de búsqueda, si usas la API, establece
BigQuerySource.dataSchemaendocument.
Datos estructurados de BigQuery
Cuando configures un almacén de datos para datos estructurados de BigQuery, debes establecer el almacén de datos como controlado por acceso y proporcionar metadatos de LCA con un esquema predefinido para Agent Search:
Cuando prepares tus datos, especifica el siguiente esquema. No uses un esquema personalizado.
[ { "name": "id", "mode": "REQUIRED", "type": "STRING", "fields": [] }, { "name": "jsonData", "mode": "NULLABLE", "type": "STRING", "fields": [] }, { "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 tus metadatos de LCA como una columna en tu tabla de BigQuery.
Cuando sigas los pasos en Crea un almacén de datos de búsqueda, habilita el control de acceso en la consola o con la API:
- Consola: Cuando crees un almacén de datos, selecciona Este almacén de datos contiene información de control de acceso durante la creación del almacén de datos.
- API: Cuando crees un almacén de datos, incluye la marca
"aclEnabled": "true"en tu carga útil de JSON.
Cuando sigas los pasos para importar datos en Crea un almacén de datos de búsqueda, asegúrate de hacer lo siguiente:
- Si usas la consola, cuando especifiques el tipo de datos que subes, selecciona JSONL para datos estructurados con metadatos.
- Si usas la API, establece
BigQuerySource.dataSchemaendocument.
Obtén una vista previa de los resultados en la consola de federación de identidades de personal
Para obtener una vista previa de los resultados de las apps con control de acceso de terceros en la Google Cloud consola, debes acceder con las credenciales de tu organización.
Para obtener una vista previa de los resultados de la IU, sigue estos pasos:
En la Google Cloud consola de, ve a la página AI Applications.
Haz clic en el nombre de la app de búsqueda cuyos resultados deseas obtener una vista previa.
Ve a la página Vista previa.
Haz clic en Vista previa con identidad federada para ir a la consola de federación de identidades de personal.
Ingresa las credenciales de tu proveedor de grupo de personal y de la organización.
Obtén una vista previa de los resultados de tu app en la página Vista previa que aparece.
Para obtener más información sobre cómo obtener una vista previa de los resultados de la búsqueda, consulta Obtén resultados de la búsqueda.
Para obtener más información sobre la consola de federación de identidades de personal, consulta Acerca de la consola (federada).
Otorga permisos de búsqueda a tus usuarios
Para que los usuarios puedan buscar datos controlados por acceso con tu app, debes otorgar acceso a los usuarios de tu dominio o grupo de personal. Google recomienda que otorgues un rol personalizado de IAM a tu grupo de usuarios.
- Google Identity: Si usas Google Identity, Google recomienda que crees un Grupo de Google que incluya a todos los empleados que necesiten buscar. Si eres administrador de Google Workspace, puedes incluir a todos los usuarios de una organización en un grupo de Google siguiendo los pasos que se indican en Agrega a todos los usuarios de tu organización a un grupo.
- Proveedor de identidad externo: Si usas un proveedor de identidad externo, por ejemplo, Okta o Microsoft Entra ID, agrega a todos los usuarios de tu grupo de personal a un solo grupo.
Google recomienda que crees un rol personalizado de IAM para otorgar a tu grupo de usuarios con los siguientes permisos:
discoveryengine.answers.getdiscoveryengine.servingConfigs.answerdiscoveryengine.servingConfigs.searchdiscoveryengine.sessions.getdiscoveryengine.widgetConfigs.get
Para obtener más información sobre los permisos para los recursos de Agent Search con Identity and Access Management (IAM), consulta Control de acceso con IAM.
Para obtener más información sobre los roles personalizados, consulta los Roles personalizados en la documentación de IAM.
Autoriza el widget de búsqueda
Si deseas implementar un widget de búsqueda para una app controlada por acceso, sigue estos pasos:
Otorga el rol de Visualizador de Discovery Engine a los usuarios de tu dominio o grupo de personal que necesiten realizar llamadas a la API de Search.
Genera tokens de autorización para pasar a tu widget:
- Para Google Identity: Genera tokens de acceso de OAuth 2.0.
- Para la federación de identidades de personal: Sigue los pasos que se indican en Obtén tokens de corta duración para la federación de identidades de personal para obtener tu token.
Sigue los pasos que se indican en Agrega un widget con un token de autorización para pasar el token a tu widget.
¿Qué sigue?
Obtén resultados de la búsqueda.