Come analizzare i log attività con Microsoft Graph
Le API di creazione report di Microsoft Entra forniscono l'accesso ai dati dal codice tramite un set di API REST. È possibile chiamare queste API da numerosi linguaggi di programmazione e strumenti.
Questo articolo descrive come analizzare i log attività di Microsoft Entra con Microsoft Graph Explorer e Microsoft Graph PowerShell.
Prerequisiti
- Tenant microsoft Entra funzionante con una licenza P1 o P2 di Microsoft Entra ID associata.
- Per fornire il consenso alle autorizzazioni necessarie, è necessario il ruolo di amministratore privliegiato.
Accedere ai report con Microsoft Graph Explorer
Con tutti i prerequisiti configurati, è possibile eseguire query del log attività in Microsoft Graph. L'API Microsoft Graph non è progettata per eseguire il pull di grandi quantità di dati di attività. Il pull di grandi quantità di dati di attività tramite l'API potrebbe causare problemi di impaginazione e prestazioni. Per altre informazioni sulle query di Microsoft Graph per i log attività, vedere Panoramica dell'API dei report attività.
Avviare il tool Microsoft Graph Explorer.
Selezionare il profilo e successivamente selezionare Modifica autorizzazioni.
Consenso alle autorizzazioni necessarie seguenti:
AuditLog.Read.All
Directory.Read.All
Usare una delle query seguenti per iniziare a usare Microsoft Graph per accedere ai log attività:
- 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
Ottimizzare le query
Per cercare voci specifiche del log attività, usare i parametri di query $filter e createdDateTime con una delle proprietà disponibili. Alcune delle query seguenti usano l'endpoint beta
. L'endpoint beta è soggetto a modifiche e non è consigliato per l'uso in produzione.
Provare a usare le query seguenti:
Per i tentativi di accesso in cui l'accesso condizionale non è riuscito:
- GET
https://graph.microsoft.com/v1.0/auditLogs/signIns?$filter=conditionalAccessStatus eq 'failure'
- Prendere in considerazione l'uso di un filtro di data in modo che la richiesta non venga timeout.
- GET
Per trovare gli accessi a un'applicazione specifica durante un intervallo di tempo specifico:
- 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
Per gli accessi non interattivi:
- 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
Per gli accessi delle entità servizio:
- 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
Per gli accessi con identità gestita:
- 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
Per ottenere il metodo di autenticazione di un utente:
- GET
https://graph.microsoft.com/beta/users/{userObjectId}/authentication/methods
- È richiesta l'autorizzazione
UserAuthenticationMethod.Read.All
- GET
Per visualizzare il report dei dettagli di registrazione utente:
- GET
https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails
- È richiesta l'autorizzazione
UserAuthenticationMethod.Read.All
- GET
Per i dettagli di registrazione di un utente specifico:
- GET
https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails/{userId}
- È richiesta l'autorizzazione
UserAuthenticationMethod.Read.All
- GET
API correlate
Dopo aver acquisito familiarità con i log di accesso e di audit standard, provare a esplorare queste altre API:
Accedere ai report con Microsoft Graph PowerShell
È possibile usare PowerShell per accedere all'API di creazione report di Microsoft Entra. Per altre informazioni, vedere le Panoramica di Microsoft Graph PowerShell.
cmdlet di PowerShell di Microsoft Graph:
- Log di controllo:
Get-MgAuditLogDirectoryAudit
- Log di accesso:
Get-MgAuditLogSignIn
- Log di provisioning:
Get-MgAuditLogProvisioning
- Esplorare l'elenco completo dei cmdlet di PowerShell Microsoft Graph correlati ai report.
Errori comuni
Errore: nessuno dei tenant è B2C oppure il tenant non dispone di una licenza Premium: l'accesso ai report di accesso richiede una licenza P1 o P2 di Microsoft Entra ID. Se viene visualizzato questo messaggio di errore durante l'accesso agli accessi, assicurarsi che il tenant sia concesso in licenza con una licenza Microsoft Entra ID P1.
Errore: L'utente non è associato ai ruoli autorizzati: se viene visualizzato questo messaggio di errore durante il tentativo di accedere ai log di audit o agli accessi usando l'API, assicurarsi che l'account faccia parte del ruolo Amministratore che legge i dati di sicurezza o del ruolo Amministratore che legge i report nel tenant di Microsoft Entra.
Errore: l'applicazione non dispone dell'autorizzazione Microsoft Entra ID 'Leggi dati delle directory' o 'Leggi i dati di tutti i log di audit': l'applicazione deve disporre dell'autorizzazione AuditLog.Read.All
o Directory.Read.All
per accedere ai log attività con Microsoft Graph.