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é.
Démarrez l’outil Afficheur Microsoft Graph.
Sélectionnez votre profil, puis Modifier les autorisations.
Consentez aux autorisations requises suivantes :
AuditLog.Read.All
Directory.Read.All
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
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'
- Prenez en considération l’utilisation d’un filtre de date afin que la requête n’expire pas.
- GET
Pour rechercher des connexions à une application spécifique pendant une période 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'
- GET
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')
- GET
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')
- GET
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')
- GET
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
- GET
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
- GET
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
- GET
API associées
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 :
- Journaux d’audit :
Get-MgAuditLogDirectoryAudit
- Journaux de connexion :
Get-MgAuditLogSignIn
- Journaux d’approvisionnement :
Get-MgAuditLogProvisioning
- Explorez la liste complète des applets de commande Microsoft Graph PowerShell liées aux rapports.
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.