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¶
- En Azure Portal, busque Microsoft Sentinel y ábralo.
- Haga clic en + Create.
-
Haga clic en + Create a new workspace.
-
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.
-
Haga clic en Review + Create → Create. Espere a que finalice la implementación; debería ver Your deployment is complete.
-
Vuelva a Microsoft Sentinel y haga clic en + Create.
- 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
- En Azure Portal, busque Data collection endpoints y ábralo.
-
Haga clic en + Create.
-
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)
- Endpoint Name: introduzca un nombre (por ejemplo,
-
Haga clic en Review + Create → Create. 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
- Abra su punto de conexión (por ejemplo,
dcendpoint-afi-sentinel). - Vaya a Overview.
- Copie Logs Ingestion:
-
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
-
Vaya a Log Analytics workspaces y abra su área de trabajo (por ejemplo,
logaw-afi-sentinel).
-
En el menú de la izquierda, vaya a Settings → Tables.
-
Haga clic en + Create para abrir el asistente de creación.
Pestaña Basic
-
Establezca Table name: en
AfiSentinelAuditLogs.
-
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.
- En Data collection endpoint, seleccione
dcendpoint-afi-sentinel. -
Haga clic en Next.
Pestaña Schema
-
Cree un archivo
afi-sample.jsoncon 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" } -
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.
-
En el editor de consultas, sustituya la consulta predeterminada
sourcepor: -
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.
-
Haga clic en Next → Create.
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.
- En Azure Portal, busque Data collection rules y abra su regla (por ejemplo,
dcrule-afi-sentinel). -
Haga clic en JSON View en la esquina superior derecha para ver la configuración JSON sin procesar.
-
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_CLNota: 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
-
En Azure Portal, haga clic en Create a resource.
-
Busque Logic App y selecciónelo.
-
Haga clic en Create. Como opción de alojamiento, seleccione Consumption (pago por ejecución, adecuado para esta integración).
-
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)
-
Haga clic en Review + Create → Create. Espere a que finalice la implementación; debería ver Your deployment is complete.
-
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
- Vaya a Settings → Identity.
- Establezca el estado de System assigned en On.
-
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.
- En Azure Portal, busque Data collection rules y abra su regla (por ejemplo,
dcrule-afi-sentinel). -
En el menú de la izquierda, vaya a Access control (IAM) → haga clic en + Add → Add role assignment.
-
En la pestaña Role, busque y seleccione Monitoring Metrics Publisher y, a continuación, haga clic en Next.
-
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)
-
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 |
- Abra su aplicación lógica (por ejemplo,
logic-app-afi-sentinel). -
En el menú de la izquierda, vaya a Development Tools → Logic 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.
- En el editor de flujos de trabajo, haga clic en Add a trigger.
- Busque Request y seleccione When an HTTP request is received.
-
Deje los ajustes predeterminados y haga clic en Save.
-
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
- Debajo del desencadenador en el editor de flujos de trabajo, haga clic en + → Add an Action.
-
Busque Compose y selecciónelo.
-
Haga clic en el campo de entrada → haga clic en el icono ⚡️ y elija Insert expression.
- Pegue la siguiente función:
-
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
- Debajo de la acción en el editor de flujos de trabajo, haga clic en + → Add an Action.
-
Busque HTTP y selecciónelo.
-
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:
<DCE-LOGS-INGESTION-URI>: URI de Logs Ingestion de la Parte 2, Paso 2<DCR-IMMUTABLE-ID>: immutableId de la Parte 3, Paso 2<STREAM-NAME>: outputStream de la Parte 3, Paso 2
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
- Haga clic en Advanced parameters → seleccione Authentication.
- Establezca Authentication type en Managed Identity.
- Configure lo siguiente:
| Ajuste | Valor |
|---|---|
| Managed identity | System-assigned managed identity |
| Audience | https://monitor.azure.com |
Parte 6: Configurar el webhook en Afi¶
Vaya a la pestaña Configuration → SIEM para crear un canal con los siguientes parámetros:
- Endpoint: Webhook
-
Webhook: URL del webhook de la Parte 5, Paso 1
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
- Abra su aplicación lógica (por ejemplo,
logic-app-afi-sentinel) y vaya a Overview → Run history. -
Actualice el historial. Debería ver una nueva ejecución activada por el evento de prueba.
-
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.
- Abra Microsoft Sentinel y seleccione su área de trabajo (por ejemplo,
logaw-afi-sentinel). -
En el menú de la izquierda, vaya a General → Logs para abrir el editor de consultas.
-
Ejecute la siguiente consulta para ver los eventos de auditoría recientes:
-
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.
- Abra su aplicación lógica (por ejemplo,
logic-app-afi-sentinel) y vaya a Overview → Run history. - Debería aparecer una lista de las ejecuciones activadas por sus eventos de prueba. Haga clic en una de ellas para ver los detalles.
- Haga clic en la acción HTTP para expandir sus detalles.
-
Revise la sección Body, que muestra todos los campos que Afi incluye en las solicitudes de webhook.
-
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
- Vaya a Log Analytics workspaces y abra su área de trabajo (por ejemplo, logaw-afi-sentinel).
- En el menú de la izquierda, vaya a Settings → Tables.
-
Haga clic en ... en
AfiSentinelAuditLogs_CL→ Edit schema.
-
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
- En Azure Portal, abra Cloud Shell (icono
>_de la esquina superior derecha) y seleccione Bash. - Ejecute:
az monitor data-collection rule show \
--name "dcrule-afi-sentinel" \
--resource-group "resource-group-afi-sentinel" \
-o json > dcr-current.json
- Haga clic en Manage files → Download e introduzca el nombre de archivo
dcr-current.json. - Edite el archivo localmente y añada los mismos campos a
streamDeclarations: - Haga clic en Manage files → Upload y seleccione el archivo
dcr-current.jsonactualizado. - Ejecute:
az monitor data-collection rule create \
--name "dcrule-afi-sentinel" \
--resource-group "resource-group-afi-sentinel" \
--rule-file dcr-current.json
- 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.


