> ## Documentation Index
> Fetch the complete documentation index at: https://docs.iru.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GitHub

> Conecta GitHub a Iru Compliance con un token de acceso personal para recopilar el inventario de repositorios, la protección de ramas, la pertenencia a la organización y los registros de auditoría.

### Acerca de GitHub

El conector de **GitHub** lee los metadatos de los repositorios, la protección de ramas, la pertenencia a equipos, la configuración de la organización, los registros de auditoría y la configuración de seguridad relacionada de tu **organización de GitHub**. Esos datos aparecen en Iru Compliance como artefactos que puedes asignar a acciones y controles. La integración es de **solo lectura**. Iru no abre pull requests, no cambia la configuración ni modifica repositorios más allá de lo que la API de GitHub permite para los ámbitos que concedas.

### Cómo funciona

Iru llama a la API REST de GitHub con un **token de acceso personal (PAT)** enviado como token **Bearer**:

```http theme={null}
Authorization: Bearer github_pat_XXXX
```

Los **PAT detallados** (fine-grained, recomendados) te permiten limitar estrictamente los repositorios y permisos. Los **PAT clásicos** funcionan, pero son más amplios y más difíciles de ajustar al mínimo privilegio.

Si tu organización exige **SAML SSO**, debes **autorizar** el PAT para la organización después de crearlo; de lo contrario, las llamadas a la API para datos de la organización fallarán.

| Detalle | Valor |
| - | - |
| **Categoría** | Herramientas para desarrolladores |
| **Autenticación** | Token Bearer (PAT detallado o clásico) |
| **Plan de GitHub** | Compatible con GitHub Free, Team o Enterprise (sujeto a la disponibilidad de la API y de los registros de auditoría de GitHub) |

Referencias oficiales: [Administrar tokens de acceso personal](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens), [Autenticación de REST](https://docs.github.com/en/rest/authentication/authenticating-to-the-rest-api) y [Límites de velocidad](https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api).

### Requisitos previos

* Acceso a GitHub como miembro (o propietario) de la organización que quieres que Iru lea.
* Acceso de **Propietario** en esa organización si necesitas registros de auditoría y configuración de seguridad de toda la organización (según lo que espere tu programa de cumplimiento).
* Un PAT con permisos de **lectura** alineados con las tablas siguientes (se muestra un PAT detallado).

**Permisos mínimos del PAT detallado (típicos)**

| Área | Permisos |
| - | - |
| **Repository** | **Contents** (lectura), **Metadata** (lectura), **Administration** (lectura) |
| **Organización** | **Members** (lectura), **Administration** (lectura) |

Amplíalos solo si tus controles requieren ámbitos de lectura adicionales.

### Conectar GitHub a Iru

#### Crear un token de acceso personal detallado

<Steps>
  <Step title="Abre Developer settings">
    Inicia sesión en GitHub. Selecciona tu foto de perfil → **Configuración** → **Developer settings** → **Personal access tokens** → **Fine-grained tokens**.
  </Step>

  <Step title="Crea un token nuevo">
    Selecciona **Generate new token**.
  </Step>

  <Step title="Establece el nombre, la caducidad y el alcance de recursos">
    Establece un **nombre** claro (por ejemplo, **Iru Compliance**) y una **caducidad** (los PAT detallados pueden durar hasta **366 días**; configura un recordatorio para rotarlos con antelación). En **Resource owner**, elige tu **organización** cuando necesites datos de nivel de organización. En **Repository access**, elige **All repositories** o solo los que abarque el cumplimiento.
  </Step>

  <Step title="Establece los permisos de repositorio y organización">
    En **Permisos**, habilita al menos los permisos de **lectura** de repositorio y organización indicados en **Requisitos previos** más arriba.
  </Step>

  <Step title="Genera y copia el token">
    Genera el token y cópialo de inmediato. Solo se muestra una vez.
  </Step>

  <Step title="Autoriza para SAML SSO (si es necesario)">
    Si tu organización usa **SAML SSO**, abre **Configuración** → **Developer settings** → **Personal access tokens**, busca el token, selecciona **Configure SSO** y **Authorize** para tu organización.
  </Step>
</Steps>

#### Completar el conector en Iru

<Steps>
  <Step title="Abre Sources">
    En Iru Compliance, en la barra de navegación izquierda, expande **Cumplimiento** y selecciona **Fuentes**.

    <Frame>
      <img src="https://mintcdn.com/iru/tI0HDLDwHj8r9Ile/assets/media/images/iru-navigation-compliance-sources.png?fit=max&auto=format&n=tI0HDLDwHj8r9Ile&q=85&s=87dcef15fc17d2fb9a6e53f454e41710" alt="Navegación izquierda: Compliance expandido, Sources seleccionado" width="410" height="1024" data-path="assets/media/images/iru-navigation-compliance-sources.png" />
    </Frame>
  </Step>

  <Step title="Activa GitHub">
    Busca **GitHub** (usa **Categoría** o **Buscar por nombre o descripción**). En esa tarjeta, activa el **interruptor**. Se abre una pestaña nueva con el asistente del conector.
  </Step>

  <Step title="Pega el token de acceso personal">
    Cuando veas el paso del token Bearer, pega tu PAT en el campo **Token** y envíalo.
  </Step>

  <Step title="Finaliza la conexión">
    Selecciona **Enviar token de Bearer**. Cuando la conexión se realiza correctamente, el asistente muestra **Conexión configurada**.
  </Step>

  <Step title="Confirma que la fuente está activa">
    Cierra la pestaña del navegador **Iru está solicitando acceso a servicios externos**, luego vuelve a **Cumplimiento** → **Fuentes** y confirma que la tarjeta de **GitHub** está **Activo**.
  </Step>
</Steps>

### Solución de problemas

<AccordionGroup>
  <Accordion title="No se abre nada al activar la fuente">
    Revisa la configuración del **bloqueador de ventanas emergentes** para el sitio de Iru e inténtalo de nuevo.
  </Accordion>

  <Accordion title="401 Unauthorized">
    Confirma que el PAT se copió completo, que no ha caducado y que no se ha revocado.
  </Accordion>

  <Accordion title="Faltan datos de la organización">
    Para lecturas de toda la organización, el **resource owner** del PAT debe ser la organización, no solo tu cuenta personal. Crea un PAT nuevo si es necesario.
  </Accordion>

  <Accordion title="SSO obligatorio">
    Autoriza el PAT para SAML SSO (consulta **Crear un token de acceso personal detallado**).
  </Accordion>

  <Accordion title="Resource not accessible by PAT">
    Vuelve a generar el PAT con los permisos de repositorio y organización que requieren tus controles.
  </Accordion>

  <Accordion title="Limitación de velocidad">
    Las solicitudes REST autenticadas comparten los límites de velocidad de GitHub (consulta la documentación de GitHub). Iru agrupa el trabajo dentro de esos límites; los picos sostenidos pueden retrasar la sincronización.
  </Accordion>
</AccordionGroup>

### Consideraciones

<CardGroup cols={2}>
  <Card title="Es preferible usar PAT detallados con el conjunto más pequeño…" icon="circle-info">
    Es preferible usar **PAT detallados** con el conjunto de repositorios y los ámbitos de lectura más pequeños que sigan cumpliendo tus controles.
  </Card>

  <Card title="Rota los PAT antes de que caduquen y actualiza el conector…" icon="shield">
    Rota los PAT antes de que caduquen y actualiza el conector para que la recopilación de evidencia no se detenga.
  </Card>

  <Card title="Iru lee los metadatos y la configuración expuestos por las…" icon="server">
    Iru lee los metadatos y la configuración expuestos por las API que permites; no omite los permisos de GitHub que aplica tu organización.
  </Card>
</CardGroup>

### Artículos relacionados

<CardGroup cols={2}>
  <Card title="Gestión de fuentes" icon="plug" href="/es/compliance/sources-management">
    Explora y gestiona todas las fuentes de Compliance.
  </Card>

  <Card title="Introducción a Compliance" icon="rocket" href="/es/compliance/getting-started-with-compliance">
    Marcos, acciones y **Artefactos**.
  </Card>

  <Card title="Descripción general de Iru" icon="layer-group" href="/es/iru/platform-overview/iru-overview">
    Cómo encajan Endpoint, Compliance e Identity.
  </Card>

  <Card title="Gestión de artefactos" icon="folder-open" href="/es/compliance/artifacts-management">
    Sube, revisa y organiza la evidencia de fuentes y acciones.
  </Card>
</CardGroup>
