Come analizzare i log attività con Microsoft Graph

Le API di creazione report di Microsoft Entra forniscono l'accesso a livello di codice ai dati tramite un set di API REST. È possibile chiamare queste API da molti linguaggi e strumenti di programmazione. 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.

Questo articolo descrive come analizzare i log attività di Microsoft Entra con Microsoft Graph Explorer e Microsoft Graph PowerShell.

Prerequisiti

Per effettuare richieste all'API Microsoft Graph, è prima necessario:

Accedere ai report con Microsoft Graph Explorer

Con tutti i prerequisiti configurati, è possibile eseguire query del log attività in Microsoft Graph. Per altre informazioni sulle query di Microsoft Graph per i log attività, vedere Panoramica dell'API dei report attività.

  1. Avviare lo strumento Microsoft Graph Explorer.

  2. Selezionare il profilo e quindi selezionare Modifica autorizzazioni.

  3. Consenso alle autorizzazioni necessarie seguenti:

    • AuditLog.Read.All
    • Directory.Read.All
  4. 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

    Screenshot di una query GET del log attività in Microsoft Graph.

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'
  • Per trovare gli accessi a un'applicazione specifica:

    • 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'
  • 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')
  • Per gli accessi all'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')
  • Per gli accessi all'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')
  • 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
  • Per visualizzare il report dei dettagli di registrazione utente:

    • GET https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails
    • È richiesta l'autorizzazione UserAuthenticationMethod.Read.All
  • 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

Dopo aver acquisito familiarità con i log di accesso e di controllo 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 Panoramica di Microsoft Graph PowerShell.

Cmdlet di PowerShell per Microsoft Graph:

  • Log di controlloGet-MgAuditLogDirectoryAudit:
  • Log di accessoGet-MgAuditLogSignIn:
  • Log di provisioning:Get-MgAuditLogProvisioning
  • Esplorare l'elenco completo dei cmdlet di PowerShell correlati ai report di Microsoft Graph.

Errori comuni

Errore: nessuno dei tenant è B2C o il tenant non ha una licenza Premium: l'accesso ai report di accesso richiede una licenza P1 o P2 per l'accesso ai report di accesso. Se viene visualizzato questo messaggio di errore durante l'accesso agli accessi, assicurarsi che il tenant abbia una licenza Microsoft Entra ID P1.

Errore: l'utente non è incluso nei ruoli consentiti: se viene visualizzato questo messaggio di errore durante il tentativo di accesso ai log di controllo o agli accessi tramite l'API, assicurarsi che l'account faccia parte del ruolo Lettore di sicurezza o Lettore report nel tenant di Microsoft Entra.

Errore: l'applicazione non dispone dell'autorizzazione Microsoft Entra ID 'Read directory data' o 'Read all audit log data' (Leggi tutti i dati del log di controllo): l'applicazione deve disporre dell'autorizzazione AuditLog.Read.All o Directory.Read.All per accedere ai log attività con Microsoft Graph.

Passaggi successivi