Collecter les journaux d'audit Microsoft Azure AD

Compatible avec:

Ce document explique comment collecter des 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.

Un libellé d'ingestion identifie l'analyseur qui normalise les données de journal brutes au format UDM structuré.

Avant de commencer

Pour effectuer les tâches de cette page, assurez-vous de disposer des éléments suivants:

  • Un abonnement Azure auquel vous pouvez vous connecter.
  • Rôle d'administrateur global 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 d'application, 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 pour votre application.
  5. Dans la section Types de comptes compatibles, sélectionnez l'option requise pour spécifier qui peut utiliser l'application ou accéder à l'API.
  6. Cliquez sur S'inscrire.
  7. Accédez à la page Vue d'ensemble, puis copiez l'ID de l'application (client) et l'ID du répertoire (locataire), 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 secrets.
  15. Cliquez sur Nouvelle clé secrète client. Dans le champ Valeur, le code secret du client s'affiche.
  16. Copiez la valeur du code secret du client. Cette valeur ne s'affiche 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 un flux dans Google Security Operations pour ingérer les journaux d'audit Azure AD

  1. Sélectionnez Paramètres du SIEM > Flux.
  2. Cliquez sur Ajouter.
  3. Saisissez un nom unique pour le nom du flux.
  4. Sélectionnez API tierce comme type de source.
  5. Sélectionnez Audit de l'annuaire Azure AD comme Type de journal.
  6. Cliquez sur Suivant.
  7. Configurez les paramètres d'entrée obligatoires suivants :
    • 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.
  8. Cliquez sur Suivant, puis sur Envoyer.

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 la section Configuration des flux par type. Si vous rencontrez des problèmes lors de la création de flux, contactez l'assistance Google Security Operations.

Référence du mappage de champs

Cet analyseur traite les journaux d'audit de l'annuaire Azure AD au format JSON. Il extrait les champs pertinents, les transforme en modèle de données unifié (UDM) et enrichit les données avec du contexte supplémentaire, comme les informations sur l'utilisateur, les adresses IP et les résultats de sécurité. L'analyseur catégorise également les événements en fonction de leurs caractéristiques, en les mappant sur des types d'événements UDM spécifiques pour faciliter l'analyse.

Tableau de mappage UDM

Champ de journal Mappage UDM Logique
activityDateTime read_only_udm.metadata.event_timestamp Mise en correspondance directe à partir du champ de journal brut "activityDateTime".
activityDisplayName read_only_udm.metadata.product_event_type Mise en correspondance directe à partir du champ de journal brut "activityDisplayName".
additionalDetails.ApplicationId read_only_udm.additional.fields Mappage direct à partir du champ de journal brut "additionalDetails", où la clé est "ApplicationId".
additionalDetails.Client read_only_udm.network.http.user_agent Mappage direct à partir du champ de journal brut "additionalDetails", où la clé est "Client".
additionalDetails.ClientIpAddress read_only_udm.principal.ip, read_only_udm.principal.asset.ip Mappage direct à partir du champ de journal brut "additionalDetails", où la clé est "ClientIpAddress".
additionalDetails.DomainName read_only_udm.target.hostname, read_only_udm.target.asset.hostname Mappage direct à partir du champ de journal brut "additionalDetails", où la clé est "DomainName".
additionalDetails.EmailAddress read_only_udm.target.user.email_addresses Mappage direct à partir du champ de journal brut "additionalDetails", où la clé est "EmailAddress".
additionalDetails.GrantType read_only_udm.additional.fields Mappage direct à partir du champ de journal brut "additionalDetails", où la clé est "GrantType".
additionalDetails.LocalAccountUsername read_only_udm.additional.fields Mappage direct à partir du champ de journal brut "additionalDetails", où la clé est "LocalAccountUsername".
additionalDetails.PhoneNumber read_only_udm.target.user.phone_numbers Mappage direct à partir du champ de journal brut "additionalDetails", où la clé est "PhoneNumber".
additionalDetails.PolicyId read_only_udm.security_result.rule_name Mappage direct à partir du champ de journal brut "additionalDetails", où la clé est "PolicyId".
additionalDetails.Scopes read_only_udm.additional.fields Mappage direct du champ de journal brut "additionalDetails", où la clé est "Scopes".
additionalDetails.TenantId read_only_udm.additional.fields Mappage direct à partir du champ de journal brut "additionalDetails", où la clé est "TenantId".
additionalDetails.VerificationMethod read_only_udm.additional.fields Mappage direct à partir du champ de journal brut "additionalDetails", où la clé est "VerificationMethod".
appId read_only_udm.target.process.pid Mappage direct à partir du champ de journal brut "appId".
appliedConditionalAccessPolicies read_only_udm.about Le champ "displayName" est mappé sur "read_only_udm.about.user.user_display_name" et le champ "id" est mappé sur "read_only_udm.about.user.userid". Le champ "result" est mappé sur "read_only_udm.about.labels", avec la clé définie sur "Result".
category read_only_udm.additional.fields, read_only_udm.security_result.category_details Mappage direct à partir du champ de journal brut "category". La clé de "read_only_udm.additional.fields" est définie sur "log_category".
callerIpAddress read_only_udm.principal.ip, read_only_udm.principal.asset.ip Mappage direct à partir du champ de journal brut "callerIpAddress".
clientAppUsed read_only_udm.principal.application Mappage direct à partir du champ de journal brut "clientAppUsed".
correlationId read_only_udm.network.session_id Mappage direct à partir du champ de journal brut "correlationId".
id read_only_udm.metadata.product_log_id Mappage direct à partir du champ de journal brut "id".
identity read_only_udm.target.user.userid Mappage direct à partir du champ de journal brut "identité".
initiatedBy.app.appId read_only_udm.principal.resource.attribute.labels Mappage direct à partir du champ de journal brut "initiatedBy.app.appId". La clé de "read_only_udm.principal.resource.attribute.labels" est définie sur "ID de l'application".
initiatedBy.app.displayName read_only_udm.principal.application Mappage direct à partir du champ de journal brut "initiatedBy.app.displayName".
initiatedBy.app.servicePrincipalId read_only_udm.principal.user.product_object_id Mappage direct à partir du champ de journal brut "initiatedBy.app.servicePrincipalId".
initiatedBy.app.servicePrincipalName read_only_udm.principal.user.userid Mappage direct à partir du champ de journal brut "initiatedBy.app.servicePrincipalName".
initiatedBy.user.displayName read_only_udm.principal.user.user_display_name, read_only_udm.principal.user.email_addresses Si la valeur contient "@", elle est analysée en tant qu'adresse e-mail et mappée sur "read_only_udm.principal.user.email_addresses". Sinon, il est mappé sur "read_only_udm.principal.user.user_display_name".
initiatedBy.user.id read_only_udm.principal.user.product_object_id Mappage direct à partir du champ de journal brut "initiatedBy.user.id".
initiatedBy.user.ipAddress read_only_udm.principal.ip, read_only_udm.principal.asset.ip Mappage direct à partir du champ de journal brut "initiatedBy.user.ipAddress".
initiatedBy.user.userPrincipalName read_only_udm.principal.user.userid, read_only_udm.principal.user.email_addresses, read_only_udm.principal.administrative_domain, read_only_udm.principal.resource.attribute.labels Si la valeur contient "@", elle est analysée en tant qu'adresse e-mail et mappée sur "read_only_udm.principal.user.email_addresses". Sinon, il est mappé sur "read_only_udm.principal.user.userid". La partie domaine de l'adresse e-mail est mappée sur "read_only_udm.principal.administrative_domain". La valeur complète est également mappée sur "read_only_udm.principal.resource.attribute.labels", avec la clé définie sur "User Principal Name" (Nom principal de l'utilisateur).
ipAddress read_only_udm.principal.ip, read_only_udm.principal.asset.ip Mappage direct à partir du champ de journal brut "ipAddress".
Niveau read_only_udm.security_result.severity, read_only_udm.security_result.severity_details La valeur est convertie en chaîne et mappée sur "read_only_udm.security_result.severity_details". Le champ "read_only_udm.security_result.severity" est défini sur "INFORMATIONAL".
location.city read_only_udm.principal.location.city Mappage direct à partir du champ de journal brut "location.city".
location.countryOrRegion read_only_udm.principal.location.country_or_region Mappage direct à partir du champ de journal brut "location.countryOrRegion".
location.geoCoordinates.latitude read_only_udm.principal.location.region_latitude Mappage direct à partir du champ de journal brut "location.geoCoordinates.latitude".
location.geoCoordinates.longitude read_only_udm.principal.location.region_longitude Mappage direct à partir du champ de journal brut "location.geoCoordinates.longitude".
location.state read_only_udm.principal.location.state Mappage direct à partir du champ de journal brut "location.state".
loggedByService read_only_udm.additional.fields Mappage direct à partir du champ de journal brut "loggedByService". La clé de "read_only_udm.additional.fields" est définie sur "loggedByService".
operationName read_only_udm.metadata.product_event_type Mappage direct à partir du champ de journal brut "operationName".
operationType read_only_udm.security_result.action_details Mappage direct à partir du champ de journal brut "operationType".
properties.activityDateTime read_only_udm.metadata.event_timestamp Mise en correspondance directe à partir du champ de journal brut "properties.activityDateTime".
properties.activityDisplayName read_only_udm.metadata.product_event_type Mise en correspondance directe à partir du champ de journal brut "properties.activityDisplayName".
properties.appDisplayName read_only_udm.target.application Mappage direct à partir du champ de journal brut "properties.appDisplayName".
properties.category read_only_udm.security_result.category_details Mappage direct à partir du champ de journal brut "properties.category".
properties.id read_only_udm.metadata.product_log_id Mappage direct à partir du champ de journal brut "properties.id".
properties.initiatedBy.app.appId read_only_udm.principal.resource.attribute.labels Mappage direct à partir du champ de journal brut "properties.initiatedBy.app.appId". La clé de "read_only_udm.principal.resource.attribute.labels" est définie sur "ID de l'application".
properties.initiatedBy.app.displayName read_only_udm.principal.application Mappage direct à partir du champ de journal brut "properties.initiatedBy.app.displayName".
properties.initiatedBy.app.servicePrincipalId read_only_udm.principal.user.product_object_id Mappage direct à partir du champ de journal brut "properties.initiatedBy.app.servicePrincipalId".
properties.initiatedBy.app.servicePrincipalName read_only_udm.principal.user.userid Mappage direct à partir du champ de journal brut "properties.initiatedBy.app.servicePrincipalName".
properties.initiatedBy.user.displayName read_only_udm.principal.user.user_display_name, read_only_udm.principal.user.email_addresses Si la valeur contient "@", elle est analysée en tant qu'adresse e-mail et mappée sur "read_only_udm.principal.user.email_addresses". Sinon, il est mappé sur "read_only_udm.principal.user.user_display_name".
properties.initiatedBy.user.id read_only_udm.principal.user.product_object_id Mappage direct à partir du champ de journal brut "properties.initiatedBy.user.id".
properties.initiatedBy.user.ipAddress read_only_udm.principal.ip, read_only_udm.principal.asset.ip Mappage direct à partir du champ de journal brut "properties.initiatedBy.user.ipAddress".
properties.initiatedBy.user.userPrincipalName read_only_udm.principal.user.userid, read_only_udm.principal.user.email_addresses, read_only_udm.principal.administrative_domain, read_only_udm.principal.resource.attribute.labels Si la valeur contient "@", elle est analysée en tant qu'adresse e-mail et mappée sur "read_only_udm.principal.user.email_addresses". Sinon, il est mappé sur "read_only_udm.principal.user.userid". La partie domaine de l'adresse e-mail est mappée sur "read_only_udm.principal.administrative_domain". La valeur complète est également mappée sur "read_only_udm.principal.resource.attribute.labels", avec la clé définie sur "User Principal Name" (Nom principal de l'utilisateur).
properties.loggedByService read_only_udm.additional.fields Mappage direct à partir du champ de journal brut "properties.loggedByService". La clé de "read_only_udm.additional.fields" est définie sur "loggedByService".
properties.operationType read_only_udm.security_result.action_details Mappage direct à partir du champ de journal brut "properties.operationType".
properties.result read_only_udm.security_result.summary Mappage direct à partir du champ de journal brut "properties.result".
properties.resultReason read_only_udm.security_result.description Mappage direct à partir du champ de journal brut "properties.resultReason".
properties.userPrincipalName read_only_udm.target.user.user_display_name Mappage direct à partir du champ de journal brut "properties.userPrincipalName".
résultat read_only_udm.security_result.summary, read_only_udm.security_result.action Mappage direct à partir du champ de journal brut "result". Si la valeur est "success", "read_only_udm.security_result.action" est défini sur "ALLOW". Si la valeur est "failure", "read_only_udm.security_result.action" est défini sur "BLOCK".
resultDescription read_only_udm.metadata.description, read_only_udm.security_result.description Mappage direct à partir du champ de journal brut "resultDescription".
resultReason read_only_udm.security_result.description Mappage direct à partir du champ de journal brut "resultReason".
resultType read_only_udm.security_result.rule_id, read_only_udm.security_result.summary, read_only_udm.security_result.action Mappage direct à partir du champ de journal brut "resultType". Si la valeur est "0", "read_only_udm.security_result.action" est défini sur "ALLOW" et "read_only_udm.security_result.summary" sur "Successful login occurred" (Connexion réussie). Sinon, "read_only_udm.security_result.action" est défini sur "BLOCK", "read_only_udm.security_result.summary" est défini sur "Failed login occurred", "read_only_udm.security_result.description" est défini sur la valeur de "resultDescription" et "read_only_udm.security_result.severity" est défini sur "ERROR".
resourceDisplayName read_only_udm.target.resource.name Mappage direct à partir du champ de journal brut "resourceDisplayName".
resourceId read_only_udm.additional.fields Mappage direct à partir du champ de journal brut "resourceId". La clé de "read_only_udm.additional.fields" est définie sur "resourceId".
riskDetail read_only_udm.additional.fields Mappage direct à partir du champ de journal brut "riskDetail". La clé de "read_only_udm.additional.fields" est définie sur "riskDetail".
riskEventTypes read_only_udm.additional.fields Mappage direct à partir du champ de journal brut "riskEventTypes". La clé de "read_only_udm.additional.fields" est définie sur "riskEventTypes".
riskEventTypes_v2 read_only_udm.additional.fields Mappage direct à partir du champ de journal brut "riskEventTypes_v2". La clé de "read_only_udm.additional.fields" est définie sur "riskEventTypes_v2".
riskLevelAggregated read_only_udm.additional.fields Mappage direct à partir du champ de journal brut "riskLevelAggregated". La clé de "read_only_udm.additional.fields" est définie sur "riskLevelAggregated".
riskLevelDuringSignIn read_only_udm.additional.fields, read_only_udm.security_result.priority Mappage direct à partir du champ de journal brut "riskLevelDuringSignIn". La clé de "read_only_udm.additional.fields" est définie sur "riskLevelDuringSignIn". Si la valeur est "medium", "read_only_udm.security_result.priority" est défini sur "MEDIUM_PRIORITY".
riskState read_only_udm.additional.fields Mappage direct à partir du champ de journal brut "riskState". La clé de "read_only_udm.additional.fields" est définie sur "riskState".
targetResources.0.displayName read_only_udm.target.resource.name, read_only_udm.target.user.user_display_name, read_only_udm.target.group.group_display_name Si la valeur de "targetResources.0.type" est "User" ou "ServicePrincipal", elle est mappée sur "read_only_udm.target.user.user_display_name". Si la valeur de "targetResources.0.type" est "Group", elle est mappée sur "read_only_udm.target.group.group_display_name". Sinon, la valeur est mappée sur "read_only_udm.target.resource.name".
targetResources.0.groupType read_only_udm.target.group.attribute.labels Mappage direct à partir du champ de journal brut "targetResources.0.groupType". La clé de "read_only_udm.target.group.attribute.labels" est définie sur "groupType".
targetResources.0.id read_only_udm.target.resource.product_object_id, read_only_udm.target.user.product_object_id, read_only_udm.target.group.product_object_id Si la valeur de "targetResources.0.type" est "User" ou "ServicePrincipal", elle est mappée sur "read_only_udm.target.user.product_object_id". Si la valeur de "targetResources.0.type" est "Group", elle est mappée sur "read_only_udm.target.group.product_object_id". Sinon, la valeur est mappée sur "read_only_udm.target.resource.product_object_id".
targetResources.0.modifiedProperties.displayName read_only_udm.additional.fields, read_only_udm.target.asset.asset_id, read_only_udm.target.user.title, read_only_udm.target.resource.attribute.roles, read_only_udm.target.user.user_display_name, read_only_udm.target.user.first_name, read_only_udm.target.user.last_name, read_only_udm.target.user.department, read_only_udm.target.user.office_address.name, read_only_udm.target.user.employee_id, read_only_udm.target.user.phone_numbers, read_only_udm.target.user.userid, read_only_udm.target.resource.attribute.labels, read_only_udm.src.resource.attribute.labels La valeur est mappée sur "read_only_udm.additional.fields", avec la clé définie sur "targetResources.modifiedProperties.displayname {index}". Si la valeur est "TargetId.DeviceId", la valeur de "targetResources.0.modifiedProperties.newValue" est mappée sur "read_only_udm.target.asset.asset_id" avec le préfixe "Device ID:". Si la valeur est "DisplayName" ou "jobTitle", la valeur de "targetResources.0.modifiedProperties.newValue" est mappée sur "read_only_udm.target.user.title". Si la valeur est "WellKnownObjectName", la valeur de "targetResources.0.modifiedProperties.newValue" est mappée sur "read_only_udm.target.resource.attribute.roles", la clé étant définie sur "name". Si la valeur est "displayName" et que "targetResources.0.displayName" est nulle, la valeur de "targetResources.0.modifiedProperties.newValue" est mappée sur "read_only_udm.target.user.user_display_name". Si la valeur est "givenName", la valeur de "targetResources.0.modifiedProperties.newValue" est mappée sur "read_only_udm.target.user.first_name". Si la valeur est "surname", la valeur de "targetResources.0.modifiedProperties.newValue" est mappée sur "read_only_udm.target.user.last_name". Si la valeur est "department", la valeur de "targetResources.0.modifiedProperties.newValue" est mappée sur "read_only_udm.target.user.department". Si la valeur est "physicalDeliveryOfficeName", la valeur de "targetResources.0.modifiedProperties.newValue" est mappée sur "read_only_udm.target.user.office_address.name". Si la valeur est "employeeId", la valeur de "targetResources.0.modifiedProperties.newValue" est mappée sur "read_only_udm.target.user.employee_id". Si la valeur est "mobile", la valeur de "targetResources.0.modifiedProperties.newValue" est mappée sur "read_only_udm.target.user.phone_numbers". Si la valeur est "MailNickname", la valeur de "targetResources.0.modifiedProperties.newValue" est mappée sur "read_only_udm.target.user.userid". Sinon, la valeur de "targetResources.0.modifiedProperties.newValue" est mappée sur "read_only_udm.target.resource.attribute.labels", la clé étant définie sur la valeur de "targetResources.0.modifiedProperties.displayName". La valeur de "targetResources.0.modifiedProperties.oldValue" est mappée sur "read_only_udm.src.resource.attribute.labels", la clé étant définie sur la valeur de "targetResources.0.modifiedProperties.displayName".
targetResources.0.modifiedProperties.newValue read_only_udm.target.asset.asset_id, read_only_udm.target.user.title, read_only_udm.target.resource.attribute.roles, read_only_udm.target.user.user_display_name, read_only_udm.target.user.first_name, read_only_udm.target.user.last_name, read_only_udm.target.user.department, read_only_udm.target.user.office_address.name, read_only_udm.target.user.employee_id, read_only_udm.target.user.phone_numbers, read_only_udm.target.user.userid, read_only_udm.target.resource.attribute.labels, read_only_udm.additional.fields Si la valeur de "targetResources.0.modifiedProperties.displayName" est "TargetId.DeviceId", elle est mappée sur "read_only_udm.target.asset.asset_id" avec le préfixe "Device ID:". Si la valeur de "targetResources.0.modifiedProperties.displayName" est "DisplayName" ou "jobTitle", elle est mappée sur "read_only_udm.target.user.title". Si la valeur de "targetResources.0.modifiedProperties.displayName" est "WellKnownObjectName", elle est mappée sur "read_only_udm.target.resource.attribute.roles", avec la clé définie sur "name". Si la valeur de "targetResources.0.modifiedProperties.displayName" est "displayName" et que "targetResources.0.displayName" est nulle, la valeur est mappée sur "read_only_udm.target.user.user_display_name". Si la valeur de "targetResources.0.modifiedProperties.displayName" est "givenName", elle est mappée sur "read_only_udm.target.user.first_name". Si la valeur de "targetResources.0.modifiedProperties.displayName" est "surname", elle est mappée sur "read_only_udm.target.user.last_name". Si la valeur de "targetResources.0.modifiedProperties.displayName" est "department", elle est mappée sur "read_only_udm.target.user.department". Si la valeur de "targetResources.0.modifiedProperties.displayName" est "physicalDeliveryOfficeName", elle est mappée sur "read_only_udm.target.user.office_address.name". Si la valeur de "targetResources.0.modifiedProperties.displayName" est "employeeId", elle est mappée sur "read_only_udm.target.user.employee_id". Si la valeur de "targetResources.0.modifiedProperties.displayName" est "mobile", elle est mappée sur "read_only_udm.target.user.phone_numbers". Si la valeur de "targetResources.0.modifiedProperties.displayName" est "MailNickname", elle est mappée sur "read_only_udm.target.user.userid". Sinon, la valeur est mappée sur "read_only_udm.target.resource.attribute.labels", et la clé est définie sur la valeur de "targetResources.0.modifiedProperties.displayName". La valeur est également mappée sur "read_only_udm.additional.fields", avec la clé définie sur "targetResources.modifiedProperties.newValue {index}".
targetResources.0.modifiedProperties.oldValue read_only_udm.src.resource.attribute.labels, read_only_udm.additional.fields La valeur est mappée sur "read_only_udm.src.resource.attribute.labels", et la clé est définie sur la valeur "targetResources.0.modifiedProperties.displayName". La valeur est également mappée sur "read_only_udm.additional.fields", avec la clé définie sur "targetResources.modifiedProperties.oldValue {index}".
targetResources.0.type read_only_udm.target.resource.resource_subtype, read_only_udm.target.resource.resource_type, read_only_udm.target.user.userid, read_only_udm.target.user.product_object_id, read_only_udm.target.user.user_display_name, read_only_udm.target.group.product_object_id, read_only_udm.target.group.group_display_name Mappage direct à partir du champ de journal brut "targetResources.0.type". Si la valeur est "ServicePrincipal", "read_only_udm.target.resource.resource_type" est défini sur "SERVICE_ACCOUNT". Si la valeur est "Device" (Appareil), "read_only_udm.target.resource.resource_type" est défini sur "DEVICE". Sinon, "read_only_udm.target.resource.resource_type" est défini sur "UNSPECIFIED". Si la valeur est "User" ou "ServicePrincipal", la valeur de "targetResources.0.userPrincipalName" est mappée sur "read_only_udm.target.user.userid", la valeur de "targetResources.0.id" est mappée sur "read_only_udm.target.user.product_object_id" et la valeur de "targetResources.0.displayName" est mappée sur "read_only_udm.target.user.user_display_name". Si la valeur est "Group" (Groupe), la valeur de "targetResources.0.id" est mappée sur "read_only_udm.target.group.product_object_id" et la valeur de "targetResources.0.displayName" est mappée sur "read_only_udm.target.group.group_display_name".
targetResources.0.userPrincipalName read_only_udm.target.user.userid, read_only_udm.target.user.email_addresses Si la valeur contient "@", elle est analysée en tant qu'adresse e-mail et mappée sur "read_only_udm.target.user.email_addresses". Sinon, il est mappé sur "read_only_udm.target.user.userid".
targetResources.displayName read_only_udm.about.resource.name, read_only_udm.about.user.userid, read_only_udm.about.user.user_display_name, read_only_udm.about.group.group_display_name, read_only_udm.about.group.attribute.labels Si la valeur de "targetResources.type" est "User" ou "ServicePrincipal", elle est mappée sur "read_only_udm.about.user.user_display_name" et "read_only_udm.about.user.userid". Si la valeur de "targetResources.type" est "Group", elle est mappée sur "read_only_udm.about.group.group_display_name". La valeur de "targetResources.groupType" est mappée sur "read_only_udm.about.group.attribute.labels", avec la clé définie sur "groupType". Sinon, la valeur est mappée sur "read_only_udm.about.resource.name".
targetResources.groupType read_only_udm.about.group.attribute.labels, read_only_udm.target.user.group_identifiers Mappage direct à partir du champ de journal brut "targetResources.groupType". La clé de "read_only_udm.about.group.attribute.labels" est définie sur "groupType".
targetResources.id read_only_udm.about.resource.product_object_id, read_only_udm.about.user.product_object_id, read_only_udm.about.group.product_object_id Si la valeur de "targetResources.type" est "User" ou "ServicePrincipal", elle est mappée sur "read_only_udm.about.user.product_object_id". Si la valeur de "targetResources.type" est "Group", elle est mappée sur "read_only_udm.about.group.product_object_id". Sinon, la valeur est mappée sur "read_only_udm.about.resource.product_object_id".
targetResources.modifiedProperties.displayName read_only_udm.additional.fields La valeur est mappée sur "read_only_udm.additional.fields", avec la clé définie sur "targetResources.modifiedProperties.displayname {index}".
targetResources.modifiedProperties.newValue read_only_udm.additional.fields La valeur est mappée sur "read_only_udm.additional.fields", et la clé est définie sur "targetResources.modifiedProperties.newValue {index}".
targetResources.modifiedProperties.oldValue read_only_udm.additional.fields La valeur est mappée sur "read_only_udm.additional.fields", et la clé est définie sur "targetResources.modifiedProperties.oldValue {index}".
targetResources.type read_only_udm.about.resource.resource_subtype, read_only_udm.about.resource.resource_type, read_only_udm.about.user.userid, read_only_udm.about.user.product_object_id, read_only_udm.about.user.user_display_name, read_only_udm.about.group.product_object_id, read_only_udm.about.group.group_display_name Mappage direct à partir du champ de journal brut "targetResources.type". Si la valeur est "ServicePrincipal", "read_only_udm.about.resource.resource_type" est défini sur "SERVICE_ACCOUNT". Si la valeur est "Device" (Appareil), "read_only_udm.about.resource.resource_type" est défini sur "DEVICE". Sinon, "read_only_udm.about.resource.resource_type" est défini sur "UNSPECIFIED". Si la valeur est "User" ou "ServicePrincipal", la valeur de "targetResources.userPrincipalName" est mappée sur "read_only_udm.about.user.userid", la valeur de "targetResources.id" est mappée sur "read_only_udm.about.user.product_object_id" et la valeur de "targetResources.displayName" est mappée sur "read_only_udm.about.user.user_display_name". Si la valeur est "Group" (Groupe), la valeur de "targetResources.id" est mappée sur "read_only_udm.about.group.product_object_id" et la valeur de "targetResources.displayName" est mappée sur "read_only_udm.about.group.group_display_name".
targetResources.userPrincipalName read_only_udm.about.user.userid, read_only_udm.about.user.email_addresses Si la valeur contient "@", elle est analysée en tant qu'adresse e-mail et mappée sur "read_only_udm.about.user.email_addresses". Sinon, il est mappé sur "read_only_udm.about.user.userid".
tenantId read_only_udm.additional.fields Mappage direct à partir du champ de journal brut "tenantId". La clé de "read_only_udm.additional.fields" est définie sur "tenantId".
temps read_only_udm.metadata.event_timestamp Mappage direct à partir du champ de journal brut "time".
userId read_only_udm.target.user.product_object_id Mappage direct à partir du champ de journal brut "userId". La valeur est définie en fonction des valeurs d'autres champs, y compris "activityDisplayName", "principal_userid_present", "target_userid_present", "principal_ip_present", "loggedByService" et "category". La logique de définition de la valeur est complexe et dépend de la combinaison spécifique de valeurs dans ces champs. La valeur est définie sur "SSO" si la valeur de "operationName" est "Activité de connexion". La valeur est définie sur "Microsoft". La valeur est définie sur "Azure AD Directory Audit". La valeur est définie sur "AZURE_AD_AUDIT".

Modifications

2024-07-30

  • Lorsque "principal.user.userid" ou "target.user.userid" est présent, seul "metadata.event_type" est mappé sur "USER_CHANGE_PERMISSIONS".

2024-06-26

  • Différence mappée entre "targetResources.modifiedProperties.newValue" et "targetResources.modifiedProperties.oldValue" vers "additional.fields".

2024-06-10

  • Lorsque "initiatedBy.user.ipAddress" contient une adresse IP, définissez "principal_ip_present" sur "true".
  • Ajout d'une condition pour définir "metadata.event_type" sur "USER_DELETION" uniquement lorsque "principal_ip_present" est défini sur "true".

2024-06-03

  • Ajout d'un bloc JSON pour analyser les journaux non analysés.
  • Ajout d'une vérification conditionnelle pour "event_type" "USER_DELETION".

2024-05-20

Correction de bug:

  • Modification du mappage de "targetResource".
  • La première itération de "targetResource" a été mappée sur "target" et l'itération suivante de "targetResource" sur "about".
  • Modification du nom de clé du champ "loggedByService" de "log_Service" à "loggedByService".
  • Modification de la mise en correspondance de "resourceId" de "target.resource.id" à "additional_fields".
  • Lorsque "targetResources.type" = "Application", "Policy", "Role", "Directory", "RoleAssignment", "Request", "Provider", "Other", mappez "targetResources.displayName" sur "noun.resource.name", "targetResources.id" sur "noun.resource.product_object_id", "noun.resource.resource_type" sur "UNSPECIFIED" et "targetResource.type" sur "noun.resource.resource_subtype".
  • Lorsque "targetResources.type" est défini sur "User", "targetResources.displayName" est mappé sur "noun.resource.name", "targetResources.id" sur "noun.resource.product_object_id", "noun.resource.resource_type" sur "UNSPECIFIED", "targetResource.type" sur "noun.resource.resource_subtype", "targetResources.displayName" sur "noun.user.user_display_name", "targetResources.id" sur "noun.user.product_object_id" et "targetResources.userPrincipalName" sur "noun.user.userid".
  • Lorsque "targetResources.type" = "ServicePrincipal", mappez "targetResources.displayName" sur "noun.resource.name", "targetResources.id" sur "noun.resource.product_object_id", "noun.resource.resource_type" sur "SERVICE_ACCOUNT", "targetResource.type" sur "noun.resource.resource_subtype", "targetResources.displayName" sur "noun.user.user_display_name", "targetResources.id" sur "noun.user.product_object_id" et "targetResources.userPrincipalName" sur "noun.user.userid".
  • Lorsque "targetResources.type" est défini sur "Group", "targetResources.displayName" est mappé sur "noun.resource.name", "targetResources.id" sur "noun.resource.product_object_id", "noun.resource.resource_type" sur "UNSPECIFIED", "targetResource.type" sur "noun.resource.resource_subtype", "targetResources.displayName" sur "noun.group.group_display_name", "targetResources.id" sur "noun.group.product_object_id" et "groupType" sur "noun.group.attribute.labels".

2024-05-17

  • Mappage de "initiatedBy.user.id" sur "principal.user.product_object_id".
  • Mappage de "initiatedBy.user.userPrincipalName" sur "principal.user.userid".

2024-03-18

  • Les champs "targetResources.modifiedProperties.displayname", "targetResources.modifiedProperties.newValue" et "targetResources.modifiedProperties.oldValue" sont affichés même lorsque la valeur est nulle.
  • Mappage de "callerIpAddress" sur "principal.ip".

2024-03-12

Correction de bug:

  • Mappages synchronisés des mappages de journaux au format d'enveloppe Azure Monitor aux journaux au format de l'API Microsoft Graph.
  • "target.resource.resource_type" mappé en fonction de "targetResources.type".
  • Mappage de "targetResources.type" sur "target.resource.type".

2024-03-04

  • "user_principal_name" a été mappé de "initiatedBy.user.userPrincipalName" à "principal.resource.attribute.labels".
  • "domain" mappé de "initiatedBy.user.userPrincipalName" à "principal.administrative_domain".
  • Mappage de "loggedByService" et "properties.loggedByService" sur "additional.fields".
  • Modification du mappage de "initiatedBy.user.id" de "principal.user.product_object_id" à "principal.user.userid".
  • Mappage de "tgt_user_principal_name" de "target.userPrincipalName" vers "target.resource.attribute.labels".
  • Mappage de "domain" de "target.userPrincipalName" vers "target.administrative_domain".
  • "category" a été mappé sur "additional.fields".
  • Lorsque "additionalDetails[n].key" est "AppId", mappez "additionalDetails[n].value" sur "target.process.pid".
  • Lorsque "additionalDetails[n].key" est "User-Agent", "additionalDetails[n].value" est mappé sur "network.http.user_agent" et "network.http.parsed_user_agent".
  • Mappage de "metadata.event_type" en fonction de "loggedByService", "category" et "activityDisplayName".
  • Mappage de "targetResources.modifiedProperties.displayname", "targetResources.modifiedProperties.newValue" et "targetResources.modifiedProperties.oldValue" sur "additional.fields".

2024-02-21

  • Ajout d'une vérification conditionnelle si "principal.user.userid" est présent avant de définir "metadata.event_type" sur "USER_CREATION".
  • Modification du mappage de "initiatedBy.user.id" de "principal.user.userid" à "principal.user.product_object_id".
  • Modification du mappage de "initiatedBy.app.servicePrincipalId" de "principal.user.userid" à "principal.user.product_object_id".
  • Modification du mappage de "initiatedBy.app.servicePrincipalName" de "principal.user.user_display_name" à "principal.user.userid".
  • Modification du mappage de "properties.initiatedBy.user.id" de "principal.user.userid" à "principal.user.product_object_id".
  • Modification du mappage de "properties.initiatedBy.app.servicePrincipalId" de "principal.user.userid" à "principal.user.product_object_id".
  • Modification du mappage de "properties.initiatedBy.app.servicePrincipalName" de "principal.user.user_display_name" à "principal.user.userid".
  • Si la valeur de "targetResourceType" est semblable à "User" ou "ServicePrincipal", le mappage de "target.id" est modifié de "target.user.userid" à "target.user.product_object_id".
  • Si la valeur "targetResourceType" est semblable à "User" ou "ServicePrincipal", mappez "target.userPrincipalName" sur "target.user.userid".
  • Si la valeur "targetResourceType" est semblable à "User" ou "ServicePrincipal", la valeur "target.displayName" est mappée sur "target.user.user_display_name".

2024-02-12

  • Ajout d'une vérification conditionnelle pour "modifiedProperty.displayName", "modifiedProperty.newValue" et "modifiedProperty.oldValue".
  • Lorsque "targetResource.id" est "User" ou "ServicePrincipal", il a été mappé sur "target.user.userid".

2024-01-08

Correction de bug:

  • Ajout d'un modèle Grok pour valider les valeurs d'adresse e-mail avant de les mapper sur "principal.user.email_addresses" et "target.user.email_addresses".

2023-12-19

  • Mappage de "targetResource.modifiedProperties.newValue", "targetResource.modifiedProperties.oldValue" et "targetResource.modifiedProperties.displayName" sur "additional.fields".

2023-11-23

  • Mappage des champs "targetResources.0.modifiedProperties.newValue/oldValue" sur "event.idm.read_only_udm.additional.fields".
  • Ajout d'une vérification du format de l'adresse IP dans "initiatedBy.user.ipAddress" avant le mappage vers udm.

2023-10-16

  • a modifié les mappages suivants:
  • La valeur "USER_UNCATEGORIZED" a été remplacée par "USER_RESOURCE_ACCESS" pour "metadata.event_type" lorsque "target.type" n'est pas "user".
  • Modification du mappage de "target.id" de "principal.user.userid" à "principal.user.group_or_identifiers" lorsque "target.type" n'est pas "user".
  • Le champ mappé sur "target.resource.id" a également été mappé sur "target.resource.product_object_id", car "target.resource.id" est obsolète.

2023-08-03

  • a modifié les mappages suivants:
  • Modification de "metadata.event_type" de "USER_UNCATEGORIZED" à "USER_CREATION" lorsque "activityDisplayName" est "Ajouter un utilisateur".
  • Modification du mappage de "activityDisplayName" de "metadata.description" à "metadata.product_event_type".
  • Mappage de "metadata.event_type" approprié lorsque "activityDisplayName" est "Ajouter un membre au groupe", "Ajouter un propriétaire au groupe".
  • Tous les champs sous "targetResources" doivent faire partie des champs target.user. de l'UDM.
  • "target.user.userid" mappé sur le bon "id" sous "targetResource".
  • Pour "activityDisplayName" comme "Ajouter un membre à un rôle en dehors de PIM (permanent)" dans "activityDisplayName" mappé "target.user.xxx" lorsque le type de ressource est "Utilisateur".
  • Pour "activityDisplayName", "Ajouter un membre au rôle" a mappé "Role.WellKnownObjectName" sur "target.resource.attribute.roles.name".

2023-07-24

  • a mappé "targetresources.modifiedproperties.newvalue" sur "target.user.title" lorsque la valeur "targetresources.modifiedproperties.displayname" contient "role.displayname".

2023-05-25

  • Correction de bug: le mappage de "target.resource.attribute.labels.value" a été remplacé par "target.user.userid" lorsque "targetResources.modifiedProperties.displayName" est égal à "mailNickname".

2023-05-05

  • a modifié les mappages suivants :
  • Modification de la mise en correspondance de "target.resource.attribute.labels.value" en "target.user.product_object_id" lorsque "targetResources.modifiedProperties.displayName" est égal à "objectId".
  • Modification de la mise en correspondance de "target.resource.attribute.labels.value" en "target.user.user_display_name" lorsque "targetResources.modifiedProperties.displayName" est égal à "displayName".
  • Modification de la mise en correspondance de "target.resource.attribute.labels.value" en "target.user.first_name" lorsque "targetResources.modifiedProperties.displayName" est égal à "givenName".
  • Modification de la mise en correspondance de "target.resource.attribute.labels.value" en "target.user.title" lorsque "targetResources.modifiedProperties.displayName" est égal à "jobTitle".
  • Modification de la mise en correspondance de "target.resource.attribute.labels.value" en "target.user.email_addresses" lorsque "targetResources.modifiedProperties.displayName" est égal à "mail".
  • Modification de la mise en correspondance de "target.resource.attribute.labels.value" à "target.user.last_name" lorsque "targetResources.modifiedProperties.displayName" est égal à "surname".
  • Modification de la mise en correspondance de "target.resource.attribute.labels.value" en "target.user.department" lorsque "targetResources.modifiedProperties.displayName" est égal à "department".
  • Modification de la mise en correspondance de "target.resource.attribute.labels.value" en "target.user.office_address.name" lorsque "targetResources.modifiedProperties.displayName" est égal à "physicalDeliveryOfficeName".
  • Modification de la mise en correspondance de "target.resource.attribute.labels.value" en "target.user.employee_id" lorsque "targetResources.modifiedProperties.displayName" est égal à "employeeId".
  • Modification de la mise en correspondance de "target.resource.attribute.labels.value" à "target.user.phone_numbers" lorsque "targetResources.modifiedProperties.displayName" est égal à "mobile".

2023-04-18

  • "initiatedBy.user.userPrincipalName" mappé sur "principal.user.user_display_name" ou "principal.user.userid" ou "principal.user.email_addresses".
  • "targetResources.type" mappé sur "target.resource.attribute.labels".

2023-04-12

Amélioration :

  • "initiatedBy.user.userPrincipalName" a été mappé sur "principal.user.email_addresses" et "event_type" sur "USER_UNCATEGORIZED".
  • lorsque "initiatedBy.user.userPrincipalName" n'est pas nul.
  • Si "targetResources.modifiedProperties.displayName" est "userPrincipalName", il a été mappé sur "principal.user.email_addresses".
  • Mappage de "event_type" sur "USER_UNCATEGORIZED" lorsque "activityDisplayName" est dans ["Émettre un id_token pour l'application", "Définir des informations sur l'entreprise"].

2023-02-20

Correction de bugs :

  • Plusieurs adresses IP provenant de la clé "additionalDetails.ClientIpAddress" ont été mappées sur "principal.ip".
  • La valeur "USER_UNCATEGORIZED" a été mappée pour metadata.event_type lorsque "activityDisplayName" est égal à "Delete user" (Supprimer l'utilisateur) et que le champ "initiatedBy.user.userPrincipalName" n'est pas présent.

2023-02-02

  • Amélioration : mappage des éléments suivants lorsque "activityDisplayName" est égal à "Delete user" (Supprimer l'utilisateur) :
  • "event_type" a été mappé sur "USER_DELETION".
  • Mappage de "initiatedBy.user.userPrincipalName" sur "principal.user.userid".

2022-11-24

Amélioration :

  • Mappage de "modifiedProperties.newValue" sur "target.resource.attribute.labels".
  • Mappage de "modifiedProperties.oldValue" sur "src.resource.attribute.labels".

2022-11-07

Amélioration :

  • Mappage de "target.modifiedProperties.TargetId.DeviceId" sur "event.idm.read_only_udm.target.asset.asset_id".

2022-09-16

Amélioration :

  • Mappage de "properties.initiatedBy.user.ipAddress" sur "principal.ip".
  • Mappage de "properties.initiatedBy.user.userPrincipalName" sur "principal.user.userid".
  • "properties.resultReason" a été mappé sur "security_result.description".
  • Mappage de "identity" sur "target.user.userid".
  • "operationName" a été mappé sur "metadata.product_event_type".
  • Mappage de "metadata.event_type" sur "USER_UNCATEGORIZED", où "properties.activityDisplayName" est "Obtenir les propriétés des ressources d'un locataire".
  • Mappage de "category" et "properties.category" sur "security_result.category_details".
  • Mappage de "resultDescription" sur "metadata.description".
  • Mappage de "resultType" sur "security_result.rule_id".

2022-06-20

  • Amélioration : l'analyseur a été amélioré pour analyser les journaux de la catégorie "AuditLogs" et "SignInLogs" en ajoutant les mappages suivants :
  • Mise en correspondance du champ "properties.id" avec "metadata.product_log_id".
  • Mappage du champ "properties.loggedByService" sur "target.application".
  • Mappage du champ "Niveau" sur "security_result.severity" et "security_result.severity_details".
  • Mappage du champ "properties.result" sur "security_result.summary" et "security_result.action".
  • Mappage du champ "properties.operationType" sur "security_result.action_details".
  • Mappage du champ "properties.activityDisplayName" sur "metadata.description".
  • Vous avez mappé le champ "properties.category" sur "metadata.product_event_type".
  • Mappage du champ "properties.resultReason" sur "security_result.description".
  • Mappage du champ "properties.initiatedBy.app.displayName" sur "principal.application".
  • Mappage du champ "properties.ipAddress" sur "principal.ip".
  • Mappage du champ "properties.initiatedBy.app.servicePrincipalId" sur "principal.user.userid".
  • Mappage du champ "properties.initiatedBy.app.servicePrincipalName" sur "principal.user.user_display_name".
  • Mappage des champs "properties.appId" et "properties.initiatedBy.app.appId" sur "principal.resource.attribute.labels".
  • Mappage du champ "properties.location.city" sur "principal.location.city".
  • Mappage du champ "properties.location.state" sur "principal.location.state".
  • Mappage du champ "properties.location.countryOrRegion" sur "principal.location.country_or_region".
  • Mappage du champ "properties.location.geoCoordinates.latitude" sur "principal.location.region_latitude".
  • Mappage du champ "properties.location.geoCoordinates.longitude" sur "principal.location.region_longitude".
  • Mappage des champs "properties.targetResources.modifiedProperties" sur "target.user.attribute.labels".
  • Mappage du champ "targetResources.displayName" sur "target.user.user_display_name".
  • Mappage du champ "targetResources.id" sur "target.user.userid".
  • Mappage des champs "properties.additionalDetails", "properties.riskDetail", "properties.riskEventTypes", "properties.riskEventTypes_v2", "properties.riskLevelAggregated", "properties.riskLevelDuringSignIn", "properties.riskState", "properties.conditionalAccessStatus", "tenantId" sur "additional.fields".
  • Mappage du champ "operationVersion" sur "metadata.product_version".
  • Mappage du champ "properties.appliedConditionalAccessPolicies.displayName" sur "about.user.user_display_name".
  • Mappage du champ "properties.appliedConditionalAccessPolicies..id" sur "about.user.userid".
  • Mappage du champ "properties.appliedConditionalAccessPolicies.result" sur "about.labels".