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

# GitLab

> Conecta GitLab a Iru Compliance con un token de acceso personal para recopilar evidencia del inventario de proyectos, la protección de ramas, la pertenencia a grupos y los eventos de auditoría.

### Acerca de GitLab

El conector de **GitLab** lee los metadatos de proyectos, la pertenencia a grupos, la protección de ramas, la configuración de CI/CD y (cuando tu plan y tu token lo permiten) los eventos orientados a auditoría de tu **grupo de GitLab.com** o de tu instancia **autoadministrada**. Los datos aparecen como artefactos en Iru Compliance para asignarlos a acciones y controles. Iru envía las credenciales mediante el encabezado **`PRIVATE-TOKEN`** de GitLab, normalmente con un **token de acceso personal** para que las lecturas puedan abarcar los grupos y proyectos que elijas.

### Cómo funciona

La API REST de GitLab se autentica con el encabezado **`PRIVATE-TOKEN`**:

```http theme={null}
PRIVATE-TOKEN: glpat-XXXXXXXXXXXXXXXXXXXX
```

Los tokens de acceso personal suelen ser la mejor opción porque pueden abarcar varios proyectos y grupos. Los tokens limitados a un proyecto o a un grupo funcionan, pero pueden restringir la evidencia que Iru puede recopilar.

| Detalle | Valor |
| - | - |
| **Categoría** | Herramientas para desarrolladores |
| **Autenticación** | Encabezado `PRIVATE-TOKEN` (se recomienda un token de acceso personal) |
| **Alojamiento** | GitLab SaaS o autoadministrado |

Documentación: [Tokens de acceso personal](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html), [Autenticación de REST](https://docs.gitlab.com/ee/api/rest/authentication.html), [Ámbitos de los tokens](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html#personal-access-token-scopes).

### Requisitos previos

* Acceso en GitLab a los **grupos y proyectos** que interesan al cumplimiento.
* **Propietario** o **Maintainer** del grupo cuando necesites lecturas de pertenencia y de tipo auditoría (las necesidades exactas dependen de tus controles).
* En GitLab **autoadministrado**, confirma que Iru apunte a la **URL base** de tu instancia (no solo a `gitlab.com`).

**Punto de partida para los ámbitos**

| Ámbito | Propósito |
| - | - |
| `read_api` | Acceso de lectura amplio a los endpoints de la API usados para la evidencia de inventario y configuración |
| `read_repository` | Metadatos de repositorios alineados con la protección de ramas y la configuración de repositorios |
| `read_user` | Lecturas de perfiles de usuario necesarias para la evidencia de pertenencia |

Añade ámbitos solo cuando tu equipo de seguridad requiera lecturas más profundas.

### Conectar GitLab a Iru

<Tabs>
  <Tab title="GitLab">
    <Note>
      Completa esta pestaña antes de conectar la fuente en Compliance.
    </Note>

    <Steps>
      <Step title="Inicia sesión en GitLab">
        Abre tu instancia de GitLab (**gitlab.com** o la URL autoadministrada) e inicia sesión con un usuario que pueda crear **tokens de acceso personal** para los espacios de nombres que Iru debe leer.
      </Step>

      <Step title="Abre tu perfil">
        Selecciona tu **avatar** en la esquina superior derecha y, a continuación, elige **Edit profile** (o **Preferences** en algunas versiones).
      </Step>

      <Step title="Abre Access Tokens">
        En la barra lateral izquierda de tu perfil, selecciona **Access Tokens** (a veces en **User settings** → **Access Tokens**).
      </Step>

      <Step title="Añade un token nuevo">
        Selecciona **Add new token** (o **Create personal access token**).
      </Step>

      <Step title="Establece el nombre, la caducidad y los ámbitos">
        Introduce un **nombre** (por ejemplo, **Iru Compliance**). Establece una **caducidad** (GitLab la exige; tu administrador puede limitar la duración máxima). Elige los ámbitos de **lectura** indicados en **Requisitos previos** de este artículo.
      </Step>

      <Step title="Crea y copia el token">
        Crea el token y **cópialo de inmediato**. GitLab solo lo muestra una vez. Los tokens suelen empezar por **`glpat-`**.
      </Step>
    </Steps>

    <Note>
      Continúa en la pestaña [**Iru Compliance**](#iru-compliance).
    </Note>
  </Tab>

  <Tab title="Iru Compliance">
    <Note>
      Primero completa la pestaña [**GitLab**](#gitlab).
    </Note>

    <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 GitLab">
        Busca **GitLab** (usa **Categoría** o **Buscar por nombre o descripción**). En esa tarjeta, activa el **interruptor**. Es posible que se abra una pestaña o ventana del navegador para el asistente del conector.
      </Step>

      <Step title="Pega el token de acceso personal">
        Cuando el asistente solicite el valor de **`PRIVATE-TOKEN`**, pega tu token y envíalo.
      </Step>

      <Step title="Finaliza la conexión">
        Selecciona **Enviar clave de API**. 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 **GitLab** está **Activo**.
      </Step>
    </Steps>
  </Tab>
</Tabs>

### 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 la cadena completa del token, comprueba la caducidad y verifica que la cuenta siga teniendo acceso a los grupos de destino.
  </Accordion>

  <Accordion title="403 Forbidden">
    Amplía los ámbitos o eleva el rol del proyecto o grupo: tu token no puede leer endpoints a los que tu cuenta no tiene acceso.
  </Accordion>

  <Accordion title="Problemas con la URL autoadministrada">
    Asegúrate de que la integración apunte al nombre de host de tu instancia y de que las rutas de red permitan las llamadas salientes de Iru.
  </Accordion>

  <Accordion title="Faltan eventos de tipo auditoría">
    Algunas API de auditoría requieren funciones **Premium/Ultimate**: compara tu nivel de GitLab con la evidencia que espera tu marco.
  </Accordion>
</AccordionGroup>

### Consideraciones

<CardGroup cols={2}>
  <Card title="Los tokens caducan según un calendario: rótalos con antelación y actualiza…" icon="circle-info">
    Los tokens caducan según un calendario: rótalos con antelación y actualiza el conector.
  </Card>

  <Card title="GitLab aplica límites de velocidad; los grupos grandes pueden tardar…" icon="shield">
    GitLab aplica **límites de velocidad**; los grupos grandes pueden tardar más durante la primera sincronización.
  </Card>

  <Card title="Iru lee la configuración expuesta por la API: no…" icon="server">
    Iru lee la configuración expuesta por la API; no reescribe pipelines ni la configuración de los repositorios.
  </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>
