Comment analyser les journaux d’activité avec Microsoft Graph ?

Les API de création de rapports Microsoft Entra vous fournissent un accès par programme 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 explique comment analyser les journaux d’activité Microsoft Entra avec Microsoft Graph Explorer et Microsoft Graph PowerShell.

Prérequis

  • Un locataire Microsoft Entra opérationnel avec une licence Microsoft Entra ID P1 ou P2 associée.
  • Pour donner votre consentement aux autorisations requises, il vous faut disposer du statut Administrateur de rôle privilégié.

Accéder aux rapports avec l’explorateur Microsoft Graph

Une fois toutes les conditions préalables configurées, vous pouvez exécuter des requêtes de journal 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 Vue d’ensemble de l’API Rapports d’activité.

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

  2. Sélectionnez votre profil, puis Modifier les autorisations.

  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

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

Ajuster vos requêtes

Pour rechercher des entrées spécifiques du journal d’activité, 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 peut être sujet à modification et n’est pas recommandé pour une utilisation en production.

Essayer d’utiliser les requêtes suivantes :

  • 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'
  • Pour rechercher des connexions à une application 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 des 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 des connexions du 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 des connexions d’identités managées :

    • 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 des détails d’inscription de l’utilisateur :

    • GET https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails
    • Nécessite l’autorisation UserAuthenticationMethod.Read.All
  • Pour obtenir 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

Une fois que vous êtes familiarisé avec les journaux de connexion 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 vue d’ensemble sur Microsoft Graph PowerShell.

Applets de commande Microsoft Graph PowerShell :

Erreurs courantes

Erreur : Aucun locataire n’est B2C ou un locataire n’a pas de licence Premium : l’accès aux rapports de connexion nécessite une licence Microsoft Entra ID P1 ou P2. Si vous voyez ce message d’erreur lorsque vous accédez aux connexions, vérifiez que votre locataire dispose bien d’une licence Microsoft Entra ID P1.

Erreur : L’utilisateur n’a aucun des rôles autorisés : si ce message d’erreur s’affiche quand vous tentez d’accéder aux journaux d’audit ou aux connexions à l’aide de l’API, vérifiez que votre compte est associé au rôle Lecteur de sécurité ou Lecteur de rapport dans votre locataire Microsoft Entra.

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