Raccogliere i log di Microsoft Azure AD

Supportato in:

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

Azure Active Directory (AZURE_AD) ora si chiama Microsoft Entra ID. I log di controllo di Azure AD (AZURE_AD_AUDIT) ora sono i log di controllo di Microsoft Entra ID.

Per saperne di più, consulta Importazione dei dati in Google Security Operations.

Un'etichetta di importazione identifica il parser che normalizza i dati dei log non elaborati in formato UDM strutturato.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

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

Come configurare Azure AD

  1. Accedi al portale Azure.
  2. Vai a Home > Registrazione dell'app, seleziona un'applicazione registrata o registrala 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 Solo account in questa directory dell'organizzazione (singolo tenant).

    • URI di reindirizzamento: lascia vuoto (non obbligatorio per l'autenticazione dell'entità di servizio).
  6. Fai clic su Register (Registrati).

  7. Vai alla pagina Panoramica e copia l'ID applicazione (client) e l'ID directory (tenant), necessari per configurare il feed 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 applicazione 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 Google Security Operations.

Configurare i feed

Esistono due diversi punti di accesso per configurare i feed nella piattaforma Google SecOps:

  • Impostazioni SIEM > Feed > Aggiungi nuovo feed
  • Hub dei contenuti > Pacchetti di contenuti > Inizia

Come configurare il feed Microsoft Entra ID (Azure AD)

  1. Fai clic sul pacchetto Azure Platform.
  2. Individua il tipo di log Azure AD.
  3. Specifica i valori per i seguenti campi:

    • Tipo di origine: API di terze parti (consigliato)
    • ID client OAUTH: specifica l'ID client che hai ottenuto in precedenza.
    • OAUTH client secret: specifica il client secret che hai ottenuto in precedenza.
    • ID tenant: specifica l'ID tenant che hai ottenuto in precedenza.
    • Percorso completo dell'API: URL dell'endpoint API REST di Microsoft Graph.
    • Endpoint di autenticazione API: endpoint di autenticazione di Microsoft Active Directory.

    Opzioni avanzate

    • Nome feed: un valore precompilato che identifica il feed.
    • Spazio dei nomi dell'asset: spazio dei nomi associato al feed.
    • Etichette di importazione: etichette applicate a tutti gli eventi di questo feed.
  4. Fai clic su Crea feed.

Per ulteriori informazioni sulla configurazione di più feed per diversi tipi di log all'interno di questa famiglia di prodotti, consulta Configurare i feed per prodotto.

Per saperne di più sui feed di Google Security Operations, consulta la documentazione sui feed di Google Security Operations. Per informazioni sui requisiti per ciascun tipo di feed, vedi Configurazione dei feed per tipo.

Riferimento alla mappatura dei campi

Questo codice del parser trasforma i log Azure AD non elaborati in formato JSON in un modello UDM (Unified Data Model). Innanzitutto, normalizza i dati rimuovendo i campi non necessari, poi estrae le informazioni pertinenti, come i dettagli dell'utente, i timestamp e i dettagli dell'evento, mappandoli ai campi UDM corrispondenti per una rappresentazione e un'analisi coerenti.

Tabella di mappatura UDM

Campo log Mappatura UDM Note
about about
accountEnabled user.user_authentication_status
user.attribute.labels.value (chiave: accountEnabled)
Se accountEnabled è true, user.user_authentication_status è impostato su ACTIVE e viene aggiunta un'etichetta con la chiave accountEnabled e il valore true. In caso contrario, viene aggiunta un'etichetta con la chiave accountEnabled e il valore false.
additionalDetails additional.fields
appOwnerTenantId target.resource.attribute.labels
authenticationAppDeviceDetails additional.fields
authenticationContextClassReference security_result.detection_fields
autonomousSystemNumber principal.resource.attribute.labels
browser network.http.user_agent
browser network.http.user_agent
businessPhones user.phone_numbers Vengono estratti e mappati più numeri di telefono come voci separate.
city user.personal_address.city
clientCredentialType additional.fields
companyName user.company_name
country user.personal_address.country_or_region Se country è vuoto, il valore viene preso da usageLocation.
createdDateTime user.attribute.creation_time Convertito in un timestamp dal campo createdDateTime nel log non elaborato utilizzando il formato RFC 3339.
cribl_pipe additional.fields
crossTenantAccessType additional.fields
department user.department Più reparti vengono estratti e mappati come voci separate.
deviceDetail.displayName principal.hostname,principal.asset.hostname
displayName user.user_display_name
employeeId user.employee_id Se employeeId è vuoto, il valore viene preso da extension_employeeNumber.
employeeType user.attribute.labels.value (chiave: employeeType) Mappato dal campo employeeType nel log non elaborato e aggiunto come etichetta con la chiave employeeType.
empmanager-src.accountEnabled user.user_authentication_status
user.attribute.labels.value (chiave: accountEnabled)
Se manager è vuoto e empmanager-src.accountEnabled è true, user.user_authentication_status è impostato su ACTIVE e viene aggiunta un'etichetta con la chiave accountEnabled e il valore true. In caso contrario, viene aggiunta un'etichetta con la chiave accountEnabled e il valore false.
empmanager-src.onPremisesDistinguishedName manager_role.type Se gopher-manager è vuoto e la parte dell'unità organizzativa del nome distinto del gestore contiene Users, manager_role.type è impostato su ADMINISTRATOR. Se contiene Service Accounts, manager_role.type è impostato su SERVICE_ACCOUNT.
empmanager-src.userPrincipalName manager_role.type Se gopher-manager è vuoto e empmanager-src.userPrincipalName inizia con svc-, manager_role.type è impostato su SERVICE_ACCOUNT.
errorCode security_result.detection_fields
extension_employeeNumber user.employee_id Mappato a user.employee_id se employeeId è vuoto.
extension_wfc_AccountingUnitName event.idm.entity.entity.labels.value (chiave: extension_wfc_AccountingUnitName) Mappato dal campo extension_wfc_AccountingUnitName nel log non elaborato e aggiunto come etichetta con la chiave extension_wfc_AccountingUnitName.
extension_wfc_AccountType event.idm.entity.entity.labels.value (chiave: wfc_AccountType) Mappato dal campo extension_wfc_AccountType nel log non elaborato e aggiunto come etichetta con la chiave wfc_AccountType.
extension_wfc_execDescription event.idm.entity.entity.labels.value (chiave: extension_wfc_execDescription) Mappato dal campo extension_wfc_execDescription nel log non elaborato e aggiunto come etichetta con la chiave extension_wfc_execDescription.
extension_wfc_groupDescription event.idm.entity.entity.labels.value (chiave: extension_wfc_groupDescription) Mappato dal campo extension_wfc_groupDescription nel log non elaborato e aggiunto come etichetta con la chiave extension_wfc_groupDescription.
extension_wfc_orgDescription event.idm.entity.entity.labels.value (chiave: extension_wfc_orgDescription) Mappato dal campo extension_wfc_orgDescription nel log non elaborato e aggiunto come etichetta con la chiave extension_wfc_orgDescription.
failureReason security_result.description
federatedCredentialId additional.fields
flaggedForReview additional.fields
givenName user.first_name
gopher-devices event.idm.entity.relations Ogni dispositivo nell'array gopher-devices è mappato a una voce di relazione separata. deviceId è mappato a product_object_id, operatingSystem e operatingSystemVersion vengono combinati per formare il modello platform_version, che viene mappato direttamente, mentre createdDateTime viene convertito in un timestamp e mappato a created_timestamp. La relazione è impostata su OWNS e la direzione su UNIDIRECTIONAL.
gopher-groups event.idm.entity.relations Ogni gruppo nell'array gopher-groups viene mappato a una voce di relazione separata. id è mappato a product_object_id e displayName è mappato a group_display_name. La relazione è impostata su MEMBER e la direzione su UNIDIRECTIONAL.
gopher-manager.businessPhones empmanager.phone_numbers Mappato a empmanager.phone_numbers se manager è vuoto.
gopher-manager.country empmanager.personal_address.country_or_region Mappato a empmanager.personal_address.country_or_region se manager è vuoto. Se sia gopher-manager.country che gopher-manager.usageLocation sono vuoti, il campo rimane vuoto.
gopher-manager.department empmanager.department Mappato a empmanager.department se manager è vuoto.
gopher-manager.displayName empmanager.user_display_name Mappato a empmanager.user_display_name se manager è vuoto.
gopher-manager.employeeId empmanager.employee_id Mappato a empmanager.employee_id se manager è vuoto e gopher-manager.employeeId non è vuoto.
gopher-manager.extension_employeeNumber empmanager.employee_id Mappato a empmanager.employee_id se manager e gopher-manager.employeeId sono vuoti e gopher-manager.extension_employeeNumber non è vuoto.
gopher-manager.givenName empmanager.first_name Mappato a empmanager.first_name se manager è vuoto.
gopher-manager.id empmanager.product_object_id Mappato a empmanager.product_object_id se manager è vuoto.
gopher-manager.jobTitle empmanager.title Mappato a empmanager.title se manager è vuoto.
gopher-manager.mail empmanager.email_addresses Mappato a empmanager.email_addresses se manager è vuoto.
gopher-manager.onPremisesImmutableId user.attribute.labels.value (chiave: gopher-manager onPremisesImmutableId) Mappato come etichetta con la chiave gopher-manager onPremisesImmutableId.
gopher-manager.onPremisesSamAccountName empmanager.userid Mappato a empmanager.userid se manager è vuoto.
gopher-manager.onPremisesSecurityIdentifier empmanager.windows_sid Mappato a empmanager.windows_sid se manager è vuoto.
gopher-manager.proxyAddresses empmanager.email_addresses
empmanager.group_identifiers
Se manager è vuoto, ogni indirizzo nell'array gopher-manager.proxyAddresses viene mappato su empmanager.email_addresses o empmanager.group_identifiers a seconda che inizi con smtp o SMTP.
gopher-manager.refreshTokensValidFromDateTime empmanager.attribute.labels.value (chiave: refreshTokensValidFromDateTime) Mappato come etichetta con la chiave refreshTokensValidFromDateTime se manager è vuoto.
gopher-manager.streetAddress empmanager.personal_address.name Mappato a empmanager.personal_address.name se manager è vuoto.
gopher-manager.surname empmanager.last_name Mappato a empmanager.last_name se manager è vuoto.
gopher-manager.usageLocation user.attribute.labels.value (chiave: manager_src_usageLocation) Mappato come etichetta con la chiave manager_src_usageLocation.
gopher-manager.userType empmanager.attribute.roles.name Mappato a empmanager.attribute.roles.name se manager è vuoto.
homeTenantId target.resource.attribute.labels  
homeTenantName target.resource.attribute.labels  
id user.product_object_id  
identities user.attribute.labels.value (chiave: signInType)
user.attribute.labels.value (chiave: userPrincipalName)
signInType è mappato come etichetta con la chiave signInType. Se signInType e userPrincipalName non sono vuoti, vengono combinati e mappati come etichetta con la chiave userPrincipalName.
identity principal.user.user_display_name  
incomingTokenType additional.fields  
initiatedBy.app.displayName principal.application  
initiatedBy.app.servicePrincipalId principal.resource.product_object_id  
initiatedBy.user.homeTenantId target.resource.attribute.labels  
initiatedBy.user.homeTenantName target.resource.attribute.labels  
initiatedBy.user.userType additional.fields  
ipAddressFromResourceProvider principal.resource.attribute.labels  
isTenantRestricted additional.fields  
jobTitle user.title  
loggedByService observer.application  
mail user.email_addresses Se mail inizia con svc-, user_role.type è impostato su SERVICE_ACCOUNT.
mail user_role.type Se mail inizia con svc-, user_role.type è impostato su SERVICE_ACCOUNT.
mailNickname user.attribute.labels.value (chiave: mailNickname) Mappato dal campo mailNickname nel log non elaborato e aggiunto come etichetta con la chiave mailNickname.
manager.businessPhones empmanager.phone_numbers Mappato a empmanager.phone_numbers se gopher-manager è vuoto.
manager.city empmanager.personal_address.city Mappato a empmanager.personal_address.city se gopher-manager è vuoto.
manager.companyName empmanager.company_name Mappato a empmanager.company_name se gopher-manager è vuoto.
manager.country empmanager.personal_address.country_or_region Mappato a empmanager.personal_address.country_or_region se gopher-manager è vuoto. Se sia manager.country che manager.usageLocation sono vuoti, il campo rimane vuoto.
manager.department empmanager.department Mappato a empmanager.department se gopher-manager è vuoto.
manager.displayName empmanager.user_display_name Mappato a empmanager.user_display_name se gopher-manager è vuoto.
manager.employeeId empmanager.employee_id Mappato a empmanager.employee_id se gopher-manager è vuoto e manager.employeeId non è vuoto.
manager.extension_employeeNumber empmanager.employee_id Mappato a empmanager.employee_id se gopher-manager e manager.employeeId sono vuoti e manager.extension_employeeNumber non è vuoto.
manager.givenName empmanager.first_name Mappato a empmanager.first_name se gopher-manager è vuoto.
manager.id empmanager.product_object_id Mappato a empmanager.product_object_id se gopher-manager è vuoto.
manager.jobTitle empmanager.title Mappato a empmanager.title se gopher-manager è vuoto.
manager.mail empmanager.email_addresses Mappato a empmanager.email_addresses se gopher-manager è vuoto.
manager.onPremisesSamAccountName empmanager.userid Mappato a empmanager.userid se gopher-manager è vuoto.
manager.onPremisesSecurityIdentifier empmanager.windows_sid Mappato a empmanager.windows_sid se gopher-manager è vuoto.
manager.proxyAddresses empmanager.email_addresses
empmanager.group_identifiers
Se gopher-manager è vuoto, ogni indirizzo nell'array manager.proxyAddresses viene mappato su empmanager.email_addresses o empmanager.group_identifiers based on whether it starts withsmtporSMTP`.
manager.refreshTokensValidFromDateTime empmanager.attribute.labels.value (chiave: refreshTokensValidFromDateTime) Mappato come etichetta con la chiave refreshTokensValidFromDateTime se gopher-manager è vuoto.
manager.state empmanager.personal_address.state Mappato a empmanager.personal_address.state se gopher-manager è vuoto.
manager.streetAddress empmanager.personal_address.name Mappato a empmanager.personal_address.name se gopher-manager è vuoto.
manager.surname empmanager.last_name Mappato a empmanager.last_name se gopher-manager è vuoto.
manager.usageLocation user.attribute.labels.value (chiave: manager_src_usageLocation)
empmanager.personal_address.country_or_region
Mappato come etichetta con la chiave manager_src_usageLocation. Se manager.country è vuoto, il valore viene mappato anche a empmanager.personal_address.country_or_region.
manager.userType empmanager.attribute.roles.name Mappato a empmanager.attribute.roles.name se gopher-manager è vuoto.
mfaDetail.authDetail principal.user.phone_numbers  
onPremisesDistinguishedName user.attribute.labels.value (chiave: onPremisesDistinguishedName)
user.attribute.labels.value (chiave: onPremisesDistinguishedName-OU data)
Il nome distinto completo viene mappato come etichetta con la chiave onPremisesDistinguishedName. La parte OU del nome distinto viene estratta e mappata come etichetta con la chiave onPremisesDistinguishedName-OU data. Se la parte OU contiene Admin, user_role.type è impostato su ADMINISTRATOR. Se contiene Service Accounts, user_role.type è impostato su SERVICE_ACCOUNT.
onPremisesDistinguishedName user_role.type Se la parte OU del nome distinto contiene Admin, user_role.type è impostato su ADMINISTRATOR. Se contiene Service Accounts, user_role.type è impostato su SERVICE_ACCOUNT.
onPremisesDomainName user.group_identifiers
user.attribute.labels.value (chiave: onPremisesDomainName)
Mappato direttamente a user.group_identifiers e aggiunto come etichetta con la chiave onPremisesDomainName.
onPremisesImmutableId user.attribute.labels.value (chiave: onPremisesImmutableId) Mappato dal campo onPremisesImmutableId nel log non elaborato e aggiunto come etichetta con la chiave onPremisesImmutableId.
onPremisesSamAccountName user.userid
user.attribute.labels.value (chiave: onPremisesSamAccountName)
Mappato a user.userid se sAMAccountName è vuoto. Aggiunto anche come etichetta con la chiave onPremisesSamAccountName.
onPremisesSecurityIdentifier user.windows_sid  
operationName metadata.product_event_type  
OrganizationId principal.resource.product_object_id  
originalRequestId network.session_id  
originalTransferMethod additional.fields  
Parser Logic UDM Mapping Logic
policies.enforcedGrantControls security_result.detection_fields  
processingTimeInMilliseconds additional.fields  
properties.__UDI_RequiredFields_RegionScope target.location.country_or_region  
properties.additionalDetails additional.fields  
properties.alternateSignInName target.user.userid  
properties.appId principal.user.product_object_id  
properties.atContentH additional.fields  
properties.atContentP additional.fields  
properties.authenticationContextClassReferences additional.fields  
properties.C_DeviceId additional.fields  
properties.C_Iat additional.fields  
properties.C_Idtyp additional.fields  
properties.C_Sid additional.fields  
properties.category security_result.category_details  
properties.clientAuthMethod additional.fields  
properties.clientCredentialType additional.fields  
properties.correlationId security_result.detection_fields  
properties.deviceDetail.browser network.http.user_agent  
properties.deviceDetail.deviceId principal.asset.asset_id  
properties.deviceDetail.displayName principal.hostname,principal.asset.hostname  
properties.deviceDetail.operatingSystem principal.platform_version Se operatingSystem inizia con Win, Mac o Lin, viene mappato su principal.platform.
properties.deviceDetail.trustType principal.asset.attribute.labels  
properties.EventData.AuthenticationPackageName security_result.about.resource.name  
properties.EventData.CallerProcessId principal.process.pid  
properties.EventData.CallerProcessName principal.process.file.full_path  
properties.EventData.CertIssuerName additional.fields  
properties.EventData.CertSerialNumber about.artifact.last_https_certificate.serial_number  
properties.EventData.CertThumbprint additional.fields  
properties.EventData.HandleId target.resource.attribute.labels  
properties.EventData.ImpersonationLevel additional.fields  
properties.EventData.IpAddress principal.ip
principal.asset.ip
 
properties.EventData.IpPort principal.port  
properties.EventData.KeyLength additional.fields  
properties.EventData.LmPackageName target.resource.attribute.labels  
properties.EventData.LogonGuid security_result.detection_fields  
properties.EventData.LogonProcessName target.process.file.names  
properties.EventData.LogonType extensions.auth.auth_details  
properties.EventData.NewSd security_result.detection_fields  
properties.EventData.ObjectName target.resource.name  
properties.EventData.ObjectServer target.resource.attribute.labels  
properties.EventData.ObjectType target.resource.resource_subtype  
properties.EventData.OldSd security_result.detection_fields  
properties.EventData.PreAuthType extensions.auth.mechanism  
properties.EventData.ProcessId target.process.pid  
properties.EventData.ProcessName" target.process.file.full_path  
properties.EventData.ServiceName target.application  
properties.EventData.ServiceSid target.resource.user.windows_sid  
properties.EventData.Source principal.ip
principal.asset.ip
 
properties.EventData.Status security_result.detection_fields  
properties.EventData.SubjectDomainName principal.administrative_domain  
properties.EventData.SubjectLogonId principal.resource.attribute.labels  
properties.EventData.SubjectUserName principal.user.userid  
properties.EventData.SubjectUserSid principal.user.windows_sid  
properties.EventData.TargetDomainName target.administrative_domain  
properties.EventData.TargetLogonId target.resource.attribute.labels  
properties.EventData.TargetSid target.user.windows_sid  
properties.EventData.TargetUserName target.user.userid  
properties.EventData.TargetUserSid target.user.windows_sid  
properties.EventData.TicketEncryptionType security_result.detection_fields  
properties.EventData.TicketOptions security_result.detection_fields"  
properties.EventData.TransmittedServices security_result.detection_fields  
properties.EventData.WorkstationName target.hostname
target.asset.hostname
 
properties.flaggedForReview additional.fields  
properties.homeTenantId target.resource.attribute.labels  
properties.incomingTokenType additional.fields  
properties.initiatedBy.app.displayName principal.user.user_display_name  
properties.initiatedBy.user.displayName principal.user.user_display_name  
properties.initiatedBy.user.id principal.user.product_object_id  
properties.initiatedBy.user.ipAddress principal.ip,principal.asset.ip  
properties.ipAddressFromResourceProvider principal.resource.attribute.labels  
properties.isInteractive additional.fields  
properties.isTenantRestricted additional.fields  
properties.isThroughGlobalSecureAccess additional.fields  
properties.location.geoCoordinates.altitude additional.fields  
properties.loggedByService observer.application  
properties.mfaDetail.authDetail principal.user.phone_numbers  
properties.operationType target.resource.attribute.labels  
properties.originalRequestId network.session_id  
properties.originalTransferMethod additional.fields  
properties.processingTimeInMilliseconds additional.fields  
properties.RecordId metadata.product_log_id  
properties.requestId security_result.detection_fields  
properties.requestMethod network.http.method  
properties.requestUri network.http.referral_url  
properties.resourceDisplayName target.resource.name  
properties.resourceId target.resource.attribute.labels  
properties.resourceOwnerTenantId target.resource.attribute.labels  
properties.resourceTenantId target.resource.attribute.labels  
properties.responseSizeBytes network.received_bytes  
properties.responseStatusCode network.http.response_code  
properties.resultReason additional.fields
security_result.summary
 
properties.resultType additional.fields  
properties.riskDetail security_result.detection_fields  
properties.riskEventType security_result.detection_fields  
properties.riskLastUpdatedDateTime security_result.detection_fields  
properties.riskLevel security_result.detection_fields  
properties.riskLevelAggregated security_result.detection_fields  
properties.riskLevelDuringSignIn security_result.detection_fields  
properties.riskState security_result.detection_fields  
properties.riskType security_result.detection_fields  
properties.rngcStatus additional.fields  
properties.roles principal.user.attribute.roles  
properties.scopes security_result.detection_fields  
properties.servicePrincipalCredentialKeyId additional.fields  
properties.sessionLifetimePolicies security_result.detection_fields  
properties.signInActivityId additional.fields  
properties.SignInBondData.DeviceDetails.DeviceTrustType principal.asset.attribute.labels  
properties.SignInBondData.DeviceDetails.IsCompliant security_result.rule_labels  
properties.SignInBondData.DeviceDetails.IsManaged principal.asset.attribute.labels  
properties.SignInBondData.DisplayDetails.AttemptedUsername principal.user.email_addresses  
properties.SignInBondData.DisplayDetails.ProxyRestrictionTargetTenantName additional.fields  
properties.SignInBondData.DisplayDetails.ResourceDisplayName target.resource.name  
properties.SignInBondData.LocationDetails.IPChain target.ip  
properties.SignInBondData.LocationDetails.Latitude additional.fields  
properties.SignInBondData.LocationDetails.Longitude additional.fields  
properties.SignInBondData.MfaDetails additional.fields  
properties.SignInBondData.ProtocolDetails.AuthenticationMethodsUsed extensions.auth.auth_details  
properties.SignInBondData.ProtocolDetails.DomainHintPresent additional.fields  
properties.SignInBondData.ProtocolDetails.IsInteractive additional.fields  
properties.SignInBondData.ProtocolDetails.LoginHintPresent additional.fields  
properties.SignInBondData.ProtocolDetails.NetworkLocation additional.fields"  
properties.SignInBondData.ProtocolDetails.Protocol security_result.detection_fields Se properties.SignInBondData.ProtocolDetails.Protocol == WSTrust, viene mappato a security_result.detection_fields, altrimenti a network.application_protocol.
properties.SignInBondData.RamDetails.RamRecommendedAction additional.fields  
properties.SignInBondData.RamDetails.RamRecommender additional.fields  
properties.signInTokenProtectionStatus additional.fields  
properties.ssoExtensionVersion additional.fields  
properties.status.errorCode security_result.detection_fields
security_result.action
 
properties.targetResources target.resource.attribute.labels  
properties.tenantGeo Geolocation.country_or_region
properties.tokenIssuerName additional.fields  
properties.tokenProtectionStatusDetails.signInSessionStatus additional.fields  
properties.tokenProtectionStatusDetails.signInSessionStatusCode additional.fields  
properties.userDisplayName principal.user.user_display_name  
properties.wids additional.fields  
proxyAddresses user.email_addresses
user.group_identifiers
Ogni indirizzo nell'array proxyAddresses viene mappato su user.email_addresses o user.group_identifiers a seconda che inizi con smtp o SMTP. Se l'indirizzo inizia con smtp o SMTP, il prefisso smtp: o SMTP: viene rimosso e l'indirizzo email rimanente viene estratto e mappato a user.email_addresses.
record.CorrelationId additional.fields  
record.CrossTenantAccessType additional.fields  
record.DeviceDetail.deviceId network.session_id  
record.DeviceDetail.operatingSystem principal.platform_version Se operatingSystem inizia con Win, Mac o Lin, viene mappato su principal.platform.
record.IsInteractive additional.fields  
record.level security_result.severity_details Se record_level si trova in ["INFORMATION", "INFORMATIONAL", "0", "4", "WARNING", "1", "3","ERROR", "2","CRITICAL"], viene mappato a security_result.severity.
record.location principal.location.name  
record.properties.appServicePrincipalId additional.fields  
record.properties.authenticationProtocol additional.fields  
record.properties.autonomousSystemNumber principal.resource.attribute.labels  
record.properties.C_DeviceId principal.asset.asset_id  
record.properties.crossTenantAccessType additional.fields  
record.properties.deviceDetail.isCompliant security_result.rule_labels  
record.properties.deviceDetail.isManaged principal.asset.attribute.labels  
record.properties.deviceDetail.trustType principal.asset.attribute.labels  
record.properties.flaggedForReview additional.fields  
record.properties.incomingTokenType additional.fields  
record.properties.isInteractive extensions.auth.mechanism  
record.properties.isTenantRestricted additional.fields  
record.properties.isThroughGlobalSecureAccess additional.fields  
record.properties.location target.location.name  
record.properties.originalTransferMethod additional.fields  
record.properties.resourceDisplayName principal.resource.name  
record.properties.riskDetail security_result.detection_fields  
record.properties.riskLevelAggregated security_result.detection_fields  
record.properties.riskLevelDuringSignIn security_result.detection_fields  
record.properties.riskState security_result.detection_fields  
record.properties.rngcStatus additional.fields  
record.properties.roles principal.user.attribute.roles  
record.properties.scopes security_result.detection_fields  
record.properties.servicePrincipalId target.resource.attribute.labels  
record.properties.servicePrincipalId principal.user.userid  
record.properties.signInTokenProtectionStatus additional.fields  
record.properties.ssoExtensionVersion additional.fields  
record.properties.status.additionalDetails additional.fields  
record.properties.tokenProtectionStatusDetails.signInSessionStatus additional.fields  
record.properties.tokenProtectionStatusDetails.signInSessionStatusCode additional.fields  
record.RiskDetail security_result.detection_fields  
record.RiskEventTypes security_result.detection_fields  
record.RiskLevelAggregated security_result.detection_fields  
record.RiskLevelDuringSignIn security_result.detection_fields  
record.RiskState security_result.detection_fields  
refreshTokensValidFromDateTime user.attribute.labels.value (chiave: refreshTokensValidFromDateTime) Mappato dal campo refreshTokensValidFromDateTime nel log non elaborato e aggiunto come etichetta con la chiave refreshTokensValidFromDateTime.
resourceOwnerTenantId target.resource.attribute.labels  
resourceTenantId target.resource.attribute.labels  
resultDescription security_result.description  
resultReason additional.fields  
resultType additional.fields  
riskDetail security_result.detection_fields  
riskLevelAggregated security_result.detection_fields  
riskLevelDuringSignIn security_result.detection_fields  
riskState security_result.detection_fields  
sAMAccountName user.userid  
servicePrincipalCredentialKeyId additional.fields  
servicePrincipalCredentialThumbprint additional.fields  
servicePrincipalId target.resource.attribute.labels  
servicePrincipalName additional.fields  
sessionId network.session_id  
signInIdentifier target.user.userid  
signInIdentifierType additional.fields  
signInTokenProtectionStatus additional.fields  
state user.personal_address.state  
status.additionalDetails additional.fields  
streetAddress user.personal_address.name  
surname user.last_name  
targets.modifiedProperties target.resource.attribute.labels  
tokenIssuerName additional.fields  
tokenIssuerType additional.fields  
tokenProtectionStatusDetails.signInSessionStatus security_result.detection_fields  
uniqueTokenIdentifier additional.fields  
usageLocation user.personal_address.country_or_region Se country è vuoto, il valore viene mappato a user.personal_address.country_or_region.
userDisplayName principal.user.user_display_name  
userId principal.user.product_object_id  
userPrincipalName user.email_addresses Se userPrincipalName inizia con svc-, user_role.type è impostato su SERVICE_ACCOUNT.
userPrincipalName user_role.type Se userPrincipalName inizia con svc-, user_role.type è impostato su SERVICE_ACCOUNT.
userType additional.fields  
N/D event.idm.entity.metadata.vendor_name Imposta su Microsoft.
N/D event.idm.entity.metadata.product_name Imposta su Azure Active Directory.
N/D event.idm.entity.metadata.entity_type Imposta su USER.
N/D event.idm.entity.metadata.collected_timestamp Impostato sul campo create_time del log non elaborato.

Riferimento del delta di mappatura UDM

Il 1° gennaio 2026, Google SecOps ha rilasciato una nuova versione del parser Azure AD, che include modifiche significative al mapping dei campi dei log Azure AD ai campi UDM e modifiche al mapping dei tipi di eventi.

Delta della mappatura dei campi di log

La tabella seguente elenca la differenza di mappatura per i campi di log-to-UDM di Azure AD esposti prima del 1° gennaio 2026 e successivamente (elencati rispettivamente nelle colonne Mappatura precedente e Mappatura attuale):

Campo log Mappatura precedente Mappatura attuale
additionalDetails security_result.description additional.fields
browser principal.resource.attribute.labels network.http.user_agent
browser principal.resource.attribute.labels network.http.user_agent
deviceDetail.displayName principal.asset.hardware principal.hostname,principal.asset.hostname
errorCode security_result.rule_id security_result.detection_fields
failureReason additional.fields security_result.description
identity target.user.user_display_name principal.user.user_display_name
loggedByService target.application observer.application
operationName additional.fields metadata.product_event_type
OrganizationId principal.resource.id principal.resource.product_object_id
properties.homeTenantId additional.fields target.resource.attribute.labels
properties.initiatedBy.user.id principal.user.windows_sid principal.user.product_object_id
properties.resourceOwnerTenantId additional.fields target.resource.attribute.labels
properties.riskDetail additional.fields security_result.detection_fields
properties.riskEventType additional.fields security_result.detection_fields
properties.riskLastUpdatedDateTime additional.fields security_result.detection_fields
properties.riskLevel additional.fields security_result.detection_fields
properties.riskLevelAggregated additional.fields security_result.detection_fields
properties.riskLevelDuringSignIn additional.fields security_result.detection_fields
properties.riskState additional.fields security_result.detection_fields
properties.riskType additional.fields security_result.detection_fields
properties.userDisplayName target.user.user_display_name principal.user.user_display_name
record.CorrelationId metadata.product_log_id additional.fields
record.properties.C_DeviceId additional.fields principal.asset.asset_id
record.properties.resourceDisplayName target.resource.attribute.labels principal.resource.name
record.properties.riskDetail additional.fields security_result.detection_fields
record.properties.riskLevelAggregated additional.fields security_result.detection_fields
record.properties.riskLevelDuringSignIn additional.fields security_result.detection_fields
record.properties.riskState additional.fields security_result.detection_fields
record.properties.roles target.user.role_name principal.user.attribute.roles
record.properties.servicePrincipalId additional.fields target.resource.attribute.labels
record.properties.servicePrincipalId additional.fields principal.user.userid
record.RiskDetail target.resource.attribute.labels security_result.detection_fields
record.RiskEventTypes target.resource.attribute.labels security_result.detection_fields
record.RiskLevelAggregated target.resource.attribute.labels security_result.detection_fields
record.RiskState target.resource.attribute.labels security_result.detection_fields
resultType security_result.rule_id additional.fields
riskDetail additional.fields security_result.detection_fields
riskLevelAggregated additional.fields security_result.detection_fields
riskLevelDuringSignIn additional.fields security_result.detection_fields
riskState additional.fields security_result.detection_fields
riskState additional.fields security_result.detection_fields
status.additionalDetails security_result.description additional.fields
userDisplayName target.user.user_display_name principal.user.user_display_name
userId target.user.product_object_id principal.user.product_object_id

Delta della mappatura dei tipi di eventi

La tabella seguente elenca la differenza per la gestione dei tipi di eventi Azure AD prima del 1° gennaio 2026 e successivamente (elencati rispettivamente nelle colonne Old event_type e Current event-type):

ID evento dal log Old event_type Current event_type Commento
has_resource = true GENERIC_EVENT USER_RESOURCE_ACCESS Il tipo di evento viene mappato a USER_RESOURCE_ACCESS per i casi in cui l'evento riguarda una risorsa (indicata da has_resource = true).
operationName = Add member to group USER_CHANGE_PERMISSIONS GROUP_MODIFICATION Il tipo di evento corrisponde a GROUP_MODIFICATION per le operazioni che riguardano specificamente l'aggiunta di un membro a un gruppo (dove operationName = Add member to group).

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.