Collecter les journaux d'activité Microsoft Graph

Compatible avec :

Présentation

Cet analyseur extrait les champs des journaux d'activité Microsoft Graph et les transforme au format UDM (Unified Data Model). Il initialise les champs UDM, analyse la charge utile, extrait les codes temporels, mappe différentes propriétés aux 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 principales et réseau.

Avant de commencer

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

  • Instance Google SecOps.
  • Accès privilégié aux comptes Microsoft Entra ID et de stockage Azure.

Configurer un compte de stockage Azure

  1. Dans la console Azure, recherchez les 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é (le niveau 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. Examinez l'aperçu 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 key1 ou key2.
  8. Cliquez sur Copier dans le presse-papiers pour copier la clé.
  9. Enregistrez la clé dans un endroit sûr pour pouvoir la retrouver facilement.
  10. Sur la page Présentation 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 pouvoir vous y référer ultérieurement.

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

  1. Dans la console Azure, recherchez Entra ID.
  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 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
  • Plate-forme de contenu > Packs de contenu

Configurer des flux à partir de Paramètres SIEM > Flux

Pour configurer un flux, procédez comme suit :

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

    • URI Azure : URL du point de terminaison du 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-)
    • URI is a : sélectionnez le type d'URI en fonction de la configuration du flux de journaux (Single fileS | Directory | Directory which includes subdirectories).

    • 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.
  9. Cliquez sur Suivant.

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

Configurer des flux depuis le Hub de contenu

Indiquez les valeurs des champs suivants :

  • URI Azure : URL du point de terminaison du 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-)
  • URI is a : sélectionnez le type d'URI en fonction de la configuration du flux de journaux (Single fileS | Directory | Directory which includes subdirectories).
  • 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.

Options avancées

  • Nom du flux : valeur préremplie qui identifie le flux.
  • Type de source : méthode utilisée pour collecter les journaux dans Google SecOps.
  • 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.

Table 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 journaux bruts properties.ipAddress est extraite et copiée dans le champ UDM.
properties.ipAddress principal.ip L'adresse IP du champ de journaux bruts 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é et converti en code temporel, puis 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".

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