Esta página describe cómo aplicar el control de acceso a fuentes de datos para aplicaciones de búsqueda en aplicaciones de IA.
El control de acceso a sus fuentes de datos en Aplicaciones de IA limita los datos que los usuarios pueden ver en los resultados de su aplicación de búsqueda. Google utiliza su proveedor de identidad 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 su empresa buscan en documentos de Confluence utilizando su aplicación de búsqueda. Sin embargo, debe asegurarse de que no puedan ver contenido a través de la aplicación al que no tienen acceso. Si ha configurado un grupo de trabajadores en Google Cloud para el proveedor de identidad de su organización, también puede especificar ese grupo de fuerza laboral en Aplicaciones de IA. Ahora, si un empleado usa su aplicación, obtendrá resultados de búsqueda solo para documentos a los que su cuenta ya tiene acceso 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 la fuente de datos para aplicaciones de IA, debe tener configurado el proveedor de identidad de su organización en Google Cloud. Se admiten los siguientes marcos de autenticación:
Identidad de Google:
Caso 1: si utiliza Google Identity, todas las identidades y grupos de usuarios están presentes y se administran a través de Google Cloud. Para obtener más información sobre Google Identity, consulte la documentación de Google Identity .
Caso 2: utiliza un proveedor de identidad externo y ha sincronizado identidades con Google Identity. Sus usuarios finales utilizan Google Identity para autenticarse antes de acceder a los recursos de Google o Google Workspace.
Caso 3: utiliza un proveedor de identidad externo y ha sincronizado identidades con Google Identity. Sin embargo, todavía está utilizando su proveedor de identidad externo existente para realizar la autenticación. Ha configurado SSO con Google Identity de modo que sus usuarios comiencen a iniciar sesión con Google Identity y luego sean dirigidos a su proveedor de identidad externo. (Es posible que ya hayas realizado esta sincronización al configurar otros Google Cloud recursos o Google Workspace).
Federación de proveedores de identidades de terceros: si utiliza un proveedor de identidades externo, por ejemplo, Azure AD, Okta o Ping, pero no desea sincronizar sus identidades con Google Cloud Identity, debe configurar la federación de identidades de la fuerza laboral en Google Cloudantes de poder activar el control de acceso a fuentes de datos para aplicaciones de IA.
Si utiliza conectores de terceros , el atributo
google.subject
debe 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.subject
ygoogle.groups
para proveedores de identidad utilizados habitualmente:google.subject=assertion.email google.groups=assertion.groups
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.groups
google.subject=assertion.subject google.groups=assertion.attributes['groups']
Limitaciones
El control de acceso tiene las siguientes limitaciones:
- Se permiten 3000 lectores por documento. Cada director cuenta como un lector, donde un director puede ser un grupo o un usuario individual.
- Puede seleccionar un proveedor de identidad por cada ubicación compatible con Vertex AI Search.
- Para configurar una fuente de datos como de acceso controlado, debe seleccionar esta configuración durante la creación del almacén de datos. No puede activar o desactivar esta configuración para un almacén de datos existente.
- La pestaña Datos > Documentos en la consola no muestra datos para fuentes de datos con acceso controlado porque estos datos solo deben ser visibles para los usuarios que tienen acceso de visualización.
- Para obtener una vista previa de los resultados de la interfaz de usuario para aplicaciones de búsqueda que utilizan control de acceso de terceros, debe iniciar sesión en la consola federada o utilizar la aplicación web. Consulte Vista previa de resultados para aplicaciones con acceso controlado .
Antes de comenzar
Este procedimiento supone que ha configurado un proveedor de identidad en suGoogle Cloud proyecto.
- Google Identity : si utiliza Google Identity, puede continuar con el procedimiento Conectarse a su proveedor de identidad .
- Proveedor de identidad externo : asegúrese de haber configurado un grupo de identidades de fuerza laboral para su proveedor de identidad externo. Asegúrese de haber especificado asignaciones de atributos de sujetos y grupos al configurar el grupo de fuerza laboral. Para obtener información sobre asignaciones de atributos, consulte Asignaciones de atributos en la documentación de IAM. Para obtener más información sobre los grupos de identidades de la fuerza laboral, consulte Administrar proveedores de grupos de identidades de la fuerza laboral en la documentación de IAM.
Conéctese a su proveedor de identidad
Para especificar un proveedor de identidad para aplicaciones de IA y activar el control de acceso a la fuente de datos, siga estos pasos:
En el Google Cloud consola, vaya a la página Aplicaciones de IA .
Vaya a la página Configuración > Autenticación .
Haga clic en Agregar proveedor de identidad para la ubicación que desea actualizar.
Seleccione su proveedor de identidad en el cuadro de diálogo Agregar proveedor de identidad . Si selecciona un proveedor de identidad externo, seleccione también el grupo de fuerza laboral que se aplica a sus fuentes de datos.
Haga clic en Guardar cambios .
Configurar una fuente de datos con control de acceso
Para aplicar control de acceso a una fuente de datos, siga los siguientes pasos según el tipo de fuente de datos que esté configurando:
- Fuentes de datos de terceros: no se requiere configuración adicional al crear su aplicación. Saltar a Vista previa de resultados para aplicaciones con control de acceso de terceros
- Google Drive: no se requiere configuración adicional al crear su 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
Al configurar un almacén de datos para datos no estructurados desde Cloud Storage, también debes cargar metadatos de ACL y configurar el almacén de datos como acceso controlado:
Al preparar sus datos, incluya información de ACL en sus metadatos utilizando 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 datos no estructurados con metadatos, consulte la sección Datos no estructurados de Preparar datos para la ingesta .
Al seguir los pasos para la creación del almacén de datos en Crear un almacén de datos de búsqueda , puede habilitar el control de acceso haciendo lo siguiente en la consola o utilizando la API:
- Consola : al crear un almacén de datos, seleccione Este almacén de datos contiene información de control de acceso durante la creación del almacén de datos.
- API : al crear un almacén de datos, incluya la marca
"aclEnabled": "true"
en su carga útil JSON.
Al seguir los pasos para la importación de datos en Crear un almacén de datos de búsqueda , asegúrese de hacer lo siguiente:
- Cargue sus metadatos con información de ACL desde el mismo depósito que sus datos no estructurados
- Si utiliza la API, configure
GcsSource.dataSchema
paradocument
Datos estructurados de Cloud Storage
Al configurar un almacén de datos para datos estructurados de Cloud Storage, también debes cargar metadatos de ACL y configurar el almacén de datos como acceso controlado:
Al preparar sus datos, incluya información de ACL en sus metadatos utilizando el campo
acl_info
. Por ejemplo:{ "id": "<your-id>", "jsonData": "<JSON string>", "acl_info": { "readers": [ { "principals": [ { "group_id": "group_1" }, { "user_id": "user_1" } ] } ] } }
Al seguir los pasos para la creación del almacén de datos en Crear un almacén de datos de búsqueda , puede habilitar el control de acceso haciendo lo siguiente en la consola o utilizando la API:
- Consola : al crear un almacén de datos, seleccione Este almacén de datos contiene información de control de acceso durante la creación del almacén de datos.
- API : al crear un almacén de datos, incluya la marca
"aclEnabled": "true"
en su carga útil JSON.
Al seguir los pasos para la importación de datos en Crear un almacén de datos de búsqueda , asegúrese de hacer lo siguiente:
- Cargue sus metadatos con información de ACL desde el mismo depósito que sus datos no estructurados
- Si utiliza la API, configure
GcsSource.dataSchema
paradocument
Datos no estructurados de BigQuery
Al configurar un almacén de datos para datos no estructurados de BigQuery, debes configurar el almacén de datos como acceso controlado y proporcionar metadatos de ACL mediante un esquema predefinido para Vertex AI Search:
Al preparar sus datos, especifique el siguiente esquema. No utilice 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 ACL como una columna en tu tabla de BigQuery.
Al seguir los pasos en Crear un almacén de datos de búsqueda , habilite el control de acceso en la consola o mediante la API:
- Consola : al crear un almacén de datos, seleccione Este almacén de datos contiene información de control de acceso durante la creación del almacén de datos.
- API : al crear un almacén de datos, incluya la marca
"aclEnabled": "true"
en su carga útil JSON.
Al seguir los pasos para la importación de datos en Crear un almacén de datos de búsqueda , si usas la API, configura
BigQuerySource.dataSchema
endocument
.
Datos estructurados de BigQuery
Al configurar un almacén de datos para datos estructurados de BigQuery, debes configurar el almacén de datos como acceso controlado y proporcionar metadatos de ACL mediante un esquema predefinido para Vertex AI Search:
Al preparar sus datos, especifique el siguiente esquema. No utilice 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 ACL como una columna en tu tabla de BigQuery.
Al seguir los pasos en Crear un almacén de datos de búsqueda , habilite el control de acceso en la consola o mediante la API:
- Consola : al crear un almacén de datos, seleccione Este almacén de datos contiene información de control de acceso durante la creación del almacén de datos.
- API : al crear un almacén de datos, incluya la marca
"aclEnabled": "true"
en su carga útil JSON.
Al seguir los pasos para la importación de datos en Crear un almacén de datos de búsqueda , asegúrese de hacer lo siguiente:
- Si usa la consola, al especificar el tipo de datos que está cargando, seleccione JSONL para datos estructurados con metadatos.
- Si usas la API, configura
BigQuerySource.dataSchema
paradocument
Vista previa de resultados para aplicaciones con control de acceso de terceros
La vista previa de los resultados en la consola para aplicaciones con control de acceso de terceros requiere que inicie sesión con las credenciales de su organización.
Puede obtener una vista previa de los resultados de la interfaz de usuario de dos maneras:
- Consola de Workforce Identity Federation. Abra la consola de Workforce Identity Federation e inicie sesión con sus credenciales de terceros. Consulte Vista previa de los resultados en la consola de Workforce Identity Federation .
- Aplicación web. Active e inicie sesión en una aplicación web dedicada proporcionada por Vertex AI Search. Consulte Activar la aplicación web .
Vista previa de los resultados en la consola de Workforce Identity Federation
Siga estos pasos para usar la consola de Workforce Identity Federation y ver los resultados:
En el Google Cloud consola, vaya a la página Aplicaciones de IA .
Haga clic en el nombre de la aplicación de búsqueda cuyos resultados desea obtener una vista previa.
Vaya a la página de vista previa .
Haga clic en Vista previa con identidad federada para ir a la consola de Workforce Identity Federation.
Ingrese el proveedor de su grupo de fuerza laboral y las credenciales de su organización.
Obtenga una vista previa de los resultados de su aplicación 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 su búsqueda, consulte Obtener resultados de búsqueda .
Para obtener más información sobre la consola de Workforce Identity Federation, consulte Acerca de la consola (federada) .
Otorga permisos de búsqueda a tus usuarios
Para brindarles a sus usuarios la capacidad de buscar datos con acceso controlado usando su aplicación, debe otorgar acceso a los usuarios en su dominio o grupo de fuerza laboral. Google recomienda que otorgue una función de IAM personalizada a su grupo de usuarios.
- Identidad de Google : si utiliza Identidad de Google, Google recomienda que cree un grupo de Google que incluya a todos los empleados que necesitan realizar búsquedas. Si es administrador de Google Workspace, puede incluir a todos los usuarios de una organización en un grupo de Google siguiendo los pasos que se indican en Agregar todos los usuarios de su organización a un grupo .
- Proveedor de identidad externo : si utiliza un proveedor de identidad externo, por ejemplo Okta o Azure AD, agregue a todos los miembros de su grupo de personal a un solo grupo.
Google recomienda que cree una función de IAM personalizada para otorgarla a su grupo de usuarios, utilizando los siguientes permisos:
-
discoveryengine.answers.get
-
discoveryengine.servingConfigs.answer
-
discoveryengine.servingConfigs.search
-
discoveryengine.sessions.get
-
discoveryengine.widgetConfigs.get
Para obtener más información sobre los permisos para los recursos de aplicaciones de IA que utilizan Identity and Access Management (IAM), consulte Control de acceso con IAM .
Para obtener más información sobre roles personalizados, consulte Roles personalizados en la documentación de IAM.
Autorizar el widget de búsqueda
Si desea implementar un widget de búsqueda para una aplicación de acceso controlado, siga estos pasos:
Otorgue la función Visor de Discovery Engine a los usuarios de su dominio o grupo de personal que necesiten realizar llamadas a la API de búsqueda.
Genere tokens de autorización para pasarlos a su widget:
- Para Google Identity: genere tokens de acceso OAuth 2.0.
- Para la federación de identidades de la fuerza laboral: siga los pasos en Obtener tokens de corta duración para la federación de identidades de la fuerza laboral para obtener su token.
Siga los pasos en Agregar un widget con un token de autorización para pasar el token a su widget.
Activar la aplicación web
La aplicación web es un sitio dedicado generado por Vertex AI Search donde usted y cualquier otro usuario con credenciales de inicio de sesión pueden usar su aplicación de búsqueda.
Para proporcionar la aplicación de búsqueda a los usuarios sin necesidad de integrar el widget de búsqueda o la API de búsqueda en su propia aplicación, puede proporcionar la URL de la aplicación web a sus usuarios.
Siga estos pasos para activar la aplicación web:
En el Google Cloud consola, vaya a la página Aplicaciones de IA .
Haga clic en el nombre de la aplicación de búsqueda para crear una aplicación web.
La aplicación de búsqueda debe estar asociada al menos a una fuente de datos con control de acceso. Para obtener más información, consulte Configurar una fuente de datos con control de acceso .
Vaya a la pestaña Integración > UI .
Haga clic en Habilitar la aplicación web .
Si utiliza la federación de identidades de la fuerza laboral, seleccione un proveedor de grupo de fuerza laboral.
Haga clic en el enlace a su aplicación web.
Ingrese el proveedor de su grupo de fuerza laboral y las credenciales de su organización.
Obtenga una vista previa de los resultados de su aplicación.
Para configurar los resultados de la aplicación web, vaya a Configurar resultados para el widget de búsqueda . Cualquier configuración del widget también se aplica a la aplicación web.
Opcional: para proporcionar la aplicación de búsqueda a sus usuarios a través de esta aplicación web dedicada, copie la URL y envíela a los usuarios que tengan credenciales de inicio de sesión. Pueden marcar la URL de la aplicación web como favorita e ir a ella para usar su aplicación de búsqueda.
Para obtener más información sobre cómo obtener resultados de búsqueda, consulte Obtener resultados de búsqueda .