Raccogliere i log di Microsoft Azure AD

Supportato in:

Questo documento descrive come raccogliere i log di Microsoft Azure Active Directory (AD) impostando un feed di Google Security Operations.

Azure Active Directory (AZURE_AD) ora si chiama Microsoft Entra ID. Gli audit log di Azure AD (AZURE_AD_AUDIT) ora sono audit log di Microsoft Entra ID.

Per ulteriori informazioni, consulta Importazione dei dati in Google Security Operations.

Un'etichetta di importazione identifica l'analizzatore sintattico che normalizza i dati dei log non elaborati in formato UDM strutturato.

Prima di iniziare

Per completare le attività in questa pagina, assicurati di disporre di quanto segue:

  • Un abbonamento Azure a cui puoi accedere.
  • Un ruolo di amministratore globale o di amministratore di Azure AD.
  • Un tenant Azure AD in Azure.

Configurare Azure AD

  1. Accedi al portale Azure.
  2. Vai a Home > Registrazione app, seleziona un'applicazione registrata o registra un'applicazione se non ne hai ancora creata una.
  3. Per registrare un'applicazione, nella sezione Registrazione app, fai clic su Nuova registrazione.
  4. Nel campo Nome, fornisci il nome visualizzato per l'applicazione.
  5. Nella sezione Tipi di account supportati, seleziona l'opzione richiesta per specificare chi può utilizzare l'applicazione o accedere all'API.
  6. Fai clic su Registrati.
  7. Vai alla pagina Panoramica e copia l'ID applicazione (client) e l'ID directory (tenant), necessari per configurare il feed di Google Security Operations.
  8. Fai clic su Autorizzazioni API.
  9. Fai clic su Aggiungi un'autorizzazione e seleziona Microsoft Graph nel nuovo riquadro.
  10. Fai clic su Autorizzazioni applicazione.
  11. Seleziona le autorizzazioni AuditLog.Read.All, Directory.Read.All e SecurityEvents.Read.All. Assicurati che le autorizzazioni siano Autorizzazioni app e non Autorizzazioni delegate.
  12. Fai clic su Concedi il consenso amministratore per la directory predefinita. Le applicazioni sono autorizzate a chiamare le API quando gli utenti o gli amministratori concedono le autorizzazioni nell'ambito della procedura di consenso.
  13. Vai a Impostazioni > Gestisci.
  14. Fai clic su Certificati e secret.
  15. Fai clic su Nuovo segreto client. Nel campo Valore viene visualizzato il client secret.
  16. Copia il valore del client secret. Il valore viene visualizzato solo al momento della creazione ed è necessario per la registrazione dell'app Azure e per configurare il feed di Google Security Operations.

Configura un feed in Google Security Operations per importare i log di Azure AD

  1. Seleziona Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo.
  3. Inserisci un nome univoco per il nome del feed.
  4. Seleziona API di terze parti come Tipo di origine.
  5. Seleziona Azure AD come Tipo di log.
  6. Fai clic su Avanti.
  7. Configura i seguenti parametri di input obbligatori:
    • ID client OAuth: specifica l'ID client ottenuto in precedenza.
    • Client secret OAuth: specifica il client secret ottenuto in precedenza.
    • ID tenant: specifica l'ID tenant ottenuto in precedenza.
  8. Fai clic su Avanti e poi su Invia.

Per saperne di più sui feed di Google Security Operations, consulta la documentazione dei feed di Google Security Operations. Per informazioni sui requisiti per ciascun tipo di feed, consulta Configurazione dei feed per tipo. Se riscontri problemi durante la creazione dei feed, contatta l'assistenza di Google Security Operations.

Riferimento alla mappatura dei campi

Questo codice dell'analizzatore sintattico trasforma i log non elaborati di Azure AD in formato JSON in un modello dei dati unificato (UDM). Innanzitutto, normalizza i dati rimuovendo i campi non necessari e poi estrae le informazioni pertinenti come dettagli utente, timestamp e specifiche degli eventi, mappandoli ai campi UDM corrispondenti per una rappresentazione e un'analisi coerenti.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
activityDateTime read_only_udm.metadata.event_timestamp.seconds Il valore viene estratto dal campo activityDateTime e convertito in secondi dall'epoca.
activityDisplayName read_only_udm.security_result.summary Il valore viene mappato direttamente dal campo activityDisplayName.
additionalDetails.0.value read_only_udm.network.http.user_agent Il valore viene mappato direttamente dal campo additionalDetails.0.value.
additionalDetails.1.key read_only_udm.target.resource.attribute.labels.key Il valore viene mappato direttamente dal campo additionalDetails.1.key.
additionalDetails.1.value read_only_udm.target.resource.attribute.labels.value Il valore viene mappato direttamente dal campo additionalDetails.1.value.
am_category read_only_udm.metadata.description Il valore viene mappato direttamente dal campo am_category.
am_tenantId read_only_udm.metadata.product_deployment_id Il valore viene mappato direttamente dal campo am_tenantId.
appDisplayName read_only_udm.target.application Il valore viene mappato direttamente dal campo appDisplayName. Se appDisplayName è vuoto, il valore viene preso da resourceDisplayName.
appId read_only_udm.target.resource.attribute.labels.value Il valore viene mappato direttamente dal campo appId.
appliedConditionalAccessPolicies.displayName read_only_udm.about.user.user_display_name Il valore viene mappato direttamente dal campo appliedConditionalAccessPolicies.displayName.
appliedConditionalAccessPolicies.enforcedGrantControls read_only_udm.security_result.rule_labels.value Il valore viene mappato direttamente dal campo appliedConditionalAccessPolicies.enforcedGrantControls.
appliedConditionalAccessPolicies.enforcedSessionControls read_only_udm.security_result.rule_labels.value Il valore viene mappato direttamente dal campo appliedConditionalAccessPolicies.enforcedSessionControls.
appliedConditionalAccessPolicies.id read_only_udm.about.user.userid Il valore viene mappato direttamente dal campo appliedConditionalAccessPolicies.id.
appliedConditionalAccessPolicies.result read_only_udm.about.labels.value Il valore viene mappato direttamente dal campo appliedConditionalAccessPolicies.result.
authenticationDetails.authenticationMethod read_only_udm.security_result.detection_fields.value Il valore viene mappato direttamente dal campo authenticationDetails.authenticationMethod.
authenticationDetails.authenticationMethodDetail read_only_udm.security_result.detection_fields.value Il valore viene mappato direttamente dal campo authenticationDetails.authenticationMethodDetail.
authenticationDetails.authenticationStepDateTime read_only_udm.security_result.detection_fields.value Il valore viene mappato direttamente dal campo authenticationDetails.authenticationStepDateTime.
authenticationDetails.authenticationStepRequirement read_only_udm.security_result.detection_fields.value Il valore viene mappato direttamente dal campo authenticationDetails.authenticationStepRequirement.
authenticationDetails.authenticationStepResultDetail read_only_udm.security_result.detection_fields.value Il valore viene mappato direttamente dal campo authenticationDetails.authenticationStepResultDetail.
authenticationProcessingDetails.key read_only_udm.additional.fields.key Il valore viene mappato direttamente dal campo authenticationProcessingDetails.key, con il prefisso "authenticationProcessingDetails - ".
authenticationProcessingDetails.value read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo authenticationProcessingDetails.value.
callerIpAddress read_only_udm.principal.ip Il valore viene mappato direttamente dal campo callerIpAddress.
callerIpAddress read_only_udm.principal.asset.ip Il valore viene mappato direttamente dal campo callerIpAddress.
categoria read_only_udm.metadata.description Il valore viene mappato direttamente dal campo category.
clientAppUsed read_only_udm.principal.application Il valore viene mappato direttamente dal campo clientAppUsed.
conditionalAccessStatus read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo conditionalAccessStatus.
correlationId read_only_udm.network.session_id Il valore viene mappato direttamente dal campo correlationId.
correlationId read_only_udm.security_result.detection_fields.value Il valore viene mappato direttamente dal campo correlationId.
createdDateTime read_only_udm.metadata.event_timestamp.seconds Il valore viene estratto dal campo createdDateTime e convertito in secondi dall'epoca.
deviceDetail.browser read_only_udm.network.http.user_agent Il valore viene mappato direttamente dal campo deviceDetail.browser.
deviceDetail.deviceId read_only_udm.principal.asset.asset_id Il valore viene mappato direttamente dal campo deviceDetail.deviceId, preceduto dal prefisso "ID dispositivo:".
deviceDetail.deviceId read_only_udm.principal.asset_id Il valore viene mappato direttamente dal campo deviceDetail.deviceId, preceduto dal prefisso "ID dispositivo:".
deviceDetail.displayName read_only_udm.principal.asset.hostname Il valore viene mappato direttamente dal campo deviceDetail.displayName.
deviceDetail.isCompliant read_only_udm.principal.asset.attribute.labels.value Il valore viene mappato direttamente dal campo deviceDetail.isCompliant.
deviceDetail.isManaged read_only_udm.principal.asset.attribute.labels.value Il valore viene mappato direttamente dal campo deviceDetail.isManaged.
deviceDetail.operatingSystem read_only_udm.principal.platform_version Il valore viene mappato direttamente dal campo deviceDetail.operatingSystem.
deviceDetail.trustType read_only_udm.principal.asset.attribute.labels.value Il valore viene mappato direttamente dal campo deviceDetail.trustType.
durationMs read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo durationMs.
errorCode read_only_udm.security_result.rule_id Il valore viene mappato direttamente dal campo errorCode.
identity read_only_udm.target.user.user_display_name Il valore viene mappato direttamente dal campo identity se è diverso da userId e non corrisponde a un pattern di indirizzo email.
initiatedBy.user.displayName read_only_udm.principal.user.user_display_name Il valore viene mappato direttamente dal campo initiatedBy.user.displayName.
initiatedBy.user.id read_only_udm.principal.user.userid Il valore viene mappato direttamente dal campo initiatedBy.user.id.
initiatedBy.user.ipAddress read_only_udm.principal.ip Il valore viene mappato direttamente dal campo initiatedBy.user.ipAddress.
initiatedBy.user.ipAddress read_only_udm.principal.asset.ip Il valore viene mappato direttamente dal campo initiatedBy.user.ipAddress.
initiatedBy.user.userPrincipalName read_only_udm.principal.user.email_addresses Il valore viene mappato direttamente dal campo initiatedBy.user.userPrincipalName se corrisponde a un pattern di indirizzo email.
ipAddress read_only_udm.principal.ip Il valore viene estratto dal campo ipAddress utilizzando un pattern grok per estrarre l'indirizzo IP.
ipAddress read_only_udm.principal.asset.ip Il valore viene estratto dal campo ipAddress utilizzando un pattern grok per estrarre l'indirizzo IP.
isInteractive read_only_udm.extensions.auth.mechanism Il valore viene mappato a "INTERACTIVE" se isInteractive è "true", altrimenti viene mappato a "MECHANISM_OTHER".
isInteractive read_only_udm.security_result.detection_fields.value Il valore viene mappato direttamente dal campo isInteractive.
livello read_only_udm.security_result.severity Il valore viene mappato dal campo level in base alla seguente logica: * "Informazioni", "Informazioni", "0", "4" sono mappati a "INFORMATIONAL". * "Avviso", "1", "3" sono mappati a "MEDIO". * "Error", "2" sono mappati a "ERROR". * "Critica", "CRITICAL", "critical" sono mappati a "CRITICAL".
livello read_only_udm.security_result.severity_details Il valore viene mappato direttamente dal campo level.
location.city read_only_udm.principal.location.city Il valore viene mappato direttamente dal campo location.city.
location.countryOrRegion read_only_udm.principal.location.country_or_region Il valore viene mappato direttamente dal campo location.countryOrRegion.
location.geoCoordinates.latitude read_only_udm.principal.location.region_coordinates.latitude Il valore viene mappato direttamente dal campo location.geoCoordinates.latitude e convertito in un numero con virgola mobile.
location.geoCoordinates.latitude read_only_udm.principal.location.region_latitude Il valore viene mappato direttamente dal campo location.geoCoordinates.latitude e convertito in un valore float.
location.geoCoordinates.longitude read_only_udm.principal.location.region_coordinates.longitude Il valore viene mappato direttamente dal campo location.geoCoordinates.longitude e convertito in un valore float.
location.geoCoordinates.longitude read_only_udm.principal.location.region_longitude Il valore viene mappato direttamente dal campo location.geoCoordinates.longitude e convertito in un valore float.
location.state read_only_udm.principal.location.state Il valore viene mappato direttamente dal campo location.state.
networkLocationDetails.networkNames read_only_udm.additional.fields.value.string_value Il valore viene generato concatenando tutti i valori dell'array networkLocationDetails.networkNames, separati da virgole.
networkLocationDetails.networkType read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo networkLocationDetails.networkType.
networkLocationDetails.networkType read_only_udm.security_result.detection_fields.value Il valore viene mappato direttamente dal campo networkLocationDetails.networkType.
operationName read_only_udm.metadata.event_type Il valore viene mappato a "USER_LOGIN" se operationName è "Attività di accesso", a "USER_CHANGE_PERMISSIONS" se operationName è "Aggiungi membro al gruppo" e a "USER_RESOURCE_UPDATE_PERMISSIONS" se operationName è "Aggiungi assegnazione del ruolo dell'app all'entità principale del servizio". In caso contrario, il valore viene determinato in base alla presenza di altri campi: * "USER_LOGIN" se has_target_user è "true". * "USER_UNCATEGORIZED" se has_principal_user è "true". * "STATUS_UPDATE" se has_principal è "true". * "GENERIC_EVENT" in caso contrario.
operationType read_only_udm.security_result.action_details Il valore viene mappato direttamente dal campo operationType.
properties.activity read_only_udm.security_result.summary Il valore viene mappato direttamente dal campo properties.activity.
properties.activityDateTime read_only_udm.metadata.event_timestamp.seconds Il valore viene estratto dal campo properties.activityDateTime e convertito in secondi dall'epoca.
properties.additionalInfo read_only_udm.network.http.user_agent Il valore viene estratto dal campo properties.additionalInfo analizzando la stringa JSON ed estraendo il valore corrispondente alla chiave "userAgent".
properties.additionalInfo read_only_udm.target.url Il valore viene estratto dal campo properties.additionalInfo analizzando la stringa JSON ed estraendo il valore corrispondente alla chiave "alertUrl".
properties.appId read_only_udm.target.resource.attribute.labels.value Il valore viene mappato direttamente dal campo properties.appId.
properties.appDisplayName read_only_udm.target.application Il valore viene mappato direttamente dal campo properties.appDisplayName.
properties.appliedConditionalAccessPolicies.displayName read_only_udm.security_result.rule_name Il valore viene mappato direttamente dal campo properties.appliedConditionalAccessPolicies.displayName.
properties.appliedConditionalAccessPolicies.id read_only_udm.security_result.rule_id Il valore viene mappato direttamente dal campo properties.appliedConditionalAccessPolicies.id.
properties.appliedConditionalAccessPolicies.result read_only_udm.security_result.detection_fields.value Il valore viene mappato direttamente dal campo properties.appliedConditionalAccessPolicies.result.
properties.authenticationDetails.authenticationMethod read_only_udm.security_result.detection_fields.value Il valore viene mappato direttamente dal campo properties.authenticationDetails.authenticationMethod.
properties.authenticationDetails.authenticationMethodDetail read_only_udm.security_result.detection_fields.value Il valore viene mappato direttamente dal campo properties.authenticationDetails.authenticationMethodDetail.
properties.authenticationDetails.authenticationStepDateTime read_only_udm.security_result.detection_fields.value Il valore viene mappato direttamente dal campo properties.authenticationDetails.authenticationStepDateTime.
properties.authenticationDetails.authenticationStepRequirement read_only_udm.security_result.detection_fields.value Il valore viene mappato direttamente dal campo properties.authenticationDetails.authenticationStepRequirement.
properties.authenticationDetails.authenticationStepResultDetail read_only_udm.security_result.detection_fields.value Il valore viene mappato direttamente dal campo properties.authenticationDetails.authenticationStepResultDetail.
properties.authenticationProcessingDetails.key read_only_udm.additional.fields.key Il valore viene mappato direttamente dal campo properties.authenticationProcessingDetails.key, con il prefisso "properties authenticationProcessingDetails - ".
properties.authenticationProcessingDetails.value read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo properties.authenticationProcessingDetails.value.
properties.authenticationRequirement read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo properties.authenticationRequirement.
properties.authenticationRequirementPolicies.detail read_only_udm.security_result.detection_fields.value Il valore viene mappato direttamente dal campo properties.authenticationRequirementPolicies.detail.
properties.authenticationRequirementPolicies.requirementProvider read_only_udm.security_result.detection_fields.value Il valore viene mappato direttamente dal campo properties.authenticationRequirementPolicies.requirementProvider.
properties.clientAppUsed read_only_udm.principal.application Il valore viene mappato direttamente dal campo properties.clientAppUsed.
properties.conditionalAccessStatus read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo properties.conditionalAccessStatus.
properties.createdDateTime read_only_udm.metadata.event_timestamp.seconds Il valore viene estratto dal campo properties.createdDateTime e convertito in secondi dall'epoca.
properties.crossTenantAccessType read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo properties.crossTenantAccessType.
properties.detectedDateTime read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo properties.detectedDateTime.
properties.detectionTimingType read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo properties.detectionTimingType.
properties.homeTenantId read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo properties.homeTenantId.
properties.id read_only_udm.metadata.product_log_id Il valore viene mappato direttamente dal campo properties.id.
properties.initiatedBy.user.displayName read_only_udm.principal.user.user_display_name Il valore viene mappato direttamente dal campo properties.initiatedBy.user.displayName.
properties.initiatedBy.user.id read_only_udm.principal.user.windows_sid Il valore viene mappato direttamente dal campo properties.initiatedBy.user.id.
properties.initiatedBy.user.ipAddress read_only_udm.principal.ip Il valore viene mappato direttamente dal campo properties.initiatedBy.user.ipAddress.
properties.initiatedBy.user.ipAddress read_only_udm.principal.asset.ip Il valore viene mappato direttamente dal campo properties.initiatedBy.user.ipAddress.
properties.initiatedBy.user.userPrincipalName read_only_udm.principal.user.userid Il valore viene mappato direttamente dal campo properties.initiatedBy.user.userPrincipalName se non corrisponde a un pattern di indirizzo email.
properties.initiatedBy.user.userPrincipalName read_only_udm.principal.user.email_addresses Il valore viene mappato direttamente dal campo properties.initiatedBy.user.userPrincipalName se corrisponde a un pattern di indirizzo email.
properties.ipAddress read_only_udm.principal.ip Il valore viene estratto dal campo properties.ipAddress utilizzando un pattern grok per estrarre l'indirizzo IP.
properties.ipAddress read_only_udm.principal.asset.ip Il valore viene estratto dal campo properties.ipAddress utilizzando un pattern grok per estrarre l'indirizzo IP.
properties.isGuest read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo properties.isGuest.
properties.isDeleted read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo properties.isDeleted.
properties.isProcessing read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo properties.isProcessing.
properties.lastUpdatedDateTime read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo properties.lastUpdatedDateTime.
properties.location.city read_only_udm.principal.location.city Il valore viene mappato direttamente dal campo properties.location.city.
properties.location.countryOrRegion read_only_udm.principal.location.country_or_region Il valore viene mappato direttamente dal campo properties.location.countryOrRegion.
properties.location.geoCoordinates.latitude read_only_udm.principal.location.region_coordinates.latitude Il valore viene mappato direttamente dal campo properties.location.geoCoordinates.latitude e convertito in un numero con virgola mobile.
properties.location.geoCoordinates.latitude read_only_udm.principal.location.region_latitude Il valore viene mappato direttamente dal campo properties.location.geoCoordinates.latitude e convertito in un valore float.
properties.location.geoCoordinates.longitude read_only_udm.principal.location.region_coordinates.longitude Il valore viene mappato direttamente dal campo properties.location.geoCoordinates.longitude e convertito in un numero con virgola mobile.
properties.location.geoCoordinates.longitude read_only_udm.principal.location.region_longitude Il valore viene mappato direttamente dal campo properties.location.geoCoordinates.longitude e convertito in un numero con virgola mobile.
properties.location.state read_only_udm.principal.location.state Il valore viene mappato direttamente dal campo properties.location.state.
properties.networkLocationDetails.networkNames read_only_udm.additional.fields.value.string_value Il valore viene generato concatenando tutti i valori dell'array properties.networkLocationDetails.networkNames, separati da virgole.
properties.networkLocationDetails.networkType read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo properties.networkLocationDetails.networkType.
properties.networkLocationDetails.networkType read_only_udm.security_result.detection_fields.value Il valore viene mappato direttamente dal campo properties.networkLocationDetails.networkType.
properties.resourceServicePrincipalId read_only_udm.target.resource.attribute.labels.value Il valore viene mappato direttamente dal campo properties.resourceServicePrincipalId.
properties.riskDetail read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo properties.riskDetail.
properties.riskEventType read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo properties.riskEventType.
properties.riskLastUpdatedDateTime read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo properties.riskLastUpdatedDateTime.
properties.riskLevel read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo properties.riskLevel.
properties.riskLevelDuringSignIn read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo properties.riskLevelDuringSignIn.
properties.riskState read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo properties.riskState.
properties.riskType read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo properties.riskType.
properties.source read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo properties.source.
properties.targetResources.0.id read_only_udm.target.user.product_object_id Il valore viene mappato direttamente dal campo properties.targetResources.0.id.
properties.targetResources.modifiedProperties.0.newValue read_only_udm.target.group.product_object_id Il valore viene mappato direttamente dal campo properties.targetResources.modifiedProperties.0.newValue.
properties.tokenIssuerType read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo properties.tokenIssuerType.
properties.userAgent read_only_udm.network.http.parsed_user_agent Il valore viene mappato direttamente dal campo properties.userAgent e convertito in un oggetto user agent analizzato.
properties.userAgent read_only_udm.network.http.user_agent Il valore viene mappato direttamente dal campo properties.userAgent.
properties.userId read_only_udm.target.user.product_object_id Il valore viene mappato direttamente dal campo properties.userId.
properties.userPrincipalName read_only_udm.target.user.userid Il valore viene mappato direttamente dal campo properties.userPrincipalName se non corrisponde a un pattern di indirizzo email.
properties.userPrincipalName read_only_udm.target.user.email_addresses Il valore viene mappato direttamente dal campo properties.userPrincipalName se corrisponde a un pattern di indirizzo email.
risultato read_only_udm.security_result.action Il valore viene mappato a "ALLOW" se result è "success".
risultato read_only_udm.security_result.action_details Il valore viene mappato direttamente dal campo result se result è "success".
resultDescription read_only_udm.security_result.description Il valore viene mappato direttamente dal campo resultDescription.
resultSignature read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo resultSignature.
resultType read_only_udm.security_result.action Il valore viene mappato a "ALLOW" se resultType è "0".
resultType read_only_udm.security_result.rule_id Il valore viene mappato direttamente dal campo resultType se non è vuoto e non è "0".
resultType read_only_udm.security_result.summary Il valore viene mappato a "Accesso riuscito" se resultType è "0" e a "Accesso non riuscito" in caso contrario.
resourceDisplayName read_only_udm.target.application Il valore viene mappato direttamente dal campo resourceDisplayName.
resourceDisplayName read_only_udm.target.resource.name Il valore viene mappato direttamente dal campo resourceDisplayName.
resourceId read_only_udm.target.resource.id Il valore viene mappato direttamente dal campo resourceId.
resourceId read_only_udm.target.resource.product_object_id Il valore viene mappato direttamente dal campo resourceId.
resourceServicePrincipalId read_only_udm.target.resource.attribute.labels.value Il valore viene mappato direttamente dal campo resourceServicePrincipalId.
riskDetail read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo riskDetail.
riskEventTypes read_only_udm.additional.fields.value.string_value Il valore viene estratto dall'array riskEventTypes e mappato a un valore stringa nell'array additional.fields.
riskEventTypes read_only_udm.additional.fields.value.list_value.values.string_value Il valore viene mappato direttamente da ogni elemento dell'array riskEventTypes.
riskEventTypes_v2 read_only_udm.additional.fields.value.list_value.values.string_value Il valore viene mappato direttamente da ogni elemento dell'array riskEventTypes_v2.
riskLevelAggregated read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo riskLevelAggregated.
riskLevelDuringSignIn read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo riskLevelDuringSignIn.
riskState read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo riskState.
status.additionalDetails read_only_udm.security_result.description Il valore viene mappato direttamente dal campo status.additionalDetails.
status.errorCode read_only_udm.security_result.action Il valore viene mappato a "ALLOW" se status.errorCode è "0".
status.errorCode read_only_udm.security_result.rule_id Il valore viene mappato direttamente dal campo status.errorCode, se non è vuoto.
status.errorCode read_only_udm.security_result.summary Il valore viene mappato a "Accesso riuscito" se status.errorCode è "0" e a "Accesso non riuscito" in caso contrario.
status.failureReason read_only_udm.additional.fields.value.string_value Il valore viene mappato direttamente dal campo status.failureReason.
targetResources.displayName read_only_udm.target.resource.name Il valore viene mappato direttamente dal campo targetResources.displayName.
targetResources.id read_only_udm.target.resource.id Il valore viene mappato direttamente dal campo targetResources.id.
targetResources.id read_only_udm.target.resource.product_object_id Il valore viene mappato direttamente dal campo targetResources.id.
targetResources.modifiedProperties.displayName read_only_udm.target.resource.attribute.labels.key Il valore viene mappato direttamente dal campo targetResources.modifiedProperties.displayName.
targetResources.modifiedProperties.newValue read_only_udm.target.resource.attribute.labels.value Il valore viene mappato direttamente dal campo targetResources.modifiedProperties.newValue dopo aver rimosso le virgolette doppie.
targetResources.modifiedProperties.oldValue read_only_udm.target.resource.attribute.labels.value Il valore viene mappato direttamente dal campo targetResources.modifiedProperties.oldValue.
targetResources.type read_only_udm.target.resource.type Il valore viene mappato direttamente dal campo targetResources.type.
targetResources.userPrincipalName read_only_udm.target.user.user_display_name Il valore viene mappato direttamente dal campo targetResources.userPrincipalName.
tenantId read_only_udm.metadata.product_deployment_id Il valore viene mappato direttamente dal campo tenantId.
tempo read_only_udm.metadata.event_timestamp.seconds Il valore viene estratto dal campo time e convertito in secondi dall'epoca.
userAgent read_only_udm.network.http.parsed_user_agent Il valore viene mappato direttamente dal campo userAgent e convertito in un oggetto user agent analizzato.
userAgent read_only_udm.network.http.user_agent Il valore viene mappato direttamente dal campo userAgent.
userDisplayName read_only_udm.target.user.user_display_name Il valore viene mappato direttamente dal campo userDisplayName se è diverso da userId e non corrisponde a un pattern di indirizzo email.
userPrincipalName read_only_udm.principal.administrative_domain La parte di dominio dell'indirizzo email viene estratta dal campo userPrincipalName utilizzando un pattern Grok e mappata al campo principal.administrative_domain.
userPrincipalName read_only_udm.target.user.email_addresses Il valore viene mappato direttamente dal campo userPrincipalName se corrisponde a un pattern di indirizzo email.
userPrincipalName read_only_udm.target.user.userid Il valore viene mappato direttamente dal campo userPrincipalName se non corrisponde a un pattern di indirizzo email.
userId read_only_udm.target.user.product_object_id Il valore viene mappato direttamente dal campo userId.
read_only_udm.metadata.log_type AZURE_AD Questo valore è hardcoded nel parser.
read_only_udm.metadata.vendor_name Microsoft Questo valore è hardcoded nel parser.
read_only_udm.metadata.product_name Azure AD Questo valore è hardcoded nel parser.
read_only_udm.extensions.auth.type SSO Questo valore è hardcoded nel parser.

Modifiche

2024-07-05

  • "isInteractive" è stato mappato a "security_result.detection_fields".

2024-04-02

  • "properties.createdDateTime" è stato mappato a "metadata.event_timestamp".
  • "properties.resourceServicePrincipalId" e "resourceServicePrincipalId" sono stati mappati a "target.resource.attribute.labels".
  • "properties.authenticationProcessingDetails", "authenticationProcessingDetails" e "properties.networkLocationDetails" sono stati mappati a "additional.fields".
  • "properties.userAgent" è stato mappato a "network.http.user_agent" e "network.http.parsed_user_agent".
  • "properties.authenticationRequirement" è stato mappato a "additional.fields".

2024-06-03

  • È stata modificata la mappatura di "policies.displayName" da "about.user.user_display_name" a "security_result.rule_name".
  • È stata modificata la mappatura di "policies.id" da "about.user.userid" a "security_result.rule_id".
  • È stata modificata la mappatura di "policies.result" da "about.labels" a "security_result.detection_fields".

2024-05-29

  • Quando "status.errorCode" è "0", imposta "security_result.action" su "ALLOW".

2024-05-13

Correzione di bug:

  • "userPrincipalName" è stato mappato a "target.user.userid".

2024-05-10

  • Sono stati mappati "networkLocationDetails.n.networkNames", "properties.networkLocationDetails.n.networkNames", "networkLocationDetails.n.networkType" e "properties.networkLocationDetails.n.networkType" a "additional.fields".
  • "properties.userAgent" e "userAgent" sono stati mappati a "network.http.user_agent" e "network.http.parsed_user_agent".

2024-05-03

Correzione di bug:

  • È stato aggiunto il controllo "on_error" prima della mappatura di "target.modifiedProperties.n.newValue".
  • Sono stati mappati "target.modifiedProperties.n.oldValue" e "target.modifiedProperties.n.displayName" a "target.resource.attribute.labels".
  • "activityDisplayName" è stato mappato a "security_result.summary".

2024-04-30

  • "properties.authenticationDetails", "properties.networkLocationDetails", "properties.authenticationRequirementPolicies", "networkLocationDetails" e "authenticationRequirementPolicies" sono stati mappati a "security_result.detection_fields".

2024-04-02

  • "properties.authenticationRequirement" è stato mappato a "additional.fields".

2024-04-02

  • "authenticationRequirement" è stato mappato a "additional.fields".

2024-02-26

  • "appliedConditionalAccessPolicies" è stato mappato a "security_result".
  • "isInteractive" è stato mappato a "extensions.auth.mechanism".
  • "location.geoCoordinates.altitude" è stato mappato a "additional.fields".

2024-02-09

  • Sono stati mappati "authenticationDetails.authenticationMethod", "authenticationDetails.authenticationMethodDetail", "authenticationDetails.authenticationStepResultDetail", "authenticationDetails.authenticationStepDateTime" e "authenticationDetails.authenticationStepRequirement" a "security_result.detection_fields".
  • "authenticationDetails.succeeded" è stato mappato a "security_result.action".
  • "status.additionalDetails" è stato mappato a "security_result.description".

2024-01-11

  • "correlationId" è stato mappato a "security_result.detection_fields".

2023-11-20

  • "tenantId" è stato mappato a "metadata.product_deployment_id".
  • "Livello" è stato mappato a "security_result.severity_details" e "security_result.severity".
  • "properties.userDisplayName" è stato mappato a "target.user.user_display_name".
  • "identity" è stato mappato a "target.user.user_display_name".
  • "properties.activityDateTime" è stato mappato a "metadata.event_timestamp".
  • "properties.activity" è stato mappato a "security_result.summary".
  • "resultSignature", "properties.riskLevel", "properties.isGuest", "properties.isDeleted", "properties.isProcessing",
  • "properties.riskLastUpdatedDateTime", "properties.riskType", "properties.riskEventType", "properties.riskState", "properties.riskDetail", "properties.source", "properties.detectionTimingType"
  • "properties.detectedDateTime", "properties.lastUpdatedDateTime", "properties.tokenIssuerType", "properties.homeTenantId", "properties.userType", "properties.crossTenantAccessType", "durationMs" in "additional.fields".
  • "resourceId" è stato mappato a "target.resource.product_object_id".
  • Sono stati mappati "properties.location.geoCoordinates.longitude" e "location.geoCoordinates.longitude" a "principal.location.region_coordinates.longitude".
  • "properties.location.geoCoordinates.latitude" e "location.geoCoordinates.latitude" sono stati mappati a "principal.location.region_coordinates.latitude".

2023-07-12

  • Sono stati mappati "deviceDetail.isCompliant", "deviceDetail.isManaged", "deviceDetail.trustType" a "principal.asset.attribute.labels".
  • "deviceDetail.deviceId" è stato mappato a "principal.asset.asset_id".
  • "deviceDetail.browser" è stato mappato a "network.http.user_agent".
  • "deviceDetail.operatingSystem" è stato mappato a "principal.platform_version".
  • "status.failureReason" è stato mappato a "additional.fields".
  • "status.errorCode" è stato mappato a "security_result.rule_id".
  • "deviceDetail.displayName" è stato mappato a "principal.asset.hardware".

2023-03-14

  • "browser" è stato mappato a "principal.resource.attribute.labels".
  • "isCompliant", "isManaged" e "trustType" sono stati mappati a "principal.asset.attribute.labels".
  • È stato mappato il dominio "domain" da "userPrincipalName" a "principal.administrative_domain".

2022-12-16

  • È stato aggiunto il controllo condizionale per il campo "initiatedBy.user.userPrincipalName" e mappato a "principal.user.email_addresses".

2022-10-28

  • "additionalDetails.0.value" è stato mappato a "network.http.user_agent".
  • "additionalDetails.1.value" è stato mappato a "target.resource.attribute.labels".
  • "Id" mappato a "metadata.product_log_id".
  • "initiatedBy.user.id" è stato mappato a "principal.user.userid".
  • "initiatedBy.user.displayName" è stato mappato a "principal.user.user_display_name".
  • "initiatedBy.user.ipAddress" è stato mappato a "principal.ip".
  • "initiatedBy.user.userPrincipalName" è stato mappato a "principal.user.email_addresses".
  • "operationType" è stato mappato a "security_result.action_details".
  • "target.displayName" è stato mappato a "target.resource.name".
  • "target.id" è stato mappato a "target.resource.id".
  • "target.type" è stato mappato a "target.resource.type".
  • "field.newValue" è stato mappato a "target.resource.product_object_id" se field.displayName è "AppRole.Id", altrimenti "field.newValue" è stato mappato a "target.resource.attribute.labels".
  • È stata aggiunta la verifica di errorCode.
  • "loggedByService" è stato mappato a "target.application".
  • "activityDisplayName" è stato mappato a "metadata.product_event_type".
  • "metadata.event_type" è stato mappato a "USER_RESOURCE_UPDATE_PERMISSIONS", dove "activityDisplayName" è "Aggiungi assegnazione del ruolo dell'app all'entità di servizio".

2022-08-25

  • Se "properties.initiatedBy.user.userPrincipalName" corrisponde a "pattern regex email", viene mappato a "principal.user.email_addresses", altrimenti a "principal.user.userid".
  • Se "properties.userPrincipalName" o "userPrincipalName" corrisponde a "pattern regex email", viene mappato a "target.user.email_addresses", altrimenti a "target.user.userid".

2022-08-11

  • È stato rimosso il tag di interruzione "TAG_MALFORMED_ENCODING".
  • È stato aggiunto "event_type" "GENERIC_EVENT".

2022-05-29

  • Miglioramento: è stato modificato il ciclo for per il campo "riskEventTypes_v2" mappato a "additional.fields".
  • È stato mappato il campo "livello" a "security_result.severity_details".
  • È stato mappato il campo "properties.result" a "security_result.action_details".

2022-04-20

  • Correzione di bug: analisi dei log con evento "appDisplayName": "NotApplicable".
  • È stato modificato il ciclo for per il campo "riskEventTypes".