Saltar a contenido

Ingesta de eventos de auditoría en Microsoft Sentinel mediante una aplicación lógica de Azure Logic Apps

Descripción general

Esta guía explica cómo configurar Afi para que envíe eventos de auditoría a Microsoft Sentinel mediante un webhook de una aplicación lógica de Azure Logic Apps.

Lo que envía Afi

Arquitectura

Componentes

Componente Función
Afi Envía eventos de auditoría mediante un webhook
Aplicación lógica Procesa los webhooks entrantes y reenvía los datos al punto de conexión de recopilación de datos
Punto de conexión de recopilación de datos/DCE Recibe los datos de la aplicación lógica para su ingesta
Regla de recopilación de datos/DCR Analiza los datos entrantes y aplica transformaciones
Área de trabajo de Log Analytics Almacena los datos ingeridos para su análisis y consulta
Microsoft Sentinel Plataforma SIEM para el análisis y la respuesta de seguridad

Requisitos previos

  • Suscripción de Azure
  • Cuenta de Azure con permisos de Owner, User Access Administrator o Role-Based Access Control Administrator
  • Cuenta de administrador de una organización de Afi

Parte 1: Crear un área de trabajo de Log Analytics y activar Microsoft Sentinel

  1. En Azure Portal, busque Microsoft Sentinel y ábralo.
  2. Haga clic en + Create.
  3. Haga clic en + Create a new workspace.

  4. Rellene los siguientes campos:

    • Subscription: su suscripción
    • Resource Group: haga clic en Create new e introduzca un nombre (por ejemplo, resource-group-afi-sentinel)
    • Name: introduzca el nombre del área de trabajo (por ejemplo, logaw-afi-sentinel)
    • Region: la región que prefiera (por ejemplo, East US)

    Información

    Si ya dispone de Microsoft Sentinel con un área de trabajo de Log Analytics, puede omitir la creación de recursos y utilizar los existentes. Ajuste según corresponda los nombres de los recursos en los pasos siguientes.

  5. Haga clic en Review + CreateCreate. Espere a que finalice la implementación; debería ver Your deployment is complete.

  6. Vuelva a Microsoft Sentinel y haga clic en + Create.

  7. Seleccione su área de trabajo en la lista (por ejemplo, logaw-afi-sentinel) y haga clic en Add.

Parte 2: Crear un punto de conexión de recopilación de datos

Paso 1: crear el punto de conexión de recopilación de datos

  1. En Azure Portal, busque Data collection endpoints y ábralo.
  2. Haga clic en + Create.

  3. Rellene los siguientes campos:

    • Endpoint Name: introduzca un nombre (por ejemplo, dcendpoint-afi-sentinel)
    • Subscription: su suscripción
    • Resource Group: seleccione su grupo de recursos (por ejemplo, resource-group-afi-sentinel)
    • Region: la misma que su área de trabajo de Log Analytics (por ejemplo, East US)

  4. Haga clic en Review + CreateCreate. El nuevo punto de conexión aparecerá en la lista de Data collection endpoints.

Paso 2: obtener el URI de Logs Ingestion del punto de conexión de recopilación de datos

  1. Abra su punto de conexión (por ejemplo, dcendpoint-afi-sentinel).
  2. Vaya a Overview.
  3. Copie Logs Ingestion:
    dce-afi-logs-xxxx.eastus-1.ingest.monitor.azure.com
    
  4. Guárdelo para más adelante; lo necesitará para crear el URI en el paso de la acción «HTTP».


Parte 3: Crear una regla de recopilación de datos y una tabla personalizada

Paso 1: crear la regla de recopilación de datos y definir la tabla personalizada

  1. Vaya a Log Analytics workspaces y abra su área de trabajo (por ejemplo, logaw-afi-sentinel).

  2. En el menú de la izquierda, vaya a SettingsTables.

  3. Haga clic en + Create para abrir el asistente de creación.

Pestaña Basic

  1. Establezca Table name: en AfiSentinelAuditLogs.

  2. En Data collection rule, haga clic en Create a new data collection rule:

    • Subscription: su suscripción
    • Resource group: resource-group-afi-sentinel
    • Region: la misma que su área de trabajo de Log Analytics (por ejemplo, East US)
    • Name: dcrule-afi-sentinel
    • Haga clic en Done.
  3. En Data collection endpoint, seleccione dcendpoint-afi-sentinel.
  4. Haga clic en Next.

Pestaña Schema

  1. Cree un archivo afi-sample.json con el siguiente contenido:

    {
       "Action": "browse",
       "Actor": "JohnDoe",
       "ActorID": "JohnDoe",
       "ActorIP": "JohnDoe",
       "ActorName": "JohnDoe",
       "Details": {
          "content_preview": true
       },
       "EventID": "JohnDoe",
       "Location": "JohnDoe",
       "Subject": "JohnDoe",
       "SubjectID": "JohnDoe",
       "SubjectKind": "JohnDoe",
       "TenantID": "JohnDoe",
       "TenantName": "JohnDoe",
       "Time": "2026-04-21T12:40:21Z"
    }
    
  2. Cargue el archivo. Azure Monitor Logs detectará automáticamente las columnas a partir de la muestra JSON. Verá un error sobre el campo TimeGenerated; es lo esperado. Haga clic en Transformation editor para corregirlo.

  3. En el editor de consultas, sustituya la consulta predeterminada source por:

    source
    | extend TimeGenerated = todatetime(Time)
    
  4. Haga clic en Run y, a continuación, en Apply.

    Información

    Azure Monitor Logs utiliza el campo TimeGenerated para el filtrado y el resumen por tiempo. Inclúyalo para conservar marcas de tiempo precisas de los eventos.

  5. Haga clic en NextCreate.

Paso 2: obtener los valores de la regla de recopilación de datos

Necesitará dos valores de la regla de recopilación de datos para configurar la acción HTTP de la aplicación lógica.

  1. En Azure Portal, busque Data collection rules y abra su regla (por ejemplo, dcrule-afi-sentinel).
  2. Haga clic en JSON View en la esquina superior derecha para ver la configuración JSON sin procesar.

  3. Busque (Ctrl+F) lo siguiente y guárdelo para más adelante; lo necesitará para crear el URI en el paso de la acción «HTTP»:

    Propiedad Ejemplo
    immutableId dcr-abc123def456...
    streams Custom-AfiSentinelAuditLogs_CL

    Nota: el nombre del flujo distingue entre mayúsculas y minúsculas.


Parte 4: Crear una aplicación lógica

Paso 1: crear una aplicación lógica

  1. En Azure Portal, haga clic en Create a resource.

  2. Busque Logic App y selecciónelo.

  3. Haga clic en Create. Como opción de alojamiento, seleccione Consumption (pago por ejecución, adecuado para esta integración).

  4. Rellene los siguientes campos:

    • Subscription: su suscripción
    • Resource Group: seleccione su grupo de recursos (por ejemplo, resource-group-afi-sentinel)
    • Name: introduzca un nombre (por ejemplo, logic-app-afi-sentinel)
    • Region: la misma que su área de trabajo de Log Analytics (por ejemplo, East US)

  5. Haga clic en Review + CreateCreate. Espere a que finalice la implementación; debería ver Your deployment is complete.

  6. Haga clic en Go to resource para abrir la aplicación lógica.

Paso 2: activar la identidad administrada en la aplicación lógica

  1. Vaya a SettingsIdentity.
  2. Establezca el estado de System assigned en On.
  3. Haga clic en Save y confirme con Yes.

Paso 3: asignar permisos (RBAC) a la aplicación lógica

Asigne el rol Monitoring Metrics Publisher a la aplicación lógica en la regla de recopilación de datos para autorizar la ingesta mediante una identidad administrada sin almacenar claves de API.

  1. En Azure Portal, busque Data collection rules y abra su regla (por ejemplo, dcrule-afi-sentinel).
  2. En el menú de la izquierda, vaya a Access control (IAM) → haga clic en + AddAdd role assignment.

  3. En la pestaña Role, busque y seleccione Monitoring Metrics Publisher y, a continuación, haga clic en Next.

  4. En la pestaña Members, configure lo siguiente:

    • Assign access to: Managed identity
    • Members: haga clic en + Select members y elija:
      • Managed identity: Logic App
      • Select: su aplicación lógica (por ejemplo, logic-app-afi-sentinel)

  5. Haga clic dos veces en Review + assign para completar la asignación.


Parte 5: Configurar el flujo de trabajo de la aplicación lógica

Flujo de trabajo de la aplicación lógica

Componente Función
Desencadenador (When HTTP request is received) Recibe eventos de auditoría de Afi
Compose Encapsula los datos del evento en una matriz para la API de ingesta de registros
HTTP Envía los datos al punto de conexión de recopilación de datos
  1. Abra su aplicación lógica (por ejemplo, logic-app-afi-sentinel).
  2. En el menú de la izquierda, vaya a Development ToolsLogic App Designer. Se abrirá el editor visual de flujos de trabajo.

Paso 1: crear el desencadenador When an HTTP request is received

Este desencadenador crea una URL de webhook que recibe eventos de auditoría de Afi.

  1. En el editor de flujos de trabajo, haga clic en Add a trigger.
  2. Busque Request y seleccione When an HTTP request is received.
  3. Deje los ajustes predeterminados y haga clic en Save.

  4. Después de guardar, se genera una HTTP URL. Guarde esta URL para más adelante; la necesitará para configurar el webhook en Afi.

Paso 2: crear la acción Compose

  1. Debajo del desencadenador en el editor de flujos de trabajo, haga clic en +Add an Action.
  2. Busque Compose y selecciónelo.

  3. Haga clic en el campo de entrada → haga clic en el icono ⚡️ y elija Insert expression.

  4. Pegue la siguiente función:
    createArray(json(string(triggerBody()))['event'])
    
  5. Haga clic en Add y, a continuación, en Save.

    Información

    La API de ingesta de registros espera una matriz. Esta acción encapsula en una matriz el cuerpo JSON de Afi.

Paso 3: crear la acción HTTP

  1. Debajo de la acción en el editor de flujos de trabajo, haga clic en +Add an Action.
  2. Busque HTTP y selecciónelo.

  3. Configure los siguientes campos:

URI: créelo con los valores guardados:

https://<DCE-LOGS-INGESTION-URI>/dataCollectionRules/<DCR-IMMUTABLE-ID>/streams/<STREAM-NAME>?api-version=2023-01-01

Donde:

Ejemplo:

https://dce-afi-logs-abc1.eastus-1.ingest.monitor.azure.com/dataCollectionRules/dcr-0123456789abcdef/streams/Custom-AfiSentinelAuditLogs_CL?api-version=2023-01-01

Método: POST

Encabezados:

Clave Valor
Content-Type application/json

Cuerpo: haga clic en el campo Body, después en el icono ⚡️ y seleccione Outputs.

Paso 4: configurar la autenticación en la acción HTTP

  1. Haga clic en Advanced parameters → seleccione Authentication.
  2. Establezca Authentication type en Managed Identity.
  3. Configure lo siguiente:
Ajuste Valor
Managed identity System-assigned managed identity
Audience https://monitor.azure.com
  1. Haga clic en Save.


Parte 6: Configurar el webhook en Afi

Vaya a la pestaña ConfigurationSIEM para crear un canal con los siguientes parámetros:


Parte 7: Probar la integración

Paso 1: generar un evento de auditoría de prueba

Realice una acción auditable en Afi:

  • Explore una copia de seguridad
  • Inicie una restauración o exportación
  • Ejecute una consulta de búsqueda

Paso 2: comprobar la aplicación lógica

  1. Abra su aplicación lógica (por ejemplo, logic-app-afi-sentinel) y vaya a OverviewRun history.
  2. Actualice el historial. Debería ver una nueva ejecución activada por el evento de prueba.

  3. Compruebe que el estado de la ejecución sea Succeeded. Si ha fallado, haga clic en la ejecución para ver los detalles del error.


Parte 8: Comprobar los eventos de auditoría de prueba en Microsoft Sentinel

Por último, compruebe que Microsoft Sentinel haya recibido los eventos de auditoría.

  1. Abra Microsoft Sentinel y seleccione su área de trabajo (por ejemplo, logaw-afi-sentinel).
  2. En el menú de la izquierda, vaya a GeneralLogs para abrir el editor de consultas.

  3. Ejecute la siguiente consulta para ver los eventos de auditoría recientes:

    AfiSentinelAuditLogs_CL
    | sort by TimeGenerated desc
    | limit 10
    

  4. Debería ver los eventos de auditoría de prueba en los resultados.

    Información

    Los datos iniciales pueden tardar hasta 15 minutos en aparecer en Microsoft Sentinel.


Opcional: revisar y añadir campos de eventos

Tras realizar las pruebas, puede observar que algunos campos de Afi no aparecen en Microsoft Sentinel o decidir quitar campos que no necesita. La muestra inicial utilizaba el mínimo de campos necesarios para superar la validación; ahora puede ajustar el esquema según los datos reales de los eventos.

  1. Abra su aplicación lógica (por ejemplo, logic-app-afi-sentinel) y vaya a OverviewRun history.
  2. Debería aparecer una lista de las ejecuciones activadas por sus eventos de prueba. Haga clic en una de ellas para ver los detalles.
  3. Haga clic en la acción HTTP para expandir sus detalles.
  4. Revise la sección Body, que muestra todos los campos que Afi incluye en las solicitudes de webhook.

  5. Para modificar los campos que aparecen en Microsoft Sentinel, actualice tanto el esquema de la tabla personalizada como streamDeclarations en la regla de recopilación de datos.

Paso 1: actualizar el esquema de la tabla personalizada

  1. Vaya a Log Analytics workspaces y abra su área de trabajo (por ejemplo, logaw-afi-sentinel).
  2. En el menú de la izquierda, vaya a SettingsTables.
  3. Haga clic en ... en AfiSentinelAuditLogs_CLEdit schema.

  4. Añada o quite campos según sea necesario y haga clic en Save.

Paso 2: actualizar streamDeclarations en la regla de recopilación de datos

  1. En Azure Portal, abra Cloud Shell (icono >_ de la esquina superior derecha) y seleccione Bash.
  2. Ejecute:
az monitor data-collection rule show \
  --name "dcrule-afi-sentinel" \
  --resource-group "resource-group-afi-sentinel" \
  -o json > dcr-current.json
  1. Haga clic en Manage filesDownload e introduzca el nombre de archivo dcr-current.json.
  2. Edite el archivo localmente y añada los mismos campos a streamDeclarations:
    "streamDeclarations": {
        "Custom-AfiSentinelAuditLogs_CL": {
           "columns": // you need to add them here
        }
    }
    
  3. Haga clic en Manage filesUpload y seleccione el archivo dcr-current.json actualizado.
  4. Ejecute:
az monitor data-collection rule create \
  --name "dcrule-afi-sentinel" \
  --resource-group "resource-group-afi-sentinel" \
  --rule-file dcr-current.json
  1. Compruebe la actualización abriendo JSON View en la regla de recopilación de datos.

Información

El esquema de la tabla personalizada y la regla de recopilación de datos son elementos independientes y no se sincronizan automáticamente.

Paso 3: comprobar los eventos de auditoría de prueba en Microsoft Sentinel

Compruebe que los cambios en los campos aparezcan correctamente en Microsoft Sentinel.