Condividi tramite


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à.

  1. Avviare il tool Microsoft Graph Explorer.

  2. Selezionare il profilo e successivamente 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'
    • Prendere in considerazione l'uso di un filtro di data in modo che la richiesta non venga timeout.
  • 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'
  • 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 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')
  • 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')
  • 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 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:

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.