Recopila registros de actividad de Microsoft Graph
Descripción general
Este analizador extrae campos de los registros de actividad de Microsoft Graph y los transforma en el modelo de datos unificado (UDM). Inicializa los campos del UDM, analiza la carga útil, extrae las marcas de tiempo, asigna varias propiedades a los campos del UDM, controla las direcciones IP y los puertos, y categoriza el tipo de evento según la presencia de información principal y de red.
Antes de comenzar
Asegúrate de cumplir con los siguientes requisitos previos:
- Instancia de Google SecOps.
- Acceso con privilegios a Microsoft Entra ID y a las cuentas de almacenamiento de Azure
Configura la cuenta de almacenamiento de Azure
- En la consola de Azure, busca cuentas de almacenamiento.
- Haz clic en Crear.
- Especifica valores para los siguientes parámetros de entrada:
- Suscripción: Selecciona la suscripción.
- Grupo de recursos: Selecciona el grupo de recursos.
- Región: Selecciona la región.
- Rendimiento: Selecciona el nivel de rendimiento que desees (se recomienda el estándar).
- Redundancia: Selecciona el nivel de redundancia que desees (se recomienda GRS o LRS).
- Nombre de la cuenta de almacenamiento: Ingresa un nombre para la nueva cuenta de almacenamiento.
- Haz clic en Revisar + crear.
- Revisa el resumen de la cuenta y haz clic en Crear.
- En la página Descripción general de la cuenta de almacenamiento, selecciona el submenú Claves de acceso en Seguridad y redes.
- Haz clic en Mostrar junto a key1 o key2.
- Haz clic en Copiar en el portapapeles para copiar la clave.
- Guarda la llave en un lugar seguro para consultarla en el futuro.
- En la página Resumen de la cuenta de almacenamiento, selecciona el submenú Extremos en Configuración.
- Haz clic en Copiar en el portapapeles para copiar la URL del extremo del servicio Blob (por ejemplo, https://
.blob.core.windows.net ). - Guarda la URL del extremo en una ubicación segura para consultarla en el futuro.
Configura la exportación de registros de actividad de Microsoft Graph a la cuenta de almacenamiento
- En la consola de Azure, busca Entra ID.
- Selecciona Supervisión > Configuración de diagnóstico.
- Haz clic en + Agregar parámetro de configuración de diagnóstico.
- Asigna un nombre único al parámetro de configuración (por ejemplo, ms-graph-activity).
- Selecciona la categoría MicrosoftGraphActivityLog que deseas exportar a Google SecOps.
- En Detalles del destino, selecciona Archivar en una cuenta de almacenamiento.
- Selecciona tu suscripción y la cuenta de almacenamiento que creaste en el paso anterior.
- Haz clic en Guardar.
Cómo configurar los registros de actividad de Microsoft Graph
- Ve a Configuración del SIEM > Feeds.
- Haz clic en Agregar feed nuevo.
- En la siguiente página, haz clic en Configurar un solo feed.
- En el campo Nombre del feed, ingresa un nombre para el feed, por ejemplo, Registros de actividad de Microsoft Graph.
- Selecciona Microsoft Azure Blob Storage V2 como el Tipo de fuente.
- Selecciona Registros de actividad de Microsoft Graph como el Tipo de registro.
- Haz clic en Siguiente.
Especifica valores para los siguientes parámetros de entrada:
URI de Azure: Es la URL del extremo del blob.
ENDPOINT_URL/BLOB_NAMEReemplaza lo siguiente:
ENDPOINT_URL: Es la URL del extremo del blob (https://<storageaccountname>.blob.core.windows.net).BLOB_NAME: El nombre del blob (por ejemplo, insights-logs-)
Opciones de borrado de la fuente: Selecciona la opción de borrado según tu preferencia.
- Antigüedad máxima del archivo: Son los archivos modificados en la cantidad de días especificada. El valor predeterminado es de 180 días.
- Clave compartida: Es la clave de acceso a Azure Blob Storage.
Haz clic en Siguiente.
Revisa la nueva configuración del feed en la pantalla Finalizar y, luego, haz clic en Enviar.
Tabla de asignación de UDM
| Campo de registro | Asignación de UDM | Lógica |
|---|---|---|
callerIpAddress |
principal.asset.ip |
El campo de registro sin procesar callerIpAddress se copia en el campo de UDM. |
callerIpAddress |
principal.ip |
El campo de registro sin procesar callerIpAddress se copia en el campo de UDM. |
category |
security_result.category_details |
El campo de registro sin procesar category se copia en el campo de UDM. |
correlationId |
security_result.detection_fields.value |
El campo de registro sin procesar correlationId se copia en el campo de UDM, donde la clave es correlationId. |
Level |
security_result.detection_fields.value |
El campo de registro sin procesar Level se convierte en una cadena y se copia en el campo de UDM, donde la clave es Level. |
operationName |
metadata.product_event_type |
El campo de registro sin procesar operationName se copia en el campo de UDM. |
operationVersion |
additional.fields.value.string_value |
El campo de registro sin procesar operationVersion se copia en el campo de UDM, donde la clave es operationVersion. |
properties.apiVersion |
metadata.product_version |
El campo de registro sin procesar properties.apiVersion se copia en el campo de UDM. |
properties.appId |
target.resource.product_object_id |
El campo de registro sin procesar properties.appId se copia en el campo de UDM. |
properties.atContent |
additional.fields.value.string_value |
El campo de registro sin procesar properties.atContent se copia en el campo de UDM, donde la clave es atContent. |
properties.clientAuthMethod |
extensions.auth.auth_details |
Según el valor de properties.clientAuthMethod, el campo UDM se establece en "Cliente público" (0), "ID de cliente/secreto de cliente" (1) o "Certificado de cliente" (2). |
properties.clientRequestId |
additional.fields.value.string_value |
El campo de registro sin procesar properties.clientRequestId se copia en el campo de UDM, donde la clave es clientRequestId. |
properties.durationMs |
network.session_duration.seconds |
El campo de registro sin procesar properties.durationMs se convierte de milisegundos a segundos y se copia en el campo de UDM. |
properties.identityProvider |
security_result.detection_fields.value |
El campo de registro sin procesar properties.identityProvider se copia en el campo de UDM, donde la clave es identityProvider. |
properties.ipAddress |
principal.asset.ip |
Se extrae la dirección IP del campo de registro sin procesar properties.ipAddress y se copia en el campo del UDM. |
properties.ipAddress |
principal.ip |
Se extrae la dirección IP del campo de registro sin procesar properties.ipAddress y se copia en el campo del UDM. |
properties.location |
principal.location.name |
El campo de registro sin procesar properties.location se copia en el campo de UDM. |
properties.operationId |
security_result.detection_fields.value |
El campo de registro sin procesar properties.operationId se copia en el campo de UDM, donde la clave es operationId. |
properties.requestMethod |
network.http.method |
El campo de registro sin procesar properties.requestMethod se copia en el campo de UDM. |
properties.requestId |
metadata.product_log_id |
El campo de registro sin procesar properties.requestId se copia en el campo de UDM. |
properties.responseSizeBytes |
network.received_bytes |
El campo de registro sin procesar properties.responseSizeBytes se convierte en un número entero sin signo y se copia en el campo de UDM. |
properties.responseStatusCode |
network.http.response_code |
El campo de registro sin procesar properties.responseStatusCode se convierte en un número entero y se copia en el campo de UDM. |
properties.roles |
additional.fields.value.string_value |
El campo de registro sin procesar properties.roles se copia en el campo de UDM, donde la clave es roles. |
properties.scopes |
additional.fields.value.string_value |
El campo de registro sin procesar properties.scopes se copia en el campo de UDM, donde la clave es Scopes. |
properties.servicePrincipalId |
principal.user.userid |
El campo de registro sin procesar properties.servicePrincipalId se copia en el campo de UDM si properties.userId está vacío. |
properties.signInActivityId |
network.session_id |
El campo de registro sin procesar properties.signInActivityId se copia en el campo de UDM. |
properties.tenantId |
metadata.product_deployment_id |
El campo de registro sin procesar properties.tenantId se copia en el campo de UDM. |
properties.tokenIssuedAt |
additional.fields.value.string_value |
El campo de registro sin procesar properties.tokenIssuedAt se copia en el campo de UDM, donde la clave es tokenIssuedAt. |
properties.userAgent |
network.http.user_agent |
El campo de registro sin procesar properties.userAgent se copia en el campo de UDM. |
properties.userId |
principal.user.userid |
El campo de registro sin procesar properties.userId se copia en el campo de UDM. |
properties.wids |
security_result.detection_fields.value |
El campo de registro sin procesar properties.wids se copia en el campo de UDM, donde la clave es wids. |
resourceId |
target.resource.attribute.labels.value |
El campo de registro sin procesar resourceId se copia en el campo de UDM, donde la clave es Resource ID. |
resultSignature |
additional.fields.value.string_value |
El campo de registro sin procesar resultSignature se copia en el campo de UDM, donde la clave es resultSignature. |
time |
metadata.event_timestamp |
El campo de registro sin procesar time se analiza y se convierte en una marca de tiempo, y se copia en el campo de UDM. El campo event.idm.read_only_udm.metadata.event_type del UDM se establece en "NETWORK_HTTP" si has_principal es verdadero y network.http no está vacío, en "STATUS_UPDATE" si has_principal es verdadero y network.http está vacío, o en "GENERIC_EVENT" en cualquier otro caso. El campo de UDM está configurado como "Microsoft Graph". El campo de UDM está establecido como "Microsoft". |
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.