

# Configuración de Drupal Core como origen
<a name="drupal-core-source-setup"></a>

## Integración con Drupal Core
<a name="drupal-core-integration"></a>

Drupal Core es el marco de aplicaciones web fundamental de código abierto, desarrollado en PHP, que proporciona la plataforma base para crear sitios web, aplicaciones y experiencias digitales. La canalización de CloudWatch utiliza la API de REST personalizada basada en vistas para recuperar datos de registros de auditoría, incluidos cambios de contenido, eventos de autenticación de usuarios y acciones administrativas, desde el sitio de Drupal Core. La API permite acceder a datos de registros filtrados por tiempo mediante puntos de conexión de REST, lo que permite recuperar registros de actividad dentro de un intervalo de tiempo configurable.

## Autenticación con Drupal Core
<a name="drupal-core-authentication"></a>

Para leer los registros, la canalización se debe autenticar con el sitio de Drupal Core. El complemento admite autenticación básica (HTTP mediante nombre de usuario y contraseña).

**Configurar la autenticación básica para Drupal Core**
+ Inicie sesión en la interfaz de administración de Drupal Core y vaya a Administración → Extender (`/admin/modules`).
+ Habilite los siguientes módulos: Servicios web RESTful, Serialización, Autenticación básica HTTP y Vistas. Elija Instalar.
+ Instale y habilite el módulo Registro de auditoría de administración mediante Composer (`composer require drupal/admin_audit_trail`) y ejecute `drush en admin_audit_trail -y && drush cr` para activarlo.
+ Vaya a Estructura → Vistas y cree una nueva vista llamada `Audit Logs API`. Configure Mostrar en `Log entries`, habilite Proporcionar una exportación REST y establezca la ruta de exportación REST en `/api/v1/audit-logs`.
+ En el editor de vistas, agregue dos filtros expuestos de marca de tiempo de Watchdog: uno con el operador `is greater than or equal to` y el identificador de filtro `starttime`, y otro con el operador `is less than` y el identificador de filtro `endtime`.
+ En la sección CONFIGURACIÓN DE EXPORTACIÓN REST de la vista, seleccione Autenticación y habilite `basic_auth`.
+ Vaya a Personas → Permisos y conceda a los roles que necesiten acceso a la API los permisos Acceder al registro de auditoría de administración y Administrar la configuración de recursos REST. Guarde la vista.
+ En AWS Secrets Manager, cree un secreto y almacene el nombre de usuario de Drupal Core bajo la clave `username` y la contraseña de la cuenta bajo la clave `password`.

## Configuración de la canalización de CloudWatch
<a name="drupal-core-pipeline-config"></a>

Para configurar la canalización para leer registros, seleccione Drupal Core como origen de datos. Complete la información requerida:
+ **Dominio**: URL base del sitio de Drupal Core (por ejemplo, `https://your-drupal-site.example.com`).
+ **Punto de conexión de la API**: ruta al punto de conexión de exportación REST de la vista (por ejemplo, `/api/v1/audit-logs`). Debe empezar con `/`.
+ **Intervalo**: especifique la duración retrospectiva en formato ISO 8601 (por ejemplo, `PT21H` para las últimas 21 horas o `P7D` para los últimos 7 días). El valor predeterminado es 0 horas y el máximo es 90 días.

Una vez que haya creado la canalización, los datos estarán disponibles en el grupo de registro de Registros de CloudWatch.

## Clases de eventos del Marco de esquema de ciberseguridad abierto compatibles
<a name="drupal-core-ocsf-events"></a>

Esta integración admite la versión 1.5.0 del esquema OCSF y transforma eventos que se asignan a Autenticación (3002), Administración de entidades (3004), Actividad HTTP (4002) y Ciclo de vida de la aplicación (6002). Los eventos que no aparecen en la lista no se asignan a OCSF y se reenviarán al destino como registros sin procesar.

**Autenticación** contiene los siguientes tipos de eventos:
+ usuario: eventos relacionados con el inicio de sesión y la autenticación

**Administración de entidades** contiene los siguientes tipos de eventos:
+ usuario: creación y eliminación de usuarios
+ content
+ comentario

**Actividad HTTP** contiene los siguientes tipos de eventos:
+ acceso denegado
+ página no encontrada
+ php
+ nuevos tipos personalizados

**Ciclo de vida de la aplicación** contiene los siguientes tipos de eventos:
+ sistema
+ cron