Filtrado según el contexto del usuario - Amazon Kendra

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Filtrado según el contexto del usuario

Puede filtrar los resultados de búsqueda de un usuario en función del acceso del usuario o su grupo a los documentos. Puede usar un token de usuario, un ID de usuario o un atributo de usuario para filtrar documentos.Amazon Kendratambién puede asignar usuarios a sus grupos. Puede elegir usarIAM Identity Centercomo su almacenamiento/fuente de identidad.

El filtrado de contexto de usuario es un tipo de búsqueda personalizada con la ventaja de controlar el acceso a los documentos. Por ejemplo, no todos los equipos que buscan información en el portal de la empresa deben acceder a documentos de la empresa de alto secreto, ni estos documentos son relevantes para todos los usuarios. Solo los usuarios o grupos de equipos específicos que tengan acceso a documentos ultrasecretos deberían ver estos documentos en sus resultados de búsqueda.

Cuando un documento se indexa enAmazon Kendra, se incorpora una lista de control de acceso (ACL) correspondiente para la mayoría de los documentos. La ACL especifica a qué nombres de usuarios y nombres de grupos se les permite o deniega el acceso al documento. Los documentos sin ACL son documentos públicos.

Amazon Kendraextrae automáticamente la información de usuario o grupo asociada a cada documento en la mayoría de las fuentes de datos. Por ejemplo, un documento en Quip puede incluir una lista de «compartir» de usuarios o grupos selectos a los que se les da acceso al documento. Si se utilice un bucket de S3 como origen de datos, se proporciona unaArchivo JSONpara su ACL e incluya la ruta de S3 a este archivo como parte de la configuración de la fuente de datos. Si agrega documentos directamente a un índice, debe especificar la ACL en laPrincipalobjeto como parte del objeto documento en laBatchPutDocumentAPI.

Puede utilizar elCreateAccessControlConfigurationAPI para volver a configurar el control de acceso a nivel de documento existente sin volver a indexar todos los documentos. Por ejemplo, el índice contiene documentos de la empresa de alto secreto a los que solo deben acceder ciertos empleados o usuarios. Uno de estos usuarios abandona la empresa o cambia a un equipo al que se debería bloquear el acceso a documentos ultrasecretos. El usuario sigue teniendo acceso a documentos de alto secreto porque tuvo acceso cuando los documentos se indexaron previamente. Puede crear una configuración de control de acceso específica para el usuario con acceso denegado. Más adelante, puede actualizar la configuración del control de acceso para permitir el acceso en caso de que el usuario regrese a la empresa y vuelva a unirse al equipo «ultra secreto». Puede volver a configurar el control de acceso de sus documentos a medida que cambien las circunstancias.

Para aplicar la configuración de control de acceso a determinados documentos, debe llamar alBatchPutDocumentAPI con laAccessControlConfigurationIdincluido enDocumentoobj-as. Si se utilice un bucket de S3 como origen de datos, se actualiza el.metadata.jsonconAccessControlConfigurationIdy sincronice el origen de los datos.Amazon Kendraactualmente solo admite la configuración de control de acceso para fuentes de datos de S3 y documentos indexados medianteBatchPutDocumentAPI.

Filtrado por token de usuario

Cuando consulta un índice, puede usar un token de usuario para filtrar los resultados de la búsqueda en función del acceso del usuario o su grupo a los documentos. Cuando emites una consulta,Amazon Kendraextrae y valida el token, extrae y comprueba la información del usuario y el grupo, y ejecuta la consulta. Se devuelven todos los documentos a los que el usuario tiene acceso, incluidos los documentos públicos. Para obtener más información, consulteControl de acceso de usuario basado en tokens.

Debe proporcionar el token de usuario en laUserContextobjeto y páselo en elConsultaAPI.

A continuación se muestra cómo incluir un token de usuario.

response = kendra.query( QueryText = query, IndexId = index, UserToken = { Token = "token" })

Puede asignar usuarios a grupos. Cuando se usa el filtrado de contexto de usuario, no es necesario incluir todos los grupos a los que pertenece un usuario al emitir la consulta. Con laPutPrincipalMappingAPI, puede asignar usuarios a sus grupos. Si no desea usar elPutPrincipalMappingAPI, debe proporcionar el nombre de usuario y todos los grupos a los que pertenece el usuario cuando emita una consulta. También puede obtener los niveles de acceso de grupos y usuarios en suAWS IAM Identity Center (successor to AWS Single Sign-On)origen de identidad mediante elUserGroupResolutionConfigurationobj-as.

Filtrado por ID de usuario

Cuando consulta un índice, puede usar los ID de usuario y grupo para filtrar los resultados de la búsqueda en función del acceso del usuario o su grupo a los documentos. Cuando emites una consulta,Amazon Kendracomprueba la información del usuario y el grupo y ejecuta la consulta. Se devuelven todos los documentos relevantes para la consulta a la que el usuario tiene acceso, incluidos los documentos públicos.

También puede filtrar los resultados de la búsqueda por fuentes de datos a las que tienen acceso los usuarios y los grupos. Especificar una fuente de datos es útil si un grupo está vinculado a varias fuentes de datos, pero solo desea que el grupo acceda a los documentos de una fuente de datos determinada. Por ejemplo, los grupos «Investigación», «Ingeniería» y «Ventas y marketing» están todos vinculados a los documentos de la empresa almacenados en las fuentes de datos Confluence y Salesforce. Sin embargo, el equipo de «Ventas y Marketing» solo necesita acceder a los documentos relacionados con los clientes almacenados en Salesforce. De este modo, cuando los usuarios de ventas y marketing buscan documentos relacionados con los clientes, pueden ver los documentos de Salesforce en sus resultados. Los usuarios que no trabajan en ventas y marketing no ven los documentos de Salesforce en sus resultados de búsqueda.

Usted proporciona información sobre el usuario, los grupos y las fuentes de datos en laUserContextobjeto y páselo en elConsultaAPI. El ID de usuario y la lista de grupos y fuentes de datos deben coincidir con el nombre que especifique en laPrincipalpara identificar al usuario, los grupos y las fuentes de datos. Con laPrincipal, puede agregar un usuario, grupo o origen de datos a una lista de permitidos o a una lista de denegación para acceder a un documento.

Debe proporcionar uno de los siguientes elementos:

  • Información de usuarios y grupos, e información de fuentes de datos (opcional).

  • Solo la información del usuario si asigna sus usuarios a grupos y fuentes de datos mediante laPutPrincipalMappingAPI. También puede obtener los niveles de acceso de grupos y usuarios en suAWS IAM Identity Center (successor to AWS Single Sign-On)origen de identidad mediante elUserGroupResolutionConfigurationobj-as.

Si esta información no se incluye en la consulta,Amazon Kendradevuelve todos los documentos. Si proporciona esta información, solo se devolverán los documentos con ID de usuario, grupos y fuentes de datos coincidentes.

A continuación se muestra cómo incluir el ID de usuario, los grupos y las fuentes de datos.

response = kendra.query( QueryText = query, IndexId = index, UserId = { UserId = "user1" }, Groups = { Groups = ["Sales and Marketing"] }, DataSourceGroups = { DataSourceGroups = [{"DataSourceId" : "SalesforceCustomerDocsGroup", "GroupId": "Sales and Marketing"}] })

Filtrado por atributo de usuario

Cuando consultas un índice, puedes usar atributos integrados_user_idy_group_idpara filtrar los resultados de la búsqueda en función del acceso del usuario y su grupo a los documentos. Puedes configurar hasta 100 identificadores de grupo. Cuando emites una consulta,Amazon Kendracomprueba la información del usuario y el grupo y ejecuta la consulta. Se devuelven todos los documentos relevantes para la consulta a la que el usuario tiene acceso, incluidos los documentos públicos.

Debe proporcionar los atributos de usuario y grupos en laAttributeFilterobjeto y páselo en elConsultaAPI.

El siguiente ejemplo muestra una solicitud que filtra la respuesta a la consulta en función del ID de usuario y los grupos «HR» e «IT», a los que pertenece el usuario. La consulta devolverá cualquier documento que tenga el usuario o los grupos «RRHH» o «TI» en la lista de permitidos. Si el usuario o uno de los grupos está en la lista de denegación de un documento, el documento no se devuelve.

response = kendra.query( QueryText = query, IndexId = index, AttributeFilter = { "OrAllFilters": [ { "EqualsTo": { "Key": "_user_id", "Value": { "StringValue": "user1" } } }, { "EqualsTo": { "Key": "_group_ids", "Value": { "StringListValue": ["HR", "IT"] } } } ] } )

También puede especificar a qué fuente de datos puede acceder un grupo en laPrincipalobj-as.

nota

El filtrado de contexto de usuario no es un control de autenticación o autorización para tu contenido. No realiza la autenticación de usuario en el usuario y los grupos enviados alQueryAPI. Depende de su aplicación asegurarse de que la información de usuario y grupo enviada aQueryLa API está autenticada y autorizada.

Hay una implementación de filtrado de contexto de usuario para cada fuente de datos. En la siguiente sección se describe cada implementación.

Filtrado de contexto de usuario para documentos añadidos directamente a un índice

Cuando se agregan documentos directamente a un índice mediante laBatchPutDocumentAPI,Amazon Kendraobtiene información de usuarios y grupos delAccessControlListcampo del documento. Usted proporciona una lista de control de acceso (ACL) para los documentos y la ACL se incorpora a los documentos.

La ACL se especifica en laPrincipalobjeto como parte de laDocumentoen el iconoBatchPutDocumentAPI. Debe proporcionar la siguiente información:

  • El acceso que debe tener el usuario o el grupo. Se puedeALLOWoDENY.

  • El tipo de entidad. Se puedeUSERoGROUP.

  • Nombre del usuario o grupo.

Puede agregar hasta 200 entradas en elAccessControlList.

Filtrado de contexto de usuario para preguntas frecuentes

CuandoAgregar una pregunta frecuentes sobrea un índice,Amazon Kendraobtiene información de usuarios y grupos delAccessControlListobjeto/campo del archivo JSON de preguntas frecuentes. También puedes usar un archivo CSV de preguntas frecuentes con campos o atributos personalizados para el control de acceso.

Debe proporcionar la siguiente información:

  • El acceso que debe tener el usuario o el grupo. Se puedeALLOWoDENY.

  • El tipo de entidad. Se puedeUSERoGROUP.

  • Nombre del usuario o grupo.

Para obtener más información, consulteArchivos de preguntas frecuentes.

Filtrado de contexto de usuario para las fuentes de datos

Cuando utiliza una fuente de datos de base de datos, comoAmazon Aurora PostgreSQL,Amazon Kendraobtiene información de usuario y grupo de una columna de la tabla de origen. Debe especificar esta columna en laAclConfigurationobjeto como parte de laDatabaseConfigurationen el iconoCreateDataSourceAPI.

Una origen de datos de base de datos tiene las siguientes limitaciones:

  • Solo puede especificar una lista de permitidos para una fuente de datos de base de datos. No puede especificar una lista de rechazados.

  • Solo puede especificar grupos. No puede especificar usuarios individuales para la lista de permitidos.

  • La columna de la base de datos debe ser una cadena que contenga una lista de grupos delimitada por punto y coma.

Filtrado de contexto de usuario para fuentes de datos de Confluence

Cuando usas una fuente de datos de Confluence,Amazon Kendraobtiene información de usuarios y grupos de la instancia de Confluence.

Puede configurar el acceso de usuarios y grupos a los espacios mediante la página de permisos de espacio. Para las páginas y los blogs, usa la página de restricciones. Para obtener más información sobre los permisos de espacio, consulteResumen de permisos de espacioen el sitio web de Support de Confluence. Para obtener más información sobre las restricciones de páginas y blogs, consulteRestricciones deen el sitio web de Support de Confluence.

Los nombres de usuario y grupo de Confluence se asignan de la siguiente manera:

  • _group_ids— Los nombres de los grupos están presentes en espacios, páginas y blogs donde hay restricciones. Se mapean a partir del nombre del grupo en Confluence. Los nombres de los grupos siempre están en minúsculas.

  • _user_id— Los nombres de usuario están presentes en el espacio, la página o el blog donde hay restricciones. Se asignan en función del tipo de instancia de Confluence que utilice.

    • Server (Servidor)_user_ides el nombre de usuario. El nombre de usuario siempre está en minúsculas.

    • Cloud: el_user_ides el ID de la cuenta del usuario.

Puede agregar hasta 200 entradas en elAccessControlList.

Filtro de contexto de usuario para fuentes de datos de Google Drive

Una fuente de datos de Google Workspace Drive devuelve la información de usuarios y grupos de los usuarios y grupos de Google Drive. La pertenencia a grupos y dominios se asigna al_group_idscampo de índice. El nombre de usuario de Google Drive está asignado al_user_id.

Cuando proporciona una o más direcciones de correo electrónico de usuario en laQueryAPI, solo se devuelven los documentos que se han compartido con esas direcciones de correo electrónico. Los siguientes ejemplos deAttributeFiltersolo devuelve documentos compartidos con "martha@example.com».

"AttributeFilter": { "EqualsTo":{ "Key": "_user_id", "Value": { "StringValue": "martha@example.com" } } }

Si proporciona una o más direcciones de correo electrónico de grupo en la consulta, solo se devolverán los documentos compartidos con los grupos. Los siguientes ejemplos deAttributeFiltersolo devuelve documentos compartidos con el grupo "hr@example.com».

"AttributeFilter": { "EqualsTo":{ "Key": "_group_ids", "Value": { "StringListValue": ["hr@example.com"] } } }

Si proporciona el dominio en la consulta, se devolverán todos los documentos compartidos con el dominio. Los siguientes ejemplos deAttributeFilterdevuelve documentos compartidos con el dominio «example.com».

"AttributeFilter": { "EqualsTo":{ "Key": "_group_ids", "Value": { "StringListValue": ["example.com"] } } }

Puede agregar hasta 200 entradas en elAccessControlList.

Filtrado de contexto de usuario para Microsoft OneDrive orígenes de datos

Amazon Kendrarecupera información de usuarios y grupos de Microsoft OneDrive cuando indexa los documentos del sitio. La información del usuario y el grupo se toma del Microsoft subyacente SharePoint sitio que aloja OneDrive.

Cuando utiliza un OneDrive usuario o grupo para el filtrado de contexto de usuario, calcule el ID de la siguiente manera:

  1. Obtenga el nombre del sitio de Por ejemplo, https://host.onmicrosoft.com/sites/siteName.

  2. Tome el hash MD5 del nombre del sitio. Por ejemplo, 430a6b90503eef95c89295c8999c7981.

  3. Cree el correo electrónico del usuario o el ID de grupo mediante la concatenación del hash MD5 con una barra vertical (|) y el ID. Por ejemplo, si el nombre de un grupo es «propietarios del sitio», el ID de grupo sería:

    "430a6b90503eef95c89295c8999c7981|site owners"

    Para el nombre de usuario "someone@host.onmicrosoft.com», el ID de usuario sería el siguiente:

    "430a6b90503eef95c89295c8999c7981|someone@host.onmicrosoft.com"

Enviar el ID de usuario o grupo aAmazon Kendracomo el_user_ido_group_idscuando se llama alQueryAPI. Por ejemplo, elAWS CLIque usa un grupo para filtrar la respuesta a la consulta tiene el siguiente aspecto:

aws kendra query \ --index-id index ID --query-text "query text" --attribute-filter '{ "EqualsTo":{ "Key": "_group_ids", "Value": {"StringValue": "430a6b90503eef95c89295c8999c7981|site owners"} }}'

Puede agregar hasta 200 entradas en elAccessControlList.

Filtrado de contexto de usuario paraAmazon S3orígenes de datos

Se agrega el filtrado de contexto de usuario a un documento en unAmazon S3fuente de datos mediante un archivo de metadatos asociado al documento. Agrega la información a laAccessControlListdel documento JSON. Para obtener más información acerca de la adición de metadatos a los documentos indexados desde unAmazon S3origen de datos, consulteAmazon S3metadatos de documento.

Usted proporciona tres datos:

  • El acceso que debe tener la entidad. Se puedeALLOWoDENY.

  • El tipo de entidad. Se puedeUSERoGROUP.

  • Nombre de la entidad.

Puede agregar hasta 200 entradas en elAccessControlList.

Filtro de contexto de usuario para fuentes de datos de Salesforce

Una fuente de datos de Salesforce devuelve información de usuarios y grupos de entidades de listas de control de acceso (ACL) de Salesforce. Puede aplicar el filtrado de contexto de usuario a los objetos estándar de Salesforce y a las fuentes de chatter. El filtrado de contexto de usuario no está disponible para los artículos de conocimiento de Salesforce.

Para los objetos estándar, el_user_idy_group_idsse usan del modo siguiente:

  • _user_id: el nombre de usuario del usuario de Salesforce.

  • _group_ids

    • Nombre de SalesforceProfile

    • Nombre de SalesforceGroup

    • Nombre de SalesforceUserRole

    • Nombre de SalesforcePermissionSet

Para las noticias en tiempo real de conversaciones,_user_idy_group_idsse usan del modo siguiente:

  • _user_id: el nombre de usuario del usuario de Salesforce. Solo está disponible si el artículo se publica en el feed del usuario.

  • _group_ids— Los ID de grupo se utilizan de la siguiente manera. Solo está disponible si el elemento de noticias en tiempo real se publica en un chat o un grupo de colaboración.

    • El nombre del grupo de conversación o colaboración.

    • Si el grupo es público,PUBLIC:ALL.

Puede agregar hasta 200 entradas en elAccessControlList.

Filtrado de contexto de usuario para ServiceNow orígenes de datos

Actualmente, el filtrado de contexto de usuario no es compatible con ServiceNow.

Filtrado de contexto de usuario para Microsoft SharePoint orígenes de datos

Amazon Kendrarecupera información de usuarios y grupos de Microsoft SharePoint cuando indexa los documentos del sitio. Para filtrar sus documentos, proporcione información de usuarios y grupos cuando llame alQueryAPI.

Para filtrar con un nombre de usuario, utilice la dirección de correo electrónico del usuario. Por ejemplo, johnstiles@example.com.

Cuando utiliza un SharePoint para el filtrado de contexto de usuario, calcule el ID de grupo de la siguiente manera:

  1. Obtenga el nombre del sitio de Por ejemplo, https://host.onmicrosoft.com/sites/siteName.

  2. Tome el hash SHA256 del nombre del sitio. Por ejemplo, 430a6b90503eef95c89295c8999c7981.

  3. Cree el ID de grupo concatenando el hash SHA256 con una barra vertical (|) y el nombre del grupo. Por ejemplo, si el nombre del grupo es «propietarios del sitio», el ID del grupo sería:

    "430a6b90503eef95c89295c8999c7981|site owners"

Envíe el ID del grupo aAmazon Kendracomo el_group_idscuando se llama alQueryAPI. Por ejemplo, elAWS CLIes como se muestra a continuación:

aws kendra query \ --index-id index ID --query-text "query text" --attribute-filter '{ "EqualsTo":{ "Key": "_group_ids", "Value": {"StringValue": "430a6b90503eef95c89295c8999c7981|site owners"} }}'

Puede agregar hasta 200 entradas en elAccessControlList.

Filtrado de contexto de usuario paraAmazon WorkDocsorígenes de datos

Cuando utiliza unAmazon WorkDocsorigen de datos,Amazon Kendraobtiene información de usuarios y grupos delAmazon WorkDocsinstancia.

LaAmazon WorkDocslos ID de grupo y usuario se asignan de la siguiente manera:

  • _group_ids— Los ID de grupo existen enAmazon WorkDocsen los archivos en los que hay permisos de acceso establecidos. Se mapean a partir del nombre del grupo enAmazon WorkDocs.

  • _user_id— Los ID de usuario existen enAmazon WorkDocsen los archivos en los que hay permisos de acceso establecidos. Se asignan a partir del nombre de usuario enAmazon WorkDocs.

Puede agregar hasta 200 entradas en elAccessControlList.

Filtrado de contexto de usuario paraAmazon FSxorígenes de datos

Cuando utiliza unAmazon FSxorigen de datos,Amazon Kendraobtiene información de usuarios y grupos del servicio de directorio delAmazon FSxinstancia.

LaAmazon FSxlos ID de grupo y usuario se asignan de la siguiente manera:

  • _group_ids— Los ID de grupo existen enAmazon FSxen los archivos en los que hay permisos de acceso establecidos. Se asignan desde el nombre de desde los nombres de grupos de sistemas del grupo en el servicio de directorio deAmazon FSx.

  • _user_id— Existen ID de usuarioAmazon FSxen los archivos en los que hay permisos de acceso establecidos. Se asignan a partir de los nombres de usuario del sistema en el servicio de directorio deAmazon FSx.

Puede agregar hasta 200 entradas en elAccessControlList.

Filtro de contexto de usuario para fuentes de datos de Slack

Cuando usas una fuente de datos de Slack,Amazon Kendraobtiene la información del usuario de la instancia de Slack.

Los ID de usuario de Slack se asignan de la siguiente manera:

  • _user_id— Los ID de usuario existen en Slack en los mensajes y canales en los que hay permisos de acceso establecidos. Se asignan a partir de los correos electrónicos de los usuarios como ID en Slack.

Puede agregar hasta 200 entradas en elAccessControlList.

Filtrado de contexto de usuario para fuentes de datos Box

Cuando usas una fuente de datos de Box,Amazon Kendraobtiene información de usuarios y grupos de la instancia de Box.

El grupo Box y los ID de usuario se asignan de la siguiente manera:

  • _group_ids— Los ID de grupo existen en Box en los archivos en los que hay permisos de acceso establecidos. Se asignan a partir del nombre del sistema del grupo en Box.

  • _user_id— Los ID de usuario existen en Box en los archivos en los que hay permisos de acceso establecidos. Se asignan a partir de los correos electrónicos de los usuarios como los ID de usuario en Box.

Puede agregar hasta 200 entradas en elAccessControlList.

Filtrado de contexto de usuario para fuentes de datos Quip

Cuando usa una fuente de datos de Quip,Amazon Kendraobtiene la información del usuario de la instancia de Quip.

Los ID de usuario de Quip se asignan de la siguiente manera:

  • _user_id— Los ID de usuario existen en Quip en los archivos en los que hay permisos de acceso establecidos. Se asignan a partir de los correos electrónicos de los usuarios como ID en Quip.

Puede agregar hasta 200 entradas en elAccessControlList.

Filtro de contexto de usuario para fuentes de datos de Jira

Cuando usas una fuente de datos de Jira,Amazon Kendraobtiene información de usuarios y grupos de la instancia de Jira.

Los ID de usuario de Jira se asignan de la siguiente manera:

  • _user_id— Los ID de usuario existen en Jira en los archivos en los que hay permisos de acceso establecidos. Se asignan a partir de los correos electrónicos de los usuarios como ID de usuario en Jira.

Puede agregar hasta 200 entradas en elAccessControlList.

Filtrado de contexto de usuario para GitHub orígenes de datos

Cuando utiliza un GitHub origen de datos,Amazon Kendraobtiene información del usuario del GitHub instancia.

La GitHub los ID de usuario se asignan de la siguiente manera:

  • _user_id— Los ID de usuario existen en GitHub en los archivos en los que hay permisos de acceso establecidos. Se asignan a partir de los correos electrónicos de los usuarios como los ID en GitHub.

Puede agregar hasta 200 entradas en elAccessControlList.

Filtrado de contexto de usuario para fuentes de datos Alfresco

Cuando usa una fuente de datos de Alfresco,Amazon Kendraobtiene la información del usuario y el grupo de la instancia de Alfresco.

Los ID de grupo y usuario se asignan de la siguiente manera:

  • _group_ids— Existen identificadores de grupo en Alfresco en los archivos en los que hay permisos de acceso establecidos. Se asignan desde el nombre del sistema del grupo (no el nombre para mostrar) en Alfresco.

  • _user_id— Los ID de usuario existen en Alfresco en los archivos en los que hay permisos de acceso establecidos. Se asignan a partir de los correos electrónicos de los usuarios como ID en Alfresco.

Puede agregar hasta 200 entradas en elAccessControlList.