Nel centro di amministrazione di Microsoft Entra, apri Identità → Monitoraggio e salute → Registri di accesso, imposta i tuoi filtri e scegli Scarica → JSON. Per estrazioni più grandi o scriptate, usa Microsoft Graph: GET /auditLogs/signIns. In entrambi i casi, ottieni solo ciò che è ancora conservato: 7 giorni su Entra ID Free, 30 giorni con P1 o P2.
I registri di accesso mostrano chi si è autenticato, da dove, a quale app e se MFA e Accesso Condizionale sono stati utilizzati. Negli attacchi basati sull’identità, questa è la maggior parte della storia. Prime Core ha 170 regole di rilevamento per i dati di accesso di Entra ID, mappate a 113 tecniche MITRE ATT&CK. Tra queste: spraying della password (T1110.003), affaticamento MFA (T1621) e accessi con credenziali cloud rubate (T1078.004).
Prima di iniziare
La conservazione è breve. Se l’attività che cerchi è più vecchia di 7 o 30 giorni, il portale e Graph non la avranno. L’unico posto in cui potrebbe esistere ancora è ovunque le tue impostazioni diagnostiche inviino i registri di accesso: uno spazio di lavoro Log Analytics, Microsoft Sentinel o un account di archiviazione. Vedi la nostra [guida all’esportazione di Microsoft Sentinel] per quella soluzione.
Ruoli. Report Reader è il ruolo meno privilegiato che può leggere i registri di accesso. Anche Security Reader e Global Reader funzionano.
Ci sono quattro tipi di accessi. Utente interattivo, utente non interattivo, principal del servizio e identità gestita hanno ciascuno la propria scheda nel portale. La riproduzione del token e l’abuso di token di aggiornamento tendono a comparire sotto non interattivo, che spesso viene dimenticato di esportare.
Opzione 1: Scarica dal portale
- Vai a Registri di accesso e scegli la scheda (inizia con interattivo, poi non interattivo).
- Set Data e tutti i filtri (utente, applicazione, stato).
- Scegli Scarica, poi JSON.
Il portale limita quanti record un singolo download include. [PROVA: conferma il limite attuale.] Per intervalli ampi, dividi per giorno o usa Graph.
Opzione 2: Microsoft Graph PowerShell
Questo estrae il JSON grezzo dell’API, segue il paging e scrive un accesso per linea:
Connect-MgGraph -Scopes "AuditLog.Read.All"
$uri = "https://graph.microsoft.com/v1.0/auditLogs/signIns?`$filter=createdDateTime ge 2026-10-19T00:00:00Z and createdDateTime lt 2026-10-20T00:00:00Z"
do {
$page = Invoke-MgGraphRequest -Method GET -Uri $uri -OutputType Json | ConvertFrom-Json
$page.value | ForEach-Object { $_ | ConvertTo-Json -Depth 10 -Compress } | Add-Content signins_1019.jsonl
$uri = $page.'@odata.nextLink'
} while ($uri)
L’endpoint v1.0 restituisce accessi interattivi. Gli accessi non interattivi e del principal del servizio richiedono l’endpoint beta con un filtro signInEventTypes. La lettura degli accessi tramite l’API dipende anche dal livello di licenza del tuo tenant.
I timestamp sono in UTC.
Cosa cercare
| Campo o valore | Cosa ti dice |
|---|---|
| status.errorCode 50126 | Nome utente o password errati. Molti di questi su molti utenti significa spraying |
| status.errorCode 50053 | Account bloccato dal blocco intelligente |
| status.errorCode 500121 | MFA fallito o negato; un picco di questi indica affaticamento MFA |
| clientAppUsed = IMAP, POP, SMTP, “Altri clienti” | Autenticazione legacy che salta MFA |
| conditionalAccessStatus | Se CA è stata applicata, superata o fallita |
| riskLevelDuringSignIn, location, ipAddress | Origini rischiose o sconosciute |
Il modello che vale la pena fermarsi: una sequenza di fallimenti 50126 su molti account da un intervallo IP, seguito da un successo per uno di essi.
Carica, sanitizza e rivedi in LogTotal
- Carica. Apri logtotal.com e carica il file JSON.
- Sanitizza. [what gets masked: UPNs, display names, IPs, device names, tenant and object IDs]. Look it over before you continue.
- Rivedi.
Quando qualcosa va storto
| Sintomo | Causa probabile | Fix |
|---|---|---|
| Niente di più vecchio di una settimana o un mese | Conservazione per il livello di licenza | Controlla Log Analytics, Sentinel o archiviazione se le impostazioni diagnostiche erano attive |
| Graph returns 403 | Consentimento AuditLog.Read.All mancante, ruolo o licenza | Concedi il consenso; controlla il tuo ruolo e la licenza del tenant |
| L’esportazione ha solo accessi interattivi | Altri tipi si trovano in schede separate o nel Graph beta | Esporta ogni scheda; usa l’endpoint beta |
| Il download contiene meno record di quanti il portale mostri | Limite di download del portale | Dividi per giorno, o usa Graph |
FAQ
E per quanto riguarda i log di audit di Entra?
Quelli sono un altro tipo di log: modifiche di directory come nuovi utenti, assegnazioni di ruoli e consensi di app. Stessa area del portale, Registri di audit. In Graph è /auditLogs/directoryAudits. In un incidente, di solito vuoi entrambi.
Posso ottenere accessi da Sentinel invece?
Sì, se il connettore Entra ID è attivo: si trovano nelle tabelle SigninLogs e AADNonInteractiveUserSignInLogs, con qualsiasi conservazione il tuo spazio di lavoro abbia.