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 Información general 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.
Configura feeds
Existen dos puntos de entrada diferentes para configurar feeds en la plataforma de Google SecOps:
- Configuración de SIEM > Feeds
- Centro de contenido > Paquetes de contenido
Configura feeds en Configuración del SIEM > Feeds
Para configurar un feed, sigue estos pasos:
- 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 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_NAME
Reemplaza 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-)
URI is a: Selecciona el tipo de URI según la configuración del flujo de registros (Single file | Directory | Directory which includes subdirectories).
Opciones de borrado de la fuente: Selecciona la opción de borrado según tu preferencia.
- 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.
Configura feeds desde el Centro de contenido
Especifica valores para los siguientes campos:
- URI de Azure: Es la URL del extremo del blob.
ENDPOINT_URL/BLOB_NAME
Reemplaza 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-)
- URI is a: Selecciona el tipo de URI según la configuración del flujo de registros (Single file | Directory | Directory which includes subdirectories).
- Opciones de borrado de la fuente: Selecciona la opción de borrado según tu preferencia.
- Clave compartida: Es la clave de acceso a Azure Blob Storage.
Opciones avanzadas
- Nombre del feed: Es un valor completado previamente que identifica el feed.
- Tipo de fuente: Es el método que se usa para recopilar registros en Google SecOps.
- Espacio de nombres del activo: Es el espacio de nombres asociado con el feed.
- Etiquetas de transferencia: Son las etiquetas que se aplican a todos los eventos de este feed.
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.