GitHub - 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.

GitHub

GitHub es un servicio de alojamiento web para el desarrollo de software que proporciona servicios de almacenamiento y administración de códigos con control de versiones. Puede utilizarlos Amazon Kendra para indexar los archivos de repositorio de GitHub Enterprise Cloud (SaaS) y GitHub Enterprise Server (On Prem), las solicitudes de emisión y extracción, los comentarios de las solicitudes de emisión y extracción y los archivos adjuntos de comentarios de las solicitudes de emisión y extracción. También se puede optar por incluir o excluir determinados archivos.

nota

Amazon Kendra ahora es compatible con un conector actualizado GitHub .

La consola se ha actualizado automáticamente para usted. Todos los conectores nuevos que cree en la consola utilizarán la arquitectura actualizada. Si usa la API, ahora debe usar el TemplateConfigurationobjeto en lugar del GitHubConfiguration objeto para configurar el conector.

Los conectores configurados con la antigua arquitectura de consola y API seguirán funcionando tal y como estaban configurados. Sin embargo, no podrá editarlos ni actualizarlos. Si desea editar o actualizar la configuración del conector, debe crear un conector nuevo.

Se recomienda migrar el flujo de trabajo del conector a la versión actualizada. Está previsto que el soporte para los conectores configurados con la arquitectura anterior finalice en junio de 2024.

Puede conectarse Amazon Kendra a su fuente GitHub de datos mediante la Amazon Kendra consola y la TemplateConfigurationAPI.

Para solucionar problemas del conector de la fuente de Amazon Kendra GitHub datos, consulteSolución de problemas con los orígenes de datos.

Características admitidas

Amazon Kendra GitHub el conector de fuente de datos admite las siguientes funciones:

  • Asignaciones de campo

  • Filtrado de contexto de usuario

  • Rastreo de identidad de usuario

  • Filtros de inclusión/exclusión

  • Sincronizaciones de contenido completas e incrementales

  • Nube privada virtual (VPC)

Requisitos previos

Antes de poder utilizarla Amazon Kendra para indexar la fuente de GitHub datos, realice estos cambios en sus AWS cuentas GitHub y.

En GitHub, asegúrate de tener:

  • Creó un GitHub usuario con permisos administrativos para la GitHub organización.

  • Creó un token de acceso personal clásico para las credenciales de autenticación. Consulte GitHub la documentación sobre la creación de un token de acceso personal.

  • Recomendado: ha creado un token de OAuth para las credenciales de autenticación. Use el token de OAuth para mejorar los límites de limitación de la API y el rendimiento del conector. Consulta GitHub la documentación sobre la autorización de OAuth.

  • Apuntaste la URL del GitHub host del tipo de GitHub servicio que utilizas. Por ejemplo, la URL del host de la GitHub nube podría ser https://api.github.com y la URL del host GitHub del servidor podría ser https://on-prem-host-url/api/v3/.

  • Apuntó el nombre de su organización para GitHub la cuenta de GitHub Enterprise Cloud (SaaS) o la cuenta de GitHub Enterprise Server (local) a la que desea conectarse. Para encontrar el nombre de su organización, inicie sesión en el GitHub escritorio y seleccione Sus organizaciones en el menú desplegable de su imagen de perfil.

  • Opcional (solo para servidores): se generó un certificado SSL y se copió la ruta al certificado almacenado en un Amazon S3 depósito. Utilízalo para conectarte GitHub si necesitas una conexión SSL segura. Puede generar simplemente un certificado autofirmado X509 en cualquier ordenador mediante OpenSSL. Para ver un ejemplo del uso de OpenSSL para crear un certificado X509, consulte Crear y firmar un certificado X509.

  • Se han añadido los siguientes permisos:

    Para la nube GitHub empresarial (SaaS)

    • repo:status

    • public_repo

    • repo:invite

    • read:org

    • user:email

    • read:user

    Para servidores GitHub empresariales (locales)

    • repo:status

    • public_repo

    • repo:invite

    • read:org

    • user:email

    • read:user

    • site_admin

  • Ha comprobado que cada documento es único en GitHub las demás fuentes de datos que vaya a utilizar para el mismo índice y entre ellas. Cada origen de datos que desee utilizar para un índice no debe contener el mismo documento en varios orígenes de datos. Los ID de documento son globales para un índice y deben ser únicos por índice.

En el suyo Cuenta de AWS, asegúrese de tener:

  • Creó un Amazon Kendra índice y, si usa la API, anotó el ID del índice.

  • Creó un IAM rol para su fuente de datos y, si usa la API, anotó el ARN del IAM rol.

    nota

    Si cambias el tipo de autenticación y las credenciales, debes actualizar tu IAM rol para acceder al ID AWS Secrets Manager secreto correcto.

  • Guardó sus credenciales de GitHub autenticación en un AWS Secrets Manager secreto y, si usa la API, anotó el ARN del secreto.

    nota

    Le recomendamos que actualice o modifique con regularidad las credenciales y el secreto. Por su propia seguridad, proporcione solo el nivel de acceso necesario. No se recomienda volver a utilizar las credenciales y los datos secretos en varios orígenes de datos ni en las versiones 1.0 y 2.0 del conector (si procede).

Si no tiene un IAM rol o secreto existente, puede usar la consola para crear un nuevo IAM rol y un Secrets Manager secreto al conectar su fuente de GitHub datos. Amazon Kendra Si utiliza la API, debe proporcionar el ARN de un IAM rol y un Secrets Manager secreto existentes y un ID de índice.

Instrucciones de conexión

Para conectarse Amazon Kendra a su fuente de GitHub datos, debe proporcionar los detalles necesarios de la fuente de GitHub datos para que Amazon Kendra pueda acceder a sus datos. Si aún no lo ha configurado GitHub Amazon Kendra, consulteRequisitos previos.

Console

Para conectarse Amazon Kendra a GitHub

  1. Inicie sesión en la Amazon Kendra consola AWS Management Console y ábrala.

  2. En el panel de navegación izquierdo, elija Índices y, a continuación, elija el índice que desee usar de la lista de índices.

    nota

    Puede elegir configurar o editar los ajustes de Control de acceso de usuarios en la Configuración del índice.

  3. En la página Introducción, seleccione Agregar origen de datos.

  4. En la página Agregar fuente de datos, elija el GitHub conector y, a continuación, elija Agregar conector.

  5. En la página Especificar detalles del origen de datos, introduzca la siguiente información:

    1. En Nombre y descripción, en Nombre del origen de datos: introduzca un nombre para el origen de datos. Puede incluir guiones, pero no espacios.

    2. (Opcional) Descripción: introduzca una descripción opcional para el origen de datos.

    3. En el idioma predeterminado: elija un idioma para filtrar los documentos para el índice. A menos que especifique lo contrario, el idioma predeterminado es el inglés. El idioma especificado en los metadatos del documento anula el idioma seleccionado.

    4. En Etiquetas, para añadir una nueva etiqueta: incluya etiquetas opcionales para buscar y filtrar sus recursos o realizar un seguimiento de sus AWS costes.

    5. Elija Siguiente.

  6. En la página Definir acceso y seguridad, introduzca la siguiente información:

    1. GitHubfuente: elija entre GitHub Enterprise Cloud y GitHubEnterprise Server.

    2. GitHub URL del host: introduzca su nombre de GitHub host.

    3. GitHub nombre de la organización: introduzca el nombre de su GitHub organización. Puedes encontrar la información de tu organización en tu GitHub cuenta.

    4. Autorización: active o desactive la información de la lista de control de acceso (ACL) de sus documentos, si tiene una ACL y desea utilizarla para el control de acceso. La ACL especifica a qué documentos pueden acceder los usuarios y los grupos. La información de la ACL se utiliza para filtrar los resultados de búsqueda en función del acceso del usuario o su grupo a los documentos. Para obtener más información, consulte Filtrado de contexto de usuario.

    5. AWS Secrets Manager secreto: elija un secreto existente o cree uno nuevo Secrets Manager para almacenar sus credenciales de GitHub autenticación. Si decide crear un secreto nuevo, se abrirá una ventana de secreto de AWS Secrets Manager .

      1. Introduzca la siguiente información en la ventana Crear un secreto de AWS Secrets Manager :

        1. Nombre del secreto: un nombre para su secreto. El prefijo 'AmazonKendra- GitHub -' se añade automáticamente a tu nombre secreto.

        2. Para el GitHubtoken: introduce los valores de las credenciales de autenticación que creaste en tu cuenta. GitHub

      2. Seleccione Guardar.

    6. Nube privada virtual (VPC): puede optar por utilizar una VPC. Si es así, debe agregar Subredes y Grupos de seguridad de VPC.

    7. Rastreador de identidad: especifique si se debe activar el rastreador de identidad. Amazon Kendra El rastreador de identidades utiliza la información de la lista de control de acceso (ACL) de los documentos para filtrar los resultados de la búsqueda en función del acceso del usuario o de su grupo a los documentos. Si tiene una ACL para sus documentos y decide utilizarla, también puede optar por activar el rastreador de identidades para configurar el filtrado Amazon Kendra de los resultados de búsqueda según el contexto del usuario. De lo contrario, si el rastreador de identidades está desactivado, se pueden realizar búsquedas públicas en todos los documentos. Si quieres usar el control de acceso para tus documentos y el rastreador de identidad está desactivado, también puedes usar la PutPrincipalMappingAPI para cargar información de acceso de usuarios y grupos para filtrar el contexto de los usuarios.

    8. IAM rol: elija un IAM rol existente o cree uno nuevo IAM para acceder a las credenciales del repositorio y al contenido del índice.

      nota

      IAM los roles utilizados para los índices no se pueden usar para las fuentes de datos. Si no está seguro de si un rol existente se utiliza para un índice o para las preguntas frecuentes, elija Crear un nuevo rol para evitar errores.

    9. Elija Siguiente.

  7. En la página Configurar ajustes de sincronización, introduzca la siguiente información:

    1. Seleccione los repositorios que desee rastrear: seleccione entre rastrear todos los repositorios o Seleccionar repositorios.

      Si selecciona Seleccionar repositorios, añada los nombres de los repositorios en Nombre del repositorio y, si lo desea, el nombre de cualquier rama específica en Nombre de la rama.

    2. Tipos de contenido: seleccione los tipos de contenido que desee incluir.

    3. Patrones regex: patrones de expresiones regulares para incluir o excluir determinados archivos. Puede agregar hasta 100 patrones.

    4. En Programa de ejecución de sincronización, en Frecuencia: la frecuencia con la que Amazon Kendra se sincronizará con el origen de datos.

    5. Elija Siguiente.

  8. En Modo de sincronización, elija cómo desea actualizar el índice cuando cambie el contenido del origen de datos. Al sincronizar la fuente de datos Amazon Kendra por primera vez, todo el contenido se sincroniza de forma predeterminada.

    • Sincronización completa: sincroniza todo el contenido independientemente del estado de sincronización anterior.

    • Sincronización de contenido nuevo o modificado: sincroniza solo el contenido nuevo y modificado.

    • Sincronización de contenido nuevo, modificado o eliminado: sincroniza solo el contenido nuevo, modificado y eliminado.

  9. En Programa de ejecución de sincronización, en Frecuencia: la frecuencia con la que Amazon Kendra se sincronizará con el origen de datos.

  10. Elija Siguiente.

  11. En la página Establecer asignaciones de campos, especifique la siguiente información:

    1. Para el repositorio, la confirmación del repositorio, el documento de emisión, el comentario de emisión, el archivo adjunto, el comentario de la solicitud de extracción, el documento de solicitud de extracción o el adjunto de la solicitud de extracción: seleccione uno de los campos de la fuente de datos predeterminados Amazon Kendra generados que desee asignar a su índice.

    2. Agregar campo: para agregar campos de origen de datos personalizados para crear un nombre de campo de índice al que asignarlos y el tipo de datos del campo.

    3. Elija Siguiente.

  12. En la página Revisar y crear, compruebe que la información que ha introducido es correcta y, a continuación, seleccione Añadir origen de datos. También puede elegir editar la información desde esta página. El origen de datos aparecerá en la página Orígenes de datos una vez que el origen de datos se haya agregado correctamente.

API

Para conectarse a Amazon Kendra GitHub

Debe especificar un JSON del esquema del origen de datos mediante la API TemplateConfiguration. Debe proporcionar la siguiente información:

  • Fuente de datos: especifique el tipo de fuente de datos como GITHUB cuando utiliza el esquema TemplateConfigurationJSON. Especifique también la fuente de datos TEMPLATE al llamar a la CreateDataSourceAPI.

  • GitHubtipo: especifique el tipo como SAAS oON_PREMISE.

  • URL del host: especifique la URL del GitHub host o la URL del punto final de la API. Por ejemplo, si utiliza GitHub SaaS/Enterprise Cloud, la URL del host podría ser, y en el caso de los servidores GitHub locales o empresarialeshttps://api.github.com, la URL del host podría ser. https://on-prem-host-url/api/v3/

  • Nombre de la organización: especifique el nombre de la organización de la cuenta. GitHub Para encontrar el nombre de su organización, inicie sesión en la GitHub computadora y seleccione Sus organizaciones en el menú desplegable de su imagen de perfil.

  • Modo de sincronización: especifique si Amazon Kendra debe actualizar su índice sincronizando todos los documentos o solo los documentos nuevos, modificados y eliminados. Puede elegir entre las siguientes opciones:

    • FORCED_FULL_CRAWL para volver a rastrear todo el contenido y reemplazar el contenido existente cada vez que el origen de datos se sincronice con el índice

    • FULL_CRAWL para rastrear de forma incremental solo el contenido nuevo, modificado y eliminado cada vez que el origen de datos se sincronice con el índice

    • CHANGE_LOG para rastrear de forma incremental solo el contenido nuevo y modificado cada vez que el origen de datos se sincronice con el índice

  • Rastreador de identidad: especifique si se debe activar el rastreador de identidad. Amazon Kendra El rastreador de identidades utiliza la información de la lista de control de acceso (ACL) de los documentos para filtrar los resultados de la búsqueda en función del acceso del usuario o de su grupo a los documentos. Si tiene una ACL para sus documentos y decide utilizarla, también puede optar por activar el rastreador de identidades para configurar el filtrado Amazon Kendra de los resultados de búsqueda según el contexto del usuario. De lo contrario, si el rastreador de identidades está desactivado, se pueden realizar búsquedas públicas en todos los documentos. Si quieres usar el control de acceso para tus documentos y el rastreador de identidad está desactivado, también puedes usar la PutPrincipalMappingAPI para cargar información de acceso de usuarios y grupos para filtrar el contexto de los usuarios.

  • Nombre secreto de recurso de Amazon (ARN): proporcione el nombre de recurso de Amazon (ARN) de un Secrets Manager secreto que contenga las credenciales de autenticación de su cuenta. GitHub El secreto se almacena en una estructura JSON con las siguientes claves:

    { "personalToken": "token" }
    nota

    Le recomendamos que actualice o modifique con regularidad las credenciales y el secreto. Por su propia seguridad, proporcione solo el nivel de acceso necesario. No se recomienda volver a utilizar las credenciales y los datos secretos en varios orígenes de datos ni en las versiones 1.0 y 2.0 del conector (si procede).

  • IAM rol: especifique RoleArn cuándo llama CreateDataSource para proporcionar un IAM rol con permisos para acceder a su Secrets Manager secreto y para llamar a las API públicas requeridas para el conector y. GitHub Amazon Kendra Para obtener más información, consulte las IAM funciones de las fuentes GitHub de datos.

También puede añadir las siguientes características opcionales:

  • Nube privada virtual (VPC): especifique a VpcConfiguration cuándo llamar a CreateDataSource. Para obtener más información, consulte Configuración Amazon Kendra para usar un Amazon VPC.

    nota

    Si usa un GitHub servidor, debe usar un Amazon VPC para conectarse a su GitHub servidor.

  • Filtro de repositorios: filtra los repositorios por su nombre y nombre de rama.

  • Tipos de documentos o contenido: especifique si desea rastrear los documentos del repositorio, las ediciones, los comentarios de las publicaciones, los archivos adjuntos a los comentarios de las publicaciones, las solicitudes de extracción, los comentarios de las solicitudes de extracción o los archivos adjuntos de los comentarios de las solicitudes de extracción.

  • Filtros de inclusión y exclusión: especifique si desea incluir o excluir determinados archivos y carpetas.

    nota

    La mayoría de los orígenes de datos utilizan patrones de expresiones regulares, que son patrones de inclusión o exclusión denominados filtros. Si especifica un filtro de inclusión, solo se indexará el contenido que coincida con el filtro de inclusión. Los documentos que no coincidan con el filtro de inclusión no se indexan. Si especifica un filtro de inclusión y exclusión, los documentos que coincidan con el filtro de exclusión no se indexarán, aunque coincidan con el filtro de inclusión.

  • Lista de control de acceso (ACL): especifique si desea rastrear la información de la ACL de sus documentos, si tiene una ACL y desea utilizarla para el control de acceso. La ACL especifica a qué documentos pueden acceder los usuarios y los grupos. La información de la ACL se utiliza para filtrar los resultados de búsqueda en función del acceso del usuario o su grupo a los documentos. Para obtener más información, consulte Filtrado de contexto de usuario.

  • Asignaciones de campos: elija asignar los campos de la fuente de GitHub datos a los campos de índice. Amazon Kendra Puede incluir campos de documentos, confirmaciones, emisiones, archivos adjuntos de publicaciones, comentarios de publicaciones, solicitudes de extracción, archivos adjuntos de solicitudes de extracción y comentarios de solicitudes de extracción. Para obtener más información, consulte Asignación de campos de origen de datos.

    nota

    El campo del cuerpo del documento o el cuerpo del documento equivalente de sus documentos es obligatorio para que Amazon Kendra pueda buscarlos. Debe asignar el nombre del campo del cuerpo del documento en la fuente de datos al nombre del campo de índice _document_body. Todos los demás campos son opcionales.

Para obtener una lista de otras claves JSON importantes que debe configurar, consulte el Esquema de plantilla de GitHub.

Más información

Para obtener más información sobre la integración Amazon Kendra con la fuente de GitHub datos, consulte: