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

# Drupal

> Conecta Drupal a Iru Compliance mediante JSON:API con HTTP Basic Auth y una cuenta de servicio de solo lectura para recopilar evidencia de configuración del sitio, usuarios y roles.

### Acerca de Drupal

Iru consume **JSON:API del núcleo de Drupal** (`/jsonapi`) para obtener **tipos de contenido**, **nodos**, **usuarios**, **roles** y metadatos relacionados. **Drupal 8.7+** incluye JSON:API en el núcleo; habilítalo en **Extend**. La autenticación usa **HTTP Basic** (**nombre de usuario** + **contraseña**). Sirve el sitio mediante **HTTPS** para que las credenciales no se envíen en texto sin cifrar.

### Cómo funciona

```http theme={null}
Authorization: Basic base64(username:password)
```

| Detalle | Valor |
| - | - |
| **Categoría** | Herramientas para desarrolladores |
| **Autenticación** | Basic (usuario de Drupal) |

Referencias oficiales: [módulo JSON:API](https://www.drupal.org/docs/core-modules-and-themes/core-modules/jsonapi-module), [modelo de permisos](https://www.drupal.org/docs/administering-a-drupal-site/managing-users).

### Requisitos previos

* **JSON:API** habilitado; **`https://YOUR_HOST/jsonapi`** devuelve el JSON de descubrimiento de recursos.
* Un usuario de Drupal cuyo rol pueda hacer **GET** en los bundles que te interesan.

### Conectar Drupal a Iru

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

    <Steps>
      <Step title="Inicia sesión como administrador">
        Inicia sesión en tu sitio de Drupal con un usuario que pueda instalar módulos y cambiar la configuración (**Administrator** o equivalente).
      </Step>

      <Step title="Abre Extend (módulos)">
        Ve a **Gestionar** → **Extend** (o **Administration** → **Extend**, según tu tema de administración).
      </Step>

      <Step title="Habilita JSON:API">
        Localiza el módulo **JSON:API**. Habilítalo y aplica cualquier importación de configuración o reconstrucción de caché que Drupal solicite.
      </Step>

      <Step title="Confirma los permisos">
        Asegúrate de que el usuario o rol de integración que usará Iru pueda hacer **GET** en los recursos de JSON:API que necesitan tus controles (a menudo **Anonymous** es demasiado amplio; es preferible una cuenta de servicio dedicada con lectura mínima).
      </Step>

      <Step title="Verifica el endpoint de JSON:API">
        En un navegador o con `curl`, solicita el documento de descubrimiento de tu sitio (por ejemplo, **`https://YOUR_HOST/jsonapi`**) y confirma que Drupal devuelve JSON (no **403** ni **404**).
      </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 [**Drupal**](#drupal).
    </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 Drupal">
        Busca **Drupal** (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="Introduce el nombre de host">
        Introduce solo el **nombre de host** (por ejemplo, **`cms.example.com`**). Confirma las variables si el asistente muestra una vista previa.
      </Step>

      <Step title="Introduce las credenciales de Drupal">
        Introduce el **nombre de usuario** y la **contraseña** de la cuenta de integración.
      </Step>

      <Step title="Finaliza la conexión">
        Selecciona **Enviar credenciales**. 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 **Drupal** 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="404 en /jsonapi">
    Habilita el módulo JSON:API.
  </Accordion>

  <Accordion title="403 en recursos">
    Concede permisos de **visualización** en los tipos de entidad correspondientes.
  </Accordion>

  <Accordion title="401">
    Corrige la contraseña; Drupal distingue entre mayúsculas y minúsculas.
  </Accordion>
</AccordionGroup>

### Consideraciones

<CardGroup cols={2}>
  <Card title="Es preferible una cuenta de servicio de solo lectura limitada a…" icon="circle-info">
    Es preferible una cuenta de servicio de **solo lectura** limitada a los tipos de contenido necesarios.
  </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>
