Collecter les journaux d'activité Microsoft Graph

Compatible avec:

Présentation

Cet analyseur extrait des champs des journaux d'activité Microsoft Graph et les transforme en modèle de données unifié (UDM). Il initialise les champs UDM, analyse la charge utile, extrait les codes temporels, met en correspondance diverses propriétés avec les champs UDM, gère les adresses IP et les ports, et catégorise le type d'événement en fonction de la présence d'informations sur l'utilisateur principal et le réseau.

Avant de commencer

  • Assurez-vous de disposer d'une instance Google SecOps.
  • Assurez-vous de disposer d'un accès privilégié à Microsoft Entra ID et aux comptes de stockage Azure.

Configurer un compte de stockage Azure

  1. Dans la console Azure, recherchez "comptes de stockage".
  2. Cliquez sur Créer.
  3. Spécifiez les valeurs des paramètres d'entrée suivants :
    • Abonnement: sélectionnez l'abonnement.
    • Groupe de ressources: sélectionnez le groupe de ressources.
    • Région: sélectionnez la région.
    • Performances: sélectionnez le niveau de performances souhaité (standard est recommandé).
    • Redondance: sélectionnez le niveau de redondance souhaité (GRS ou LRS recommandé).
    • Nom du compte de stockage: saisissez un nom pour le nouveau compte de stockage.
  4. Cliquez sur Examiner et créer.
  5. Consultez la présentation du compte, puis cliquez sur Créer.
  6. Sur la page Présentation du compte de stockage, sélectionnez le sous-menu Clés d'accès dans Sécurité et mise en réseau.
  7. Cliquez sur Afficher à côté de clé1 ou clé2.
  8. Cliquez sur Copy to clipboard (Copier dans le presse-papiers) pour copier la clé.
  9. Enregistrez la clé dans un endroit sécurisé pour référence ultérieure.
  10. Sur la page Aperçu du compte de stockage, sélectionnez le sous-menu Points de terminaison dans Paramètres.
  11. Cliquez sur Copier dans le presse-papiers pour copier l'URL du point de terminaison du service Blob (par exemple, https://.blob.core.windows.net).
  12. Enregistrez l'URL du point de terminaison dans un emplacement sécurisé pour référence ultérieure.

Configurer l'exportation des journaux d'activité Microsoft Graph vers un compte de stockage

  1. Dans la console Azure, recherchez ID Entra.
  2. Sélectionnez Surveillance > Paramètres de diagnostic.
  3. Cliquez sur + Ajouter un paramètre de diagnostic.
  4. Attribuez un nom unique au paramètre (par exemple, ms-graph-activity).
  5. Sélectionnez la catégorie MicrosoftGraphActivityLog que vous souhaitez exporter vers Google SecOps.
  6. Sous Détails de la destination, sélectionnez Archiver dans un compte de stockage.
  7. Sélectionnez votre abonnement et le compte de stockage que vous avez créé à l'étape précédente.
  8. Cliquez sur Enregistrer.

Configurer un flux dans Google SecOps pour ingérer les journaux d'activité Microsoft Graph

  1. Accédez à Paramètres du SIEM > Flux.
  2. Cliquez sur Ajouter.
  3. Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Journaux d'activité Microsoft Graph).
  4. Sélectionnez Microsoft Azure Blob Storage comme Type de source.
  5. Sélectionnez Journaux d'activité Microsoft Graph comme Type de journal.
  6. Cliquez sur Suivant.
  7. Spécifiez les valeurs des paramètres d'entrée suivants:

    • URI Azure: URL du point de terminaison de blob.

      ENDPOINT_URL/BLOB_NAME

      Remplacez les éléments suivants :

      • ENDPOINT_URL: URL du point de terminaison du blob (https://<storageaccountname>.blob.core.windows.net)
      • BLOB_NAME: nom du blob (par exemple, insights-logs-)
    • L'URI est: sélectionnez le type d'URI en fonction de la configuration du flux de journaux (Fichier | Répertoire | Répertoire incluant des sous-répertoires).

    • Options de suppression de la source: sélectionnez l'option de suppression de votre choix.

    • Clé partagée: clé d'accès à Azure Blob Storage.
    • Espace de noms des éléments: espace de noms des éléments.
    • Libellés d'ingestion: libellé à appliquer aux événements de ce flux.
  8. Cliquez sur Suivant.

  9. Vérifiez la configuration de votre nouveau flux dans l'écran Finaliser, puis cliquez sur Envoyer.

Tableau de mappage UDM

Champ de journal Mappage UDM Logique
callerIpAddress principal.asset.ip Le champ de journal brut callerIpAddress est copié dans le champ UDM.
callerIpAddress principal.ip Le champ de journal brut callerIpAddress est copié dans le champ UDM.
category security_result.category_details Le champ de journal brut category est copié dans le champ UDM.
correlationId security_result.detection_fields.value Le champ de journal brut correlationId est copié dans le champ UDM, où la clé est correlationId.
Level security_result.detection_fields.value Le champ de journal brut Level est converti en chaîne et copié dans le champ UDM, où la clé est Level.
operationName metadata.product_event_type Le champ de journal brut operationName est copié dans le champ UDM.
operationVersion additional.fields.value.string_value Le champ de journal brut operationVersion est copié dans le champ UDM, où la clé est operationVersion.
properties.apiVersion metadata.product_version Le champ de journal brut properties.apiVersion est copié dans le champ UDM.
properties.appId target.resource.product_object_id Le champ de journal brut properties.appId est copié dans le champ UDM.
properties.atContent additional.fields.value.string_value Le champ de journal brut properties.atContent est copié dans le champ UDM, où la clé est atContent.
properties.clientAuthMethod extensions.auth.auth_details En fonction de la valeur de properties.clientAuthMethod, le champ UDM est défini sur "Client public" (0), "ID client/Secret client" (1) ou "Certificat client" (2).
properties.clientRequestId additional.fields.value.string_value Le champ de journal brut properties.clientRequestId est copié dans le champ UDM, où la clé est clientRequestId.
properties.durationMs network.session_duration.seconds Le champ de journal brut properties.durationMs est converti de millisecondes en secondes et copié dans le champ UDM.
properties.identityProvider security_result.detection_fields.value Le champ de journal brut properties.identityProvider est copié dans le champ UDM, où la clé est identityProvider.
properties.ipAddress principal.asset.ip L'adresse IP du champ de journal brut properties.ipAddress est extraite et copiée dans le champ UDM.
properties.ipAddress principal.ip L'adresse IP du champ de journal brut properties.ipAddress est extraite et copiée dans le champ UDM.
properties.location principal.location.name Le champ de journal brut properties.location est copié dans le champ UDM.
properties.operationId security_result.detection_fields.value Le champ de journal brut properties.operationId est copié dans le champ UDM, où la clé est operationId.
properties.requestMethod network.http.method Le champ de journal brut properties.requestMethod est copié dans le champ UDM.
properties.requestId metadata.product_log_id Le champ de journal brut properties.requestId est copié dans le champ UDM.
properties.responseSizeBytes network.received_bytes Le champ de journal brut properties.responseSizeBytes est converti en entier non signé et copié dans le champ UDM.
properties.responseStatusCode network.http.response_code Le champ de journal brut properties.responseStatusCode est converti en entier et copié dans le champ UDM.
properties.roles additional.fields.value.string_value Le champ de journal brut properties.roles est copié dans le champ UDM, où la clé est roles.
properties.scopes additional.fields.value.string_value Le champ de journal brut properties.scopes est copié dans le champ UDM, où la clé est Scopes.
properties.servicePrincipalId principal.user.userid Le champ de journal brut properties.servicePrincipalId est copié dans le champ UDM si properties.userId est vide.
properties.signInActivityId network.session_id Le champ de journal brut properties.signInActivityId est copié dans le champ UDM.
properties.tenantId metadata.product_deployment_id Le champ de journal brut properties.tenantId est copié dans le champ UDM.
properties.tokenIssuedAt additional.fields.value.string_value Le champ de journal brut properties.tokenIssuedAt est copié dans le champ UDM, où la clé est tokenIssuedAt.
properties.userAgent network.http.user_agent Le champ de journal brut properties.userAgent est copié dans le champ UDM.
properties.userId principal.user.userid Le champ de journal brut properties.userId est copié dans le champ UDM.
properties.wids security_result.detection_fields.value Le champ de journal brut properties.wids est copié dans le champ UDM, où la clé est wids.
resourceId target.resource.attribute.labels.value Le champ de journal brut resourceId est copié dans le champ UDM, où la clé est Resource ID.
resultSignature additional.fields.value.string_value Le champ de journal brut resultSignature est copié dans le champ UDM, où la clé est resultSignature.
time metadata.event_timestamp Le champ de journal brut time est analysé, converti en code temporel et copié dans le champ UDM. Le champ UDM event.idm.read_only_udm.metadata.event_type est défini sur "NETWORK_HTTP" si has_principal est défini sur "true" et que network.http n'est pas vide, sur "STATUS_UPDATE" si has_principal est défini sur "true" et que network.http est vide, ou sur "GENERIC_EVENT" dans le cas contraire. Le champ UDM est défini sur "Microsoft Graph". Le champ UDM est défini sur "Microsoft".

Modifications

2024-05-27

  • Définissez "metadata.vendor_name" sur "Microsoft" et "metadata.product_name" sur "Microsoft Graph".

2024-03-01

  • Analyseur nouvellement créé.