Partager via


Comment analyser les journaux d’activité avec Microsoft Graph

Les API de reporting Microsoft Entra vous fournissent un accès programmatique aux données via un ensemble d’API REST. Vous pouvez appeler ces API à partir d’un grand nombre d’outils et de langages de programmation.

Cet article décrit comment analyser les journaux d’activité Microsoft Entra avec Microsoft Graph Explorer et Microsoft Graph PowerShell.

Prerequisites

  • Un locataire Microsoft Entra opérationnel avec une licence Microsoft Entra ID P1 ou P2 associée.
  • Pour accepter les permissions requises, vous devez disposer du rôle Administrateur privilégié.

Accéder aux rapports avec l’Afficheur Microsoft Graph

Une fois toutes les conditions préalables configurées, vous pouvez exécuter des requêtes de journaux d’activité dans Microsoft Graph. L’API Microsoft Graph n’est pas conçue pour extraire de grandes quantités de données d’activité. L’extraction de grandes quantités de données d’activité à l’aide de l’API peut entraîner des problèmes de pagination et de performances. Pour plus d’informations sur les requêtes Microsoft Graph pour les journaux d’activité, consultez la page Présentation de l’API des rapports d’activité.

  1. Démarrez l’outil Afficheur Microsoft Graph.

  2. Sélectionnez votre profil, puis sélectionnez Modifier les permissions.

  3. Consentez aux autorisations requises suivantes :

    • AuditLog.Read.All
    • Directory.Read.All
  4. Utilisez l’une des requêtes suivantes pour commencer à utiliser Microsoft Graph afin d’accéder aux journaux d’activité :

    • GET https://graph.microsoft.com/v1.0/auditLogs/directoryAudits
    • GET https://graph.microsoft.com/v1.0/auditLogs/signIns
    • GET https://graph.microsoft.com/v1.0/auditLogs/provisioning
    • GET https://graph.microsoft.com/beta/auditLogs/signUps

    Capture d’écran d’une requête GET de journal d’activité dans Microsoft Graph.

Régler vos requêtes

Pour rechercher des entrées de journal d’activité spécifiques, utilisez les paramètres de requête $filter et createdDateTime avec l’une des propriétés disponibles. Certaines des requêtes suivantes utilisent le point de terminaison beta. Le point de terminaison bêta est susceptible d’être modifié et n’est pas recommandé pour une utilisation en production.

Exemples de requêtes de connexion

Essayez d’utiliser les requêtes suivantes pour l’activité de connexion :

  • Pour les tentatives de connexion où l’accès conditionnel a échoué :

    • GET https://graph.microsoft.com/v1.0/auditLogs/signIns?$filter=conditionalAccessStatus eq 'failure'
    • Envisagez d’utiliser un filtre de date afin que la requête n’expire pas.
  • Pour rechercher les connexions à une application spécifique pendant une trame spécifique :

    • GET https://graph.microsoft.com/v1.0/auditLogs/signIns?$filter=(createdDateTime ge 2024-01-13T14:13:32Z and createdDateTime le 2024-01-14T17:43:26Z) and appId eq 'APP ID'
  • Pour les connexions non interactives :

    • GET https://graph.microsoft.com/beta/auditLogs/signIns?$filter=(createdDateTime ge 2024-01-13T14:13:32Z and createdDateTime le 2024-01-14T17:43:26Z) and signInEventTypes/any(t: t eq 'nonInteractiveUser')
  • Pour les connexions de principal de service :

    • GET https://graph.microsoft.com/beta/auditLogs/signIns?$filter=(createdDateTime ge 2024-01-13T14:13:32Z and createdDateTime le 2024-01-14T17:43:26Z) and signInEventTypes/any(t: t eq 'servicePrincipal')
  • Pour les connexions d’identité gérée :

    • GET https://graph.microsoft.com/beta/auditLogs/signIns?$filter=(createdDateTime ge 2024-01-13T14:13:32Z and createdDateTime le 2024-01-14T17:43:26Z) and signInEventTypes/any(t: t eq 'managedIdentity')
  • Pour obtenir la méthode d’authentification d’un utilisateur :

    • GET https://graph.microsoft.com/beta/users/{userObjectId}/authentication/methods
    • Nécessite l’autorisation UserAuthenticationMethod.Read.All
  • Pour afficher le rapport sur les détails d’inscription des utilisateurs :

    • GET https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails
    • Nécessite l’autorisation UserAuthenticationMethod.Read.All
  • Pour les détails d’inscription d’un utilisateur spécifique :

    • GET https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails/{userId}
    • Nécessite l’autorisation UserAuthenticationMethod.Read.All

Exemples de requêtes d’inscription (aperçu)

Essayez d’utiliser les requêtes suivantes pour l’activité d'enregistrement dans votre client externe :

  • Pour rechercher les tentatives d’inscription qui ont échoué ou ont été interrompues lors d’une étape spécifique, telles que la création d’objets utilisateur :

    • GET https://graph.microsoft.com/beta/auditLogs/signUps?$filter=status/errorCode ne 0 and signUpStage eq 'userCreation'
  • Pour rechercher les tentatives d’inscription ayant échoué lors de la validation de l’e-mail :

    • GET https://graph.microsoft.com/beta/auditLogs/signUps?$filter=status/errorCode eq 1002013 and signUpStage eq 'credentialValidation'

    Remarque

    Le code d’erreur 1002013 indique une interruption attendue (et réussie) du flux d’inscription. En savoir plus

  • Pour les inscriptions pendant une plage de dates :

    • GET https://graph.microsoft.com/beta/auditLogs/signUps?&$filter=(createdDateTime ge 2024-01-13T14:13:32Z and createdDateTime le 2024-01-14T17:43:26Z)
  • Pour les inscriptions pour une application spécifique :

    • GET https://graph.microsoft.com/beta/auditLogs/signUps?$filter=appId eq 'AppId'
  • Pour la création d'un compte local :

    • GET https://graph.microsoft.com/beta/auditLogs/signUps?$filter=signUpIdentityProvider eq 'Email OTP' or signUpIdentityProvider eq 'Email Password'
  • Pour les inscriptions aux comptes sociaux (Google dans cet exemple) :

    • GET https://graph.microsoft.com/beta/auditLogs/signUps?$filter=signUpIdentityProvider eq ‘Google'
  • Pour afficher les entrées d’un utilisateur spécifique, par exemple user@contoso.com:

    • GET https://graph.microsoft.com/beta/auditLogs/signUps?$filter=signUpIdentity/signUpIdentifier eq 'user@contoso.com'
  • Pour rechercher des entrées correspondant à un ID de corrélation spécifique :

    • GET https://graph.microsoft.com/beta/auditLogs/signUps?$filter=correlationId eq 'CorrelationId'
  • Pour rechercher les entrées du journal de connexion correspondant à une inscription spécifique à l’aide de l’ID de corrélation :

    • GET https://graph.microsoft.com/v1.0/auditLogs/signIns?$filter=correlationId eq 'CorrelationId'

Une fois que vous vous êtes familiarisé avec les journaux d’activité et d’audit standard, essayez d’explorer ces autres API :

Accéder aux rapports avec Microsoft Graph PowerShell

Vous pouvez utiliser PowerShell pour accéder à l’API de création de rapports Microsoft Entra. Pour plus d’informations, consultez la présentation de Microsoft Graph PowerShell.

Applets de commande Microsoft Graph PowerShell :

Erreurs courantes

Erreur : aucun locataire n’est B2C ou le locataire ne dispose pas d’une licence Premium : l’accès aux rapports d’activité nécessite une licence Microsoft Entra ID P1 ou P2. Si ce message d’erreur s’affiche lorsque vous accédez aux activités, vérifiez que votre locataire dispose d’une licence Microsoft Entra ID P1.

Erreur : l’utilisateur n’appartient pas aux rôles autorisés : si ce message d’erreur s’affiche lorsque vous essayez d’accéder aux journaux d’activité ou aux connexions à l’aide de l’API, vérifiez que votre compte fait partie du rôle Lecteur de sécurité ou Lecteur de rapports dans votre locataire Microsoft Entra.

Erreur : l’application ne dispose pas de la permission Microsoft Entra ID « Lire les données du répertoire » ou « Lire toutes les données du journal d’activité » : l’application doit disposer de la permission AuditLog.Read.All ou Directory.Read.All pour accéder aux journaux d’activité avec Microsoft Graph.