

# Configuração de fonte no Drupal Core
<a name="drupal-core-source-setup"></a>

## Integrar com o Drupal Core
<a name="drupal-core-integration"></a>

O Drupal Core é a estrutura fundamental para aplicações web de código aberto criado em PHP que fornece a plataforma de base para o desenvolvimento de sites, aplicações e experiências digitais. O CloudWatch Pipeline usa a API REST personalizada baseada no Views para recuperar dados de log de auditoria do site do Drupal Core, incluindo alterações de conteúdo, eventos de autenticação de usuário e ações administrativas. A API permite acessar dados de log filtrados por tempo por meio de endpoints REST, possibilitando a recuperação dos logs de atividades cujo escopo é uma janela de tempo configurável.

## Autenticar no Drupal Core
<a name="drupal-core-authentication"></a>

Para ler os logs, o pipeline precisa ser autenticado no site do Drupal Core. O plug-in é compatível com autenticação básica (HTTP Basic Auth usando um nome de usuário e senha).

**Configurar autenticação básica no Drupal Core**
+ Entre na interface de administração do Drupal Core e navegue até Administração → Estender (`/admin/modules`).
+ Habilite os seguintes módulos: RESTful Web Services, Serialization, HTTP Basic Authentication e Views. Escolha Instalar.
+ Instale e ative o módulo Admin Audit Trail via Composer (`composer require drupal/admin_audit_trail`) e execute `drush en admin_audit_trail -y && drush cr` para ativá-lo.
+ Navegue até Estrutura → Visões e crie uma nova visão denominada `Audit Logs API`. Defina Mostrar como `Log entries`, habilite Fornecer uma exportação REST e defina o caminho de exportação REST como `/api/v1/audit-logs`.
+ No editor de visões, adicione dois filtros expostos Watchdog: timestamp: um com o operador `is greater than or equal to` e o identificador de filtro `starttime`, e outro com o operador `is less than` e o identificador de filtro `endtime`.
+ Na seção CONFIGURAÇÕES DE EXPORTAÇÃO REST da visão, escolha Autenticação e habilite a `basic_auth`.
+ Navegue até Pessoas → Permissões e conceda aos perfis que precisam de acesso à API as permissões de acessar trilha de auditoria administrativa e de administrar a configuração de recursos REST. Salve a visão.
+ Em AWS Secrets Manager, crie um segredo e armazene o nome de usuário do Drupal Core com a chave `username` e a senha da conta com a chave `password`.

## Configurar o CloudWatch Pipeline
<a name="drupal-core-pipeline-config"></a>

Para configurar o pipeline para ler logs, escolha o Drupal Core como a fonte de dados. Preencha as informações necessárias:
+ **Domínio**: o URL base do site do Drupal Core (por exemplo, `https://your-drupal-site.example.com`).
+ **Endpoint da API**: o caminho para o endpoint de exportação REST da visão (por exemplo, `/api/v1/audit-logs`). Deve começar com `/`.
+ **Intervalo**: especifique a duração do lookback no formato ISO 8601 (por exemplo, `PT21H` para as últimas 21 horas, `P7D` para os últimos 7 dias). O intervalo padrão é de 0 horas, e o máximo é de 90 dias.

Depois de criado o pipeline, os dados estarão disponíveis no grupo de logs do CloudWatch Logs selecionado.

## Classes de eventos do Open Cybersecurity Schema Framework compatíveis
<a name="drupal-core-ocsf-events"></a>

Essa integração é compatível com o esquema OCSF versão v1.5.0 e transforma eventos que são mapeados para Authentication (3002), Entity Management (3004), HTTP Activity (4002) e Application Lifecycle (6002). Eventos não listados não são mapeados para o OCSF e serão encaminhados para o coletor como logs brutos.

**Authentication** inclui os seguintes eventos:
+ usuário: eventos relacionados a login e autenticação

**Entity Management** inclui os seguintes tipos de evento:
+ usuário: criação e exclusão de usuários
+ content
+ comment

**HTTP Activity** inclui os seguintes tipos de evento:
+ acesso negado
+ página não encontrada
+ php
+ novos tipos personalizados

**Application Lifecycle** inclui os seguintes tipos de evento:
+ operacional
+ cron