Collecter les journaux Microsoft Azure AD

Compatible avec :

Ce document explique comment collecter les journaux Microsoft Azure Active Directory (AD) en configurant un flux Google Security Operations.

Azure Active Directory (AZURE_AD) s'appelle désormais Microsoft Entra ID. Les journaux d'audit Azure AD (AZURE_AD_AUDIT) sont désormais des journaux d'audit Microsoft Entra ID.

Pour en savoir plus, consultez Ingestion de données dans Google Security Operations.

Une étiquette d'ingestion identifie l'analyseur qui normalise les données de journaux brutes au format UDM structuré.

Avant de commencer

Assurez-vous de remplir les conditions préalables suivantes :

  • Un abonnement Azure auquel vous pouvez vous connecter
  • Un rôle d'administrateur général ou d'administrateur Azure AD
  • Un locataire Azure AD dans Azure

Configurer Azure AD

  1. Connectez-vous au portail Azure.
  2. Accédez à Accueil > Enregistrement de l'application, puis sélectionnez une application enregistrée ou enregistrez-en une si vous n'en avez pas encore créé.
  3. Pour enregistrer une application, dans la section Enregistrement de l'application, cliquez sur Nouvel enregistrement.
  4. Dans le champ Nom, indiquez le nom à afficher de votre application.
  5. Dans la section Supported account types (Types de comptes compatibles), sélectionnez Accounts in this organizational directory only (Single tenant) (Comptes dans cet annuaire organisationnel uniquement (locataire unique)).

    • URI de redirection : laissez ce champ vide (il n'est pas obligatoire pour l'authentification du compte principal de service).
  6. Cliquez sur S'inscrire.

  7. Accédez à la page Overview (Vue d'ensemble), puis copiez l'ID (client) de l'application et l'ID (de locataire) de l'annuaire, qui sont nécessaires pour configurer le flux Google Security Operations.

  8. Cliquez sur Autorisations des API.

  9. Cliquez sur Ajouter une autorisation, puis sélectionnez Microsoft Graph dans le nouveau volet.

  10. Cliquez sur Autorisations de l'application.

  11. Sélectionnez les autorisations AuditLog.Read.All, Directory.Read.All et SecurityEvents.Read.All. Assurez-vous que les autorisations sont des autorisations d'application et non des autorisations déléguées.

  12. Cliquez sur Accorder le consentement administrateur pour l'annuaire par défaut. Les applications sont autorisées à appeler des API lorsqu'elles reçoivent des autorisations de la part des utilisateurs ou des administrateurs dans le cadre du processus de consentement.

  13. Accédez à Paramètres > Gérer.

  14. Cliquez sur Certificats et codes secrets.

  15. Cliquez sur Nouvelle clé secrète client. Le code secret du client s'affiche dans le champ Valeur.

  16. Copiez la valeur du code secret du client. La valeur n'est affichée qu'au moment de la création. Elle est requise pour l'enregistrement de l'application Azure et pour configurer le flux Google Security Operations.

Configurer des flux

Il existe deux points d'entrée différents pour configurer les flux dans la plate-forme Google SecOps :

  • Paramètres SIEM> Flux > Ajouter un flux
  • Plate-forme de contenu> Packs de contenu> Premiers pas

Configurer le flux Microsoft Entra ID (Azure AD)

  1. Cliquez sur le pack Plate-forme Azure.
  2. Recherchez le type de journal Azure AD.
  3. Indiquez les valeurs des champs suivants :

    • Type de source : API tierce (recommandé)
    • ID client OAUTH : spécifiez l'ID client que vous avez obtenu précédemment.
    • Code secret du client OAUTH : spécifiez le code secret du client que vous avez obtenu précédemment.
    • ID de locataire : spécifiez l'ID de locataire que vous avez obtenu précédemment.
    • Chemin d'accès complet à l'API : URL du point de terminaison de l'API REST Microsoft Graph.
    • Point de terminaison d'authentification de l'API : point de terminaison d'authentification Microsoft Active Directory.

    Options avancées

    • Nom du flux : valeur préremplie qui identifie le flux.
    • Espace de noms de l'élément : espace de noms associé au flux.
    • Libellés d'ingestion : libellés appliqués à tous les événements de ce flux.
  4. Cliquez sur Créer un flux.

Pour en savoir plus sur la configuration de plusieurs flux pour différents types de journaux dans cette famille de produits, consultez Configurer des flux par produit.

Pour en savoir plus sur les flux Google Security Operations, consultez la documentation sur les flux Google Security Operations. Pour en savoir plus sur les exigences de chaque type de flux, consultez Configuration des flux par type.

Référence du mappage de champs

Ce code d'analyseur transforme les journaux Azure AD bruts au format JSON en un modèle de données unifié (UDM). Il normalise d'abord les données en supprimant les champs inutiles, puis extrait les informations pertinentes telles que les détails de l'utilisateur, les codes temporels et les spécificités de l'événement, en les mappant aux champs UDM correspondants pour une représentation et une analyse cohérentes.

Table de mappage UDM

Champ du journal Mappage UDM Remarques
about about
accountEnabled user.user_authentication_status
user.attribute.labels.value (clé : accountEnabled)
Si accountEnabled est défini sur true, user.user_authentication_status est défini sur ACTIVE et un libellé avec la clé accountEnabled et la valeur true est ajouté. Sinon, un libellé avec la clé accountEnabled et la valeur false est ajouté.
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 Plusieurs numéros de téléphone sont extraits et mappés en tant qu'entrées distinctes.
city user.personal_address.city
clientCredentialType additional.fields
companyName user.company_name
country user.personal_address.country_or_region Si country est vide, la valeur est extraite de usageLocation.
createdDateTime user.attribute.creation_time Converti en code temporel à partir du champ createdDateTime du journal brut au format RFC 3339.
cribl_pipe additional.fields
crossTenantAccessType additional.fields
department user.department Plusieurs services sont extraits et mappés en tant qu'entrées distinctes.
deviceDetail.displayName principal.hostname,principal.asset.hostname
displayName user.user_display_name
employeeId user.employee_id Si employeeId est vide, la valeur est extraite de extension_employeeNumber.
employeeType user.attribute.labels.value (clé : employeeType) Mappé à partir du champ employeeType dans le journal brut et ajouté en tant que libellé avec la clé employeeType.
empmanager-src.accountEnabled user.user_authentication_status
user.attribute.labels.value (clé : accountEnabled)
Si manager est vide et que empmanager-src.accountEnabled est défini sur true, user.user_authentication_status est défini sur ACTIVE et un libellé avec la clé accountEnabled et la valeur true est ajouté. Sinon, un libellé avec la clé accountEnabled et la valeur false est ajouté.
empmanager-src.onPremisesDistinguishedName manager_role.type Si gopher-manager est vide et que la partie UO du nom distinctif du responsable contient Users, manager_role.type est défini sur ADMINISTRATOR. Si elle contient Service Accounts, manager_role.type est défini sur SERVICE_ACCOUNT.
empmanager-src.userPrincipalName manager_role.type Si gopher-manager est vide et que empmanager-src.userPrincipalName commence par svc-, manager_role.type est défini sur SERVICE_ACCOUNT.
errorCode security_result.detection_fields
extension_employeeNumber user.employee_id Mappé sur user.employee_id si employeeId est vide.
extension_wfc_AccountingUnitName event.idm.entity.entity.labels.value (clé : extension_wfc_AccountingUnitName) Mappé à partir du champ extension_wfc_AccountingUnitName dans le journal brut et ajouté en tant que libellé avec la clé extension_wfc_AccountingUnitName.
extension_wfc_AccountType event.idm.entity.entity.labels.value (clé : wfc_AccountType) Mappé à partir du champ extension_wfc_AccountType dans le journal brut et ajouté en tant que libellé avec la clé wfc_AccountType.
extension_wfc_execDescription event.idm.entity.entity.labels.value (clé : extension_wfc_execDescription) Mappé à partir du champ extension_wfc_execDescription dans le journal brut et ajouté en tant que libellé avec la clé extension_wfc_execDescription.
extension_wfc_groupDescription event.idm.entity.entity.labels.value (clé : extension_wfc_groupDescription) Mappé à partir du champ extension_wfc_groupDescription dans le journal brut et ajouté en tant que libellé avec la clé extension_wfc_groupDescription.
extension_wfc_orgDescription event.idm.entity.entity.labels.value (clé : extension_wfc_orgDescription) Mappé à partir du champ extension_wfc_orgDescription dans le journal brut et ajouté en tant que libellé avec la clé extension_wfc_orgDescription.
failureReason security_result.description
federatedCredentialId additional.fields
flaggedForReview additional.fields
givenName user.first_name
gopher-devices event.idm.entity.relations Chaque appareil du tableau gopher-devices est mappé à une entrée de relation distincte. deviceId est mappé sur product_object_id, operatingSystem et operatingSystemVersion sont combinés pour former le modèle platform_version qui est directement mappé, et createdDateTime est converti en code temporel et mappé sur created_timestamp. La relation est définie sur OWNS et la direction sur UNIDIRECTIONAL.
gopher-groups event.idm.entity.relations Chaque groupe du tableau gopher-groups est mappé à une entrée de relation distincte. id est mappé sur product_object_id et displayName est mappé sur group_display_name. La relation est définie sur MEMBER et la direction sur UNIDIRECTIONAL.
gopher-manager.businessPhones empmanager.phone_numbers Mappé sur empmanager.phone_numbers si manager est vide.
gopher-manager.country empmanager.personal_address.country_or_region Mappé sur empmanager.personal_address.country_or_region si manager est vide. Si gopher-manager.country et gopher-manager.usageLocation sont tous les deux vides, le champ reste vide.
gopher-manager.department empmanager.department Mappé sur empmanager.department si manager est vide.
gopher-manager.displayName empmanager.user_display_name Mappé sur empmanager.user_display_name si manager est vide.
gopher-manager.employeeId empmanager.employee_id Mappé sur empmanager.employee_id si manager est vide et gopher-manager.employeeId n'est pas vide.
gopher-manager.extension_employeeNumber empmanager.employee_id Mappé sur empmanager.employee_id si manager et gopher-manager.employeeId sont vides, et gopher-manager.extension_employeeNumber n'est pas vide.
gopher-manager.givenName empmanager.first_name Mappé sur empmanager.first_name si manager est vide.
gopher-manager.id empmanager.product_object_id Mappé sur empmanager.product_object_id si manager est vide.
gopher-manager.jobTitle empmanager.title Mappé sur empmanager.title si manager est vide.
gopher-manager.mail empmanager.email_addresses Mappé sur empmanager.email_addresses si manager est vide.
gopher-manager.onPremisesImmutableId user.attribute.labels.value (clé : gopher-manager onPremisesImmutableId) Mappé en tant que libellé avec la clé gopher-manager onPremisesImmutableId.
gopher-manager.onPremisesSamAccountName empmanager.userid Mappé sur empmanager.userid si manager est vide.
gopher-manager.onPremisesSecurityIdentifier empmanager.windows_sid Mappé sur empmanager.windows_sid si manager est vide.
gopher-manager.proxyAddresses empmanager.email_addresses
empmanager.group_identifiers
Si manager est vide, chaque adresse du tableau gopher-manager.proxyAddresses est mappée sur empmanager.email_addresses ou empmanager.group_identifiers selon qu'elle commence par smtp ou SMTP.
gopher-manager.refreshTokensValidFromDateTime empmanager.attribute.labels.value (clé : refreshTokensValidFromDateTime) Mappé en tant que libellé avec la clé refreshTokensValidFromDateTime si manager est vide.
gopher-manager.streetAddress empmanager.personal_address.name Mappé sur empmanager.personal_address.name si manager est vide.
gopher-manager.surname empmanager.last_name Mappé sur empmanager.last_name si manager est vide.
gopher-manager.usageLocation user.attribute.labels.value (clé : manager_src_usageLocation) Mappé en tant que libellé avec la clé manager_src_usageLocation.
gopher-manager.userType empmanager.attribute.roles.name Mappé sur empmanager.attribute.roles.name si manager est vide.
homeTenantId target.resource.attribute.labels  
homeTenantName target.resource.attribute.labels  
id user.product_object_id  
identities user.attribute.labels.value (clé : signInType)
user.attribute.labels.value (clé : userPrincipalName)
Le signInType est mappé en tant que libellé avec la clé signInType. Si signInType et userPrincipalName ne sont pas vides, ils sont combinés et mappés en tant que libellé avec la clé 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 Si mail commence par svc-, user_role.type est défini sur SERVICE_ACCOUNT.
mail user_role.type Si mail commence par svc-, user_role.type est défini sur SERVICE_ACCOUNT.
mailNickname user.attribute.labels.value (clé : mailNickname) Mappé à partir du champ mailNickname dans le journal brut et ajouté en tant que libellé avec la clé mailNickname.
manager.businessPhones empmanager.phone_numbers Mappé sur empmanager.phone_numbers si gopher-manager est vide.
manager.city empmanager.personal_address.city Mappé sur empmanager.personal_address.city si gopher-manager est vide.
manager.companyName empmanager.company_name Mappé sur empmanager.company_name si gopher-manager est vide.
manager.country empmanager.personal_address.country_or_region Mappé sur empmanager.personal_address.country_or_region si gopher-manager est vide. Si manager.country et manager.usageLocation sont tous les deux vides, le champ reste vide.
manager.department empmanager.department Mappé sur empmanager.department si gopher-manager est vide.
manager.displayName empmanager.user_display_name Mappé sur empmanager.user_display_name si gopher-manager est vide.
manager.employeeId empmanager.employee_id Mappé sur empmanager.employee_id si gopher-manager est vide et manager.employeeId n'est pas vide.
manager.extension_employeeNumber empmanager.employee_id Mappé sur empmanager.employee_id si gopher-manager et manager.employeeId sont vides, et manager.extension_employeeNumber n'est pas vide.
manager.givenName empmanager.first_name Mappé sur empmanager.first_name si gopher-manager est vide.
manager.id empmanager.product_object_id Mappé sur empmanager.product_object_id si gopher-manager est vide.
manager.jobTitle empmanager.title Mappé sur empmanager.title si gopher-manager est vide.
manager.mail empmanager.email_addresses Mappé sur empmanager.email_addresses si gopher-manager est vide.
manager.onPremisesSamAccountName empmanager.userid Mappé sur empmanager.userid si gopher-manager est vide.
manager.onPremisesSecurityIdentifier empmanager.windows_sid Mappé sur empmanager.windows_sid si gopher-manager est vide.
manager.proxyAddresses empmanager.email_addresses
empmanager.group_identifiers
Si gopher-manager est vide, chaque adresse du tableau manager.proxyAddresses est mappée sur empmanager.email_addresses ou empmanager.group_identifiers based on whether it starts withsmtporSMTP`.
manager.refreshTokensValidFromDateTime empmanager.attribute.labels.value (clé : refreshTokensValidFromDateTime) Mappé en tant que libellé avec la clé refreshTokensValidFromDateTime si gopher-manager est vide.
manager.state empmanager.personal_address.state Mappé sur empmanager.personal_address.state si gopher-manager est vide.
manager.streetAddress empmanager.personal_address.name Mappé sur empmanager.personal_address.name si gopher-manager est vide.
manager.surname empmanager.last_name Mappé sur empmanager.last_name si gopher-manager est vide.
manager.usageLocation user.attribute.labels.value (clé : manager_src_usageLocation)
empmanager.personal_address.country_or_region
Mappé en tant que libellé avec la clé manager_src_usageLocation. Si manager.country est vide, la valeur est également mappée sur empmanager.personal_address.country_or_region.
manager.userType empmanager.attribute.roles.name Mappé sur empmanager.attribute.roles.name si gopher-manager est vide.
mfaDetail.authDetail principal.user.phone_numbers  
onPremisesDistinguishedName user.attribute.labels.value (clé : onPremisesDistinguishedName)
user.attribute.labels.value (clé : onPremisesDistinguishedName-OU data)
Le nom distinctif complet est mappé en tant que libellé avec la clé onPremisesDistinguishedName. La partie OU du nom unique est extraite et mappée en tant que libellé avec la clé onPremisesDistinguishedName-OU data. Si la partie OU contient Admin, user_role.type est défini sur ADMINISTRATOR. Si elle contient Service Accounts, user_role.type est défini sur SERVICE_ACCOUNT.
onPremisesDistinguishedName user_role.type Si la partie OU du nom unique contient Admin, user_role.type est défini sur ADMINISTRATOR. Si elle contient Service Accounts, user_role.type est défini sur SERVICE_ACCOUNT.
onPremisesDomainName user.group_identifiers
user.attribute.labels.value (clé : onPremisesDomainName)
Directement mappé sur user.group_identifiers et ajouté en tant que libellé avec la clé onPremisesDomainName.
onPremisesImmutableId user.attribute.labels.value (clé : onPremisesImmutableId) Mappé à partir du champ onPremisesImmutableId dans le journal brut et ajouté en tant que libellé avec la clé onPremisesImmutableId.
onPremisesSamAccountName user.userid
user.attribute.labels.value (clé : onPremisesSamAccountName)
Mappé sur user.userid si sAMAccountName est vide. Elle est également ajoutée en tant que libellé avec la clé 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 Logique
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 Si operatingSystem commence par Win, Mac ou Lin, il est mappé sur 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 Si properties.SignInBondData.ProtocolDetails.Protocol == WSTrust, il est mappé sur security_result.detection_fields, sinon il est mappé sur 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
Chaque adresse du tableau proxyAddresses est associée à user.email_addresses ou user.group_identifiers selon qu'elle commence par smtp ou SMTP. Si l'adresse commence par smtp ou SMTP, le préfixe smtp: ou SMTP: est supprimé, et l'adresse e-mail restante est extraite et mappée sur user.email_addresses.
record.CorrelationId additional.fields  
record.CrossTenantAccessType additional.fields  
record.DeviceDetail.deviceId network.session_id  
record.DeviceDetail.operatingSystem principal.platform_version Si operatingSystem commence par Win, Mac ou Lin, il est mappé sur principal.platform.
record.IsInteractive additional.fields  
record.level security_result.severity_details Si record_level se trouve dans ["INFORMATION", "INFORMATIONAL", "0", "4", "WARNING", "1", "3","ERROR", "2","CRITICAL"], il est mappé sur 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 (clé : refreshTokensValidFromDateTime) Mappé à partir du champ refreshTokensValidFromDateTime dans le journal brut et ajouté en tant que libellé avec la clé 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 Si country est vide, la valeur est mappée sur user.personal_address.country_or_region.
userDisplayName principal.user.user_display_name  
userId principal.user.product_object_id  
userPrincipalName user.email_addresses Si userPrincipalName commence par svc-, user_role.type est défini sur SERVICE_ACCOUNT.
userPrincipalName user_role.type Si userPrincipalName commence par svc-, user_role.type est défini sur SERVICE_ACCOUNT.
userType additional.fields  
N/A event.idm.entity.metadata.vendor_name Variable définie sur Microsoft.
N/A event.idm.entity.metadata.product_name Variable définie sur Azure Active Directory.
N/A event.idm.entity.metadata.entity_type Variable définie sur USER.
N/A event.idm.entity.metadata.collected_timestamp Définissez le champ create_time à partir du journal brut.

Référence delta du mappage UDM

Le 1er janvier 2026, Google SecOps a publié une nouvelle version du parseur Azure AD, qui inclut des modifications importantes concernant le mappage des champs de journaux Azure AD vers les champs UDM et le mappage des types d'événements.

Delta de mappage entre les champs de journaux

Le tableau suivant répertorie le delta de mappage pour les champs de journaux Azure AD vers UDM exposés avant le 1er janvier 2026 et après (indiqués respectivement dans les colonnes Ancien mappage et Mappage actuel) :

Champ du journal Ancienne correspondance Mappage actuel
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 de mappage des types d'événements

Le tableau suivant indique le delta pour la gestion des types d'événements Azure AD avant le 1er janvier 2026 et après (respectivement listés dans les colonnes Ancien event_type et event_type actuel) :

ID de l'événement du journal Ancien event_type Current event_type Remarque
has_resource = true GENERIC_EVENT USER_RESOURCE_ACCESS Le type d'événement correspond à USER_RESOURCE_ACCESS dans les cas où l'événement concerne une ressource (indiquée par has_resource = true).
operationName = Add member to group USER_CHANGE_PERMISSIONS GROUP_MODIFICATION Le type d'événement correspond à GROUP_MODIFICATION pour les opérations impliquant spécifiquement l'ajout d'un membre à un groupe (où operationName = Add member to group).

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.