Recoger registros de Microsoft Azure AD
En este documento se describe cómo puede recoger registros de Microsoft Azure Active Directory (AD) configurando un feed de Google Security Operations.
Azure Active Directory (AZURE_AD
) ahora se llama Microsoft Entra ID. Los registros de auditoría de Azure AD
(AZURE_AD_AUDIT
) ahora son registros de auditoría de Microsoft Entra ID.
Para obtener más información, consulta Ingestión de datos en Google Security Operations.
Una etiqueta de ingestión identifica el analizador que normaliza los datos de registro sin procesar en formato UDM estructurado.
Antes de empezar
Asegúrate de que cumples los siguientes requisitos previos:
- Una suscripción a Azure con la que puedas iniciar sesión
- Rol de administrador global o de Azure AD
- Un Azure AD (inquilino) en Azure
Cómo configurar Azure AD
- Inicia sesión en el portal de Azure.
- Ve a Inicio > Registro de aplicaciones, selecciona una aplicación registrada o registra una si aún no has creado ninguna.
- Para registrar una aplicación, en la sección Registro de aplicaciones, haz clic en Nuevo registro.
- En el campo Name (Nombre), indica el nombre visible de tu aplicación.
- En la sección Tipos de cuentas admitidos, selecciona la opción necesaria para especificar quién puede usar la aplicación o acceder a la API.
- Haz clic en Registrarse.
- Ve a la página Descripción general y copia el ID de aplicación (cliente) y el ID de directorio (inquilino), que son necesarios para configurar el feed de Google Security Operations.
- Haz clic en Permisos de API.
- Haz clic en Añadir un permiso y, a continuación, selecciona Microsoft Graph en el nuevo panel.
- Haz clic en Permisos de la aplicación.
- Selecciona los permisos AuditLog.Read.All, Directory.Read.All y SecurityEvents.Read.All. Asegúrate de que los permisos sean Permisos de aplicación y no Permisos delegados.
- Haz clic en Conceder consentimiento de administrador para el directorio predeterminado. Las aplicaciones están autorizadas para llamar a las APIs cuando los usuarios o los administradores les conceden permisos como parte del proceso de consentimiento.
- Ve a Ajustes > Gestionar.
- Haz clic en Certificados y secretos.
- Haz clic en Nuevo secreto de cliente. En el campo Valor, aparece el secreto de cliente.
- Copia el valor del secreto de cliente. El valor solo se muestra en el momento de la creación y es necesario para registrar la aplicación de Azure y configurar el feed de Google Security Operations.
Configurar feeds
Hay dos puntos de entrada diferentes para configurar feeds en la plataforma Google SecOps:
- Configuración de SIEM > Feeds > Añadir nuevo feed
- Centro de contenido > Paquetes de contenido > Empezar
Cómo configurar el feed de Microsoft Entra ID (Azure AD)
- Haz clic en el paquete Plataforma de Azure.
- Busca el tipo de registro Azure AD.
Especifique los valores de los siguientes campos:
- Tipo de fuente: API de terceros (opción recomendada)
- ID de cliente de OAuth: especifica el ID de cliente que has obtenido anteriormente.
- Secreto de cliente de OAuth: especifica el secreto de cliente que has obtenido anteriormente.
- ID de cliente: especifica el ID de cliente que has obtenido anteriormente.
- Ruta completa de la API: URL del endpoint de la API REST de Microsoft Graph.
- Endpoint de autenticación de la API: endpoint de autenticación de Microsoft Active Directory.
Opciones avanzadas
- Nombre del feed: un valor rellenado automáticamente que identifica el feed.
- Espacio de nombres de recursos: espacio de nombres asociado al feed.
- Etiquetas de ingestión: etiquetas aplicadas a todos los eventos de este feed.
Haga clic en Crear feed.
Para obtener más información sobre cómo configurar varios feeds para diferentes tipos de registros en esta familia de productos, consulta el artículo Configurar feeds por producto.
Para obtener más información sobre los feeds de Google Security Operations, consulta la documentación de los feeds de Google Security Operations. Para obtener información sobre los requisitos de cada tipo de feed, consulta el artículo Configuración de feeds por tipo.
Referencia de asignación de campos
Este código de analizador transforma los registros sin procesar de Azure AD en formato JSON en un modelo de datos unificado (UDM). Primero, normaliza los datos eliminando los campos innecesarios y, a continuación, extrae información relevante, como los detalles del usuario, las marcas de tiempo y las especificaciones del evento, y los asigna a los campos de UDM correspondientes para que la representación y el análisis sean coherentes.
Tabla de asignación de UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
activityDateTime | read_only_udm.metadata.event_timestamp.seconds | El valor se extrae del campo activityDateTime y se convierte en segundos transcurridos desde el inicio del registro de tiempo. |
activityDisplayName | read_only_udm.security_result.summary | El valor se asigna directamente desde el campo activityDisplayName . |
additionalDetails.0.value | read_only_udm.network.http.user_agent | El valor se asigna directamente desde el campo additionalDetails.0.value . |
additionalDetails.1.key | read_only_udm.target.resource.attribute.labels.key | El valor se asigna directamente desde el campo additionalDetails.1.key . |
additionalDetails.1.value | read_only_udm.target.resource.attribute.labels.value | El valor se asigna directamente desde el campo additionalDetails.1.value . |
am_category | read_only_udm.metadata.description | El valor se asigna directamente desde el campo am_category . |
am_tenantId | read_only_udm.metadata.product_deployment_id | El valor se asigna directamente desde el campo am_tenantId . |
appDisplayName | read_only_udm.target.application | El valor se asigna directamente desde el campo appDisplayName . Si appDisplayName está vacío, el valor se toma de resourceDisplayName . |
appId | read_only_udm.target.resource.attribute.labels.value | El valor se asigna directamente desde el campo appId . |
appliedConditionalAccessPolicies.displayName | read_only_udm.about.user.user_display_name | El valor se asigna directamente desde el campo appliedConditionalAccessPolicies.displayName . |
appliedConditionalAccessPolicies.enforcedGrantControls | read_only_udm.security_result.rule_labels.value | El valor se asigna directamente desde el campo appliedConditionalAccessPolicies.enforcedGrantControls . |
appliedConditionalAccessPolicies.enforcedSessionControls | read_only_udm.security_result.rule_labels.value | El valor se asigna directamente desde el campo appliedConditionalAccessPolicies.enforcedSessionControls . |
appliedConditionalAccessPolicies.id | read_only_udm.about.user.userid | El valor se asigna directamente desde el campo appliedConditionalAccessPolicies.id . |
appliedConditionalAccessPolicies.result | read_only_udm.about.labels.value | El valor se asigna directamente desde el campo appliedConditionalAccessPolicies.result . |
authenticationDetails.authenticationMethod | read_only_udm.security_result.detection_fields.value | El valor se asigna directamente desde el campo authenticationDetails.authenticationMethod . |
authenticationDetails.authenticationMethodDetail | read_only_udm.security_result.detection_fields.value | El valor se asigna directamente desde el campo authenticationDetails.authenticationMethodDetail . |
authenticationDetails.authenticationStepDateTime | read_only_udm.security_result.detection_fields.value | El valor se asigna directamente desde el campo authenticationDetails.authenticationStepDateTime . |
authenticationDetails.authenticationStepRequirement | read_only_udm.security_result.detection_fields.value | El valor se asigna directamente desde el campo authenticationDetails.authenticationStepRequirement . |
authenticationDetails.authenticationStepResultDetail | read_only_udm.security_result.detection_fields.value | El valor se asigna directamente desde el campo authenticationDetails.authenticationStepResultDetail . |
authenticationProcessingDetails.key | read_only_udm.additional.fields.key | El valor se asigna directamente desde el campo authenticationProcessingDetails.key , con el prefijo "authenticationProcessingDetails - ". |
authenticationProcessingDetails.value | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo authenticationProcessingDetails.value . |
callerIpAddress | read_only_udm.principal.ip | El valor se asigna directamente desde el campo callerIpAddress . |
callerIpAddress | read_only_udm.principal.asset.ip | El valor se asigna directamente desde el campo callerIpAddress . |
category | read_only_udm.metadata.description | El valor se asigna directamente desde el campo category . |
clientAppUsed | read_only_udm.principal.application | El valor se asigna directamente desde el campo clientAppUsed . |
conditionalAccessStatus | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo conditionalAccessStatus . |
correlationId | read_only_udm.network.session_id | El valor se asigna directamente desde el campo correlationId . |
correlationId | read_only_udm.security_result.detection_fields.value | El valor se asigna directamente desde el campo correlationId . |
createdDateTime | read_only_udm.metadata.event_timestamp.seconds | El valor se extrae del campo createdDateTime y se convierte en segundos transcurridos desde el inicio del registro de tiempo. |
deviceDetail.browser | read_only_udm.network.http.user_agent | El valor se asigna directamente desde el campo deviceDetail.browser . |
deviceDetail.deviceId | read_only_udm.principal.asset.asset_id | El valor se asigna directamente desde el campo deviceDetail.deviceId , con el prefijo "ID de dispositivo:". |
deviceDetail.deviceId | read_only_udm.principal.asset_id | El valor se asigna directamente desde el campo deviceDetail.deviceId , con el prefijo "ID de dispositivo:". |
deviceDetail.displayName | read_only_udm.principal.asset.hostname | El valor se asigna directamente desde el campo deviceDetail.displayName . |
deviceDetail.isCompliant | read_only_udm.principal.asset.attribute.labels.value | El valor se asigna directamente desde el campo deviceDetail.isCompliant . |
deviceDetail.isManaged | read_only_udm.principal.asset.attribute.labels.value | El valor se asigna directamente desde el campo deviceDetail.isManaged . |
deviceDetail.operatingSystem | read_only_udm.principal.platform_version | El valor se asigna directamente desde el campo deviceDetail.operatingSystem . |
deviceDetail.trustType | read_only_udm.principal.asset.attribute.labels.value | El valor se asigna directamente desde el campo deviceDetail.trustType . |
durationMs | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo durationMs . |
errorCode | read_only_udm.security_result.rule_id | El valor se asigna directamente desde el campo errorCode . |
identity | read_only_udm.target.user.user_display_name | El valor se asigna directamente desde el campo identity si es diferente de userId y no coincide con un patrón de dirección de correo. |
initiatedBy.user.displayName | read_only_udm.principal.user.user_display_name | El valor se asigna directamente desde el campo initiatedBy.user.displayName . |
initiatedBy.user.id | read_only_udm.principal.user.userid | El valor se asigna directamente desde el campo initiatedBy.user.id . |
initiatedBy.user.ipAddress | read_only_udm.principal.ip | El valor se asigna directamente desde el campo initiatedBy.user.ipAddress . |
initiatedBy.user.ipAddress | read_only_udm.principal.asset.ip | El valor se asigna directamente desde el campo initiatedBy.user.ipAddress . |
initiatedBy.user.userPrincipalName | read_only_udm.principal.user.email_addresses | El valor se asigna directamente desde el campo initiatedBy.user.userPrincipalName si coincide con un patrón de dirección de correo electrónico. |
ipAddress | read_only_udm.principal.ip | El valor se extrae del campo ipAddress mediante un patrón grok para extraer la dirección IP. |
ipAddress | read_only_udm.principal.asset.ip | El valor se extrae del campo ipAddress mediante un patrón grok para extraer la dirección IP. |
isInteractive | read_only_udm.extensions.auth.mechanism | El valor se asigna a "INTERACTIVE" si isInteractive es "true". De lo contrario, se asigna a "MECHANISM_OTHER". |
isInteractive | read_only_udm.security_result.detection_fields.value | El valor se asigna directamente desde el campo isInteractive . |
nivel | read_only_udm.security_result.severity | El valor se asigna desde el campo level según la siguiente lógica: * "Information", "Informational", "0" y "4" se asignan a "INFORMATIONAL". * "Warning", "1" y "3" se asignan a "MEDIUM". * "Error" y "2" se asignan a "ERROR". * "Critical", "CRITICAL" y "critical" se asignan a "CRITICAL". |
nivel | read_only_udm.security_result.severity_details | El valor se asigna directamente desde el campo level . |
location.city | read_only_udm.principal.location.city | El valor se asigna directamente desde el campo location.city . |
location.countryOrRegion | read_only_udm.principal.location.country_or_region | El valor se asigna directamente desde el campo location.countryOrRegion . |
location.geoCoordinates.latitude | read_only_udm.principal.location.region_coordinates.latitude | El valor se asigna directamente desde el campo location.geoCoordinates.latitude y se convierte en un número de coma flotante. |
location.geoCoordinates.latitude | read_only_udm.principal.location.region_latitude | El valor se asigna directamente desde el campo location.geoCoordinates.latitude y se convierte en un número de coma flotante. |
location.geoCoordinates.longitude | read_only_udm.principal.location.region_coordinates.longitude | El valor se asigna directamente desde el campo location.geoCoordinates.longitude y se convierte en un número de coma flotante. |
location.geoCoordinates.longitude | read_only_udm.principal.location.region_longitude | El valor se asigna directamente desde el campo location.geoCoordinates.longitude y se convierte en un número de coma flotante. |
location.state | read_only_udm.principal.location.state | El valor se asigna directamente desde el campo location.state . |
networkLocationDetails.networkNames | read_only_udm.additional.fields.value.string_value | El valor se genera concatenando todos los valores de la matriz networkLocationDetails.networkNames , separados por comas. |
networkLocationDetails.networkType | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo networkLocationDetails.networkType . |
networkLocationDetails.networkType | read_only_udm.security_result.detection_fields.value | El valor se asigna directamente desde el campo networkLocationDetails.networkType . |
operationName | read_only_udm.metadata.event_type | El valor se asigna a "USER_LOGIN" si operationName es "Sign-in activity", "USER_CHANGE_PERMISSIONS" si operationName es "Add member to group" y "USER_RESOURCE_UPDATE_PERMISSIONS" si operationName es "Add app role assignment to service principal". De lo contrario, el valor se determina en función de la presencia de otros campos: * "USER_LOGIN" si has_target_user es "true". * "USER_UNCATEGORIZED" si has_principal_user es "true". * "STATUS_UPDATE" si has_principal es "true". * "GENERIC_EVENT" en caso contrario. |
operationType | read_only_udm.security_result.action_details | El valor se asigna directamente desde el campo operationType . |
properties.activity | read_only_udm.security_result.summary | El valor se asigna directamente desde el campo properties.activity . |
properties.activityDateTime | read_only_udm.metadata.event_timestamp.seconds | El valor se extrae del campo properties.activityDateTime y se convierte en segundos transcurridos desde el inicio del registro de tiempo. |
properties.additionalInfo | read_only_udm.network.http.user_agent | El valor se extrae del campo properties.additionalInfo analizando la cadena JSON y extrayendo el valor correspondiente a la clave "userAgent". |
properties.additionalInfo | read_only_udm.target.url | El valor se extrae del campo properties.additionalInfo analizando la cadena JSON y extrayendo el valor correspondiente a la clave "alertUrl". |
properties.appId | read_only_udm.target.resource.attribute.labels.value | El valor se asigna directamente desde el campo properties.appId . |
properties.appDisplayName | read_only_udm.target.application | El valor se asigna directamente desde el campo properties.appDisplayName . |
properties.appliedConditionalAccessPolicies.displayName | read_only_udm.security_result.rule_name | El valor se asigna directamente desde el campo properties.appliedConditionalAccessPolicies.displayName . |
properties.appliedConditionalAccessPolicies.id | read_only_udm.security_result.rule_id | El valor se asigna directamente desde el campo properties.appliedConditionalAccessPolicies.id . |
properties.appliedConditionalAccessPolicies.result | read_only_udm.security_result.detection_fields.value | El valor se asigna directamente desde el campo properties.appliedConditionalAccessPolicies.result . |
properties.authenticationDetails.authenticationMethod | read_only_udm.security_result.detection_fields.value | El valor se asigna directamente desde el campo properties.authenticationDetails.authenticationMethod . |
properties.authenticationDetails.authenticationMethodDetail | read_only_udm.security_result.detection_fields.value | El valor se asigna directamente desde el campo properties.authenticationDetails.authenticationMethodDetail . |
properties.authenticationDetails.authenticationStepDateTime | read_only_udm.security_result.detection_fields.value | El valor se asigna directamente desde el campo properties.authenticationDetails.authenticationStepDateTime . |
properties.authenticationDetails.authenticationStepRequirement | read_only_udm.security_result.detection_fields.value | El valor se asigna directamente desde el campo properties.authenticationDetails.authenticationStepRequirement . |
properties.authenticationDetails.authenticationStepResultDetail | read_only_udm.security_result.detection_fields.value | El valor se asigna directamente desde el campo properties.authenticationDetails.authenticationStepResultDetail . |
properties.authenticationProcessingDetails.key | read_only_udm.additional.fields.key | El valor se asigna directamente desde el campo properties.authenticationProcessingDetails.key , con el prefijo "properties authenticationProcessingDetails - ". |
properties.authenticationProcessingDetails.value | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo properties.authenticationProcessingDetails.value . |
properties.authenticationRequirement | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo properties.authenticationRequirement . |
properties.authenticationRequirementPolicies.detail | read_only_udm.security_result.detection_fields.value | El valor se asigna directamente desde el campo properties.authenticationRequirementPolicies.detail . |
properties.authenticationRequirementPolicies.requirementProvider | read_only_udm.security_result.detection_fields.value | El valor se asigna directamente desde el campo properties.authenticationRequirementPolicies.requirementProvider . |
properties.clientAppUsed | read_only_udm.principal.application | El valor se asigna directamente desde el campo properties.clientAppUsed . |
properties.conditionalAccessStatus | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo properties.conditionalAccessStatus . |
properties.createdDateTime | read_only_udm.metadata.event_timestamp.seconds | El valor se extrae del campo properties.createdDateTime y se convierte en segundos transcurridos desde el inicio del registro de tiempo. |
properties.crossTenantAccessType | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo properties.crossTenantAccessType . |
properties.detectedDateTime | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo properties.detectedDateTime . |
properties.detectionTimingType | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo properties.detectionTimingType . |
properties.homeTenantId | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo properties.homeTenantId . |
properties.id | read_only_udm.metadata.product_log_id | El valor se asigna directamente desde el campo properties.id . |
properties.initiatedBy.user.displayName | read_only_udm.principal.user.user_display_name | El valor se asigna directamente desde el campo properties.initiatedBy.user.displayName . |
properties.initiatedBy.user.id | read_only_udm.principal.user.windows_sid | El valor se asigna directamente desde el campo properties.initiatedBy.user.id . |
properties.initiatedBy.user.ipAddress | read_only_udm.principal.ip | El valor se asigna directamente desde el campo properties.initiatedBy.user.ipAddress . |
properties.initiatedBy.user.ipAddress | read_only_udm.principal.asset.ip | El valor se asigna directamente desde el campo properties.initiatedBy.user.ipAddress . |
properties.initiatedBy.user.userPrincipalName | read_only_udm.principal.user.userid | El valor se asigna directamente desde el campo properties.initiatedBy.user.userPrincipalName si no coincide con un patrón de dirección de correo electrónico. |
properties.initiatedBy.user.userPrincipalName | read_only_udm.principal.user.email_addresses | El valor se asigna directamente desde el campo properties.initiatedBy.user.userPrincipalName si coincide con un patrón de dirección de correo electrónico. |
properties.ipAddress | read_only_udm.principal.ip | El valor se extrae del campo properties.ipAddress mediante un patrón grok para extraer la dirección IP. |
properties.ipAddress | read_only_udm.principal.asset.ip | El valor se extrae del campo properties.ipAddress mediante un patrón grok para extraer la dirección IP. |
properties.isGuest | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo properties.isGuest . |
properties.isDeleted | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo properties.isDeleted . |
properties.isProcessing | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo properties.isProcessing . |
properties.lastUpdatedDateTime | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo properties.lastUpdatedDateTime . |
properties.location.city | read_only_udm.principal.location.city | El valor se asigna directamente desde el campo properties.location.city . |
properties.location.countryOrRegion | read_only_udm.principal.location.country_or_region | El valor se asigna directamente desde el campo properties.location.countryOrRegion . |
properties.location.geoCoordinates.latitude | read_only_udm.principal.location.region_coordinates.latitude | El valor se asigna directamente desde el campo properties.location.geoCoordinates.latitude y se convierte en un número de coma flotante. |
properties.location.geoCoordinates.latitude | read_only_udm.principal.location.region_latitude | El valor se asigna directamente desde el campo properties.location.geoCoordinates.latitude y se convierte en un número de coma flotante. |
properties.location.geoCoordinates.longitude | read_only_udm.principal.location.region_coordinates.longitude | El valor se asigna directamente desde el campo properties.location.geoCoordinates.longitude y se convierte en un número de coma flotante. |
properties.location.geoCoordinates.longitude | read_only_udm.principal.location.region_longitude | El valor se asigna directamente desde el campo properties.location.geoCoordinates.longitude y se convierte en un número de coma flotante. |
properties.location.state | read_only_udm.principal.location.state | El valor se asigna directamente desde el campo properties.location.state . |
properties.networkLocationDetails.networkNames | read_only_udm.additional.fields.value.string_value | El valor se genera concatenando todos los valores de la matriz properties.networkLocationDetails.networkNames , separados por comas. |
properties.networkLocationDetails.networkType | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo properties.networkLocationDetails.networkType . |
properties.networkLocationDetails.networkType | read_only_udm.security_result.detection_fields.value | El valor se asigna directamente desde el campo properties.networkLocationDetails.networkType . |
properties.resourceServicePrincipalId | read_only_udm.target.resource.attribute.labels.value | El valor se asigna directamente desde el campo properties.resourceServicePrincipalId . |
properties.riskDetail | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo properties.riskDetail . |
properties.riskEventType | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo properties.riskEventType . |
properties.riskLastUpdatedDateTime | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo properties.riskLastUpdatedDateTime . |
properties.riskLevel | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo properties.riskLevel . |
properties.riskLevelDuringSignIn | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo properties.riskLevelDuringSignIn . |
properties.riskState | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo properties.riskState . |
properties.riskType | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo properties.riskType . |
properties.source | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo properties.source . |
properties.targetResources.0.id | read_only_udm.target.user.product_object_id | El valor se asigna directamente desde el campo properties.targetResources.0.id . |
properties.targetResources.modifiedProperties.0.newValue | read_only_udm.target.group.product_object_id | El valor se asigna directamente desde el campo properties.targetResources.modifiedProperties.0.newValue . |
properties.tokenIssuerType | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo properties.tokenIssuerType . |
properties.userAgent | read_only_udm.network.http.parsed_user_agent | El valor se asigna directamente desde el campo properties.userAgent y se convierte en un objeto de user-agent analizado. |
properties.userAgent | read_only_udm.network.http.user_agent | El valor se asigna directamente desde el campo properties.userAgent . |
properties.userId | read_only_udm.target.user.product_object_id | El valor se asigna directamente desde el campo properties.userId . |
properties.userPrincipalName | read_only_udm.target.user.userid | El valor se asigna directamente desde el campo properties.userPrincipalName si no coincide con un patrón de dirección de correo electrónico. |
properties.userPrincipalName | read_only_udm.target.user.email_addresses | El valor se asigna directamente desde el campo properties.userPrincipalName si coincide con un patrón de dirección de correo electrónico. |
result | read_only_udm.security_result.action | El valor se asigna a "ALLOW" si result es "success". |
result | read_only_udm.security_result.action_details | El valor se asigna directamente desde el campo result si result es "success". |
resultDescription | read_only_udm.security_result.description | El valor se asigna directamente desde el campo resultDescription . |
resultSignature | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo resultSignature . |
resultType | read_only_udm.security_result.action | El valor se asigna a "ALLOW" si resultType es "0". |
resultType | read_only_udm.security_result.rule_id | El valor se asigna directamente desde el campo resultType si no está vacío y no es "0". |
resultType | read_only_udm.security_result.summary | El valor se asigna a "Inicio de sesión correcto" si resultType es "0" y a "Inicio de sesión fallido" en caso contrario. |
resourceDisplayName | read_only_udm.target.application | El valor se asigna directamente desde el campo resourceDisplayName . |
resourceDisplayName | read_only_udm.target.resource.name | El valor se asigna directamente desde el campo resourceDisplayName . |
resourceId | read_only_udm.target.resource.id | El valor se asigna directamente desde el campo resourceId . |
resourceId | read_only_udm.target.resource.product_object_id | El valor se asigna directamente desde el campo resourceId . |
resourceServicePrincipalId | read_only_udm.target.resource.attribute.labels.value | El valor se asigna directamente desde el campo resourceServicePrincipalId . |
riskDetail | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo riskDetail . |
riskEventTypes | read_only_udm.additional.fields.value.string_value | El valor se extrae de la matriz riskEventTypes y se asigna a un valor de cadena de la matriz additional.fields . |
riskEventTypes | read_only_udm.additional.fields.value.list_value.values.string_value | El valor se asigna directamente desde cada elemento de la matriz riskEventTypes . |
riskEventTypes_v2 | read_only_udm.additional.fields.value.list_value.values.string_value | El valor se asigna directamente desde cada elemento de la matriz riskEventTypes_v2 . |
riskLevelAggregated | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo riskLevelAggregated . |
riskLevelDuringSignIn | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo riskLevelDuringSignIn . |
riskState | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo riskState . |
status.additionalDetails | read_only_udm.security_result.description | El valor se asigna directamente desde el campo status.additionalDetails . |
status.errorCode | read_only_udm.security_result.action | El valor se asigna a "ALLOW" si status.errorCode es "0". |
status.errorCode | read_only_udm.security_result.rule_id | El valor se asigna directamente desde el campo status.errorCode si no está vacío. |
status.errorCode | read_only_udm.security_result.summary | El valor se asigna a "Inicio de sesión correcto" si status.errorCode es "0" y a "Inicio de sesión fallido" en caso contrario. |
status.failureReason | read_only_udm.additional.fields.value.string_value | El valor se asigna directamente desde el campo status.failureReason . |
targetResources.displayName | read_only_udm.target.resource.name | El valor se asigna directamente desde el campo targetResources.displayName . |
targetResources.id | read_only_udm.target.resource.id | El valor se asigna directamente desde el campo targetResources.id . |
targetResources.id | read_only_udm.target.resource.product_object_id | El valor se asigna directamente desde el campo targetResources.id . |
targetResources.modifiedProperties.displayName | read_only_udm.target.resource.attribute.labels.key | El valor se asigna directamente desde el campo targetResources.modifiedProperties.displayName . |
targetResources.modifiedProperties.newValue | read_only_udm.target.resource.attribute.labels.value | El valor se asigna directamente desde el campo targetResources.modifiedProperties.newValue después de eliminar las comillas dobles. |
targetResources.modifiedProperties.oldValue | read_only_udm.target.resource.attribute.labels.value | El valor se asigna directamente desde el campo targetResources.modifiedProperties.oldValue . |
targetResources.type | read_only_udm.target.resource.type | El valor se asigna directamente desde el campo targetResources.type . |
targetResources.userPrincipalName | read_only_udm.target.user.user_display_name | El valor se asigna directamente desde el campo targetResources.userPrincipalName . |
tenantId | read_only_udm.metadata.product_deployment_id | El valor se asigna directamente desde el campo tenantId . |
Tiempo | read_only_udm.metadata.event_timestamp.seconds | El valor se extrae del campo time y se convierte en segundos transcurridos desde el inicio del registro de tiempo. |
userAgent | read_only_udm.network.http.parsed_user_agent | El valor se asigna directamente desde el campo userAgent y se convierte en un objeto de user-agent analizado. |
userAgent | read_only_udm.network.http.user_agent | El valor se asigna directamente desde el campo userAgent . |
userDisplayName | read_only_udm.target.user.user_display_name | El valor se asigna directamente desde el campo userDisplayName si es diferente de userId y no coincide con un patrón de dirección de correo. |
userPrincipalName | read_only_udm.principal.administrative_domain | La parte del dominio de la dirección de correo se extrae del campo userPrincipalName mediante un patrón grok y se asigna al campo principal.administrative_domain . |
userPrincipalName | read_only_udm.target.user.email_addresses | El valor se asigna directamente desde el campo userPrincipalName si coincide con un patrón de dirección de correo electrónico. |
userPrincipalName | read_only_udm.target.user.userid | El valor se asigna directamente desde el campo userPrincipalName si no coincide con un patrón de dirección de correo electrónico. |
userId | read_only_udm.target.user.product_object_id | El valor se asigna directamente desde el campo userId . |
read_only_udm.metadata.log_type | AZURE_AD | Este valor está codificado en el analizador. |
read_only_udm.metadata.vendor_name | Microsoft | Este valor está codificado en el analizador. |
read_only_udm.metadata.product_name | Azure AD | Este valor está codificado en el analizador. |
read_only_udm.extensions.auth.type | SSO | Este valor está codificado en el analizador. |
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.