W centrum administracyjnym Microsoft Entra otwórz Tożsamość → Monitorowanie i stan zdrowia → Dzienniki logowania, ustaw filtry i wybierz Pobierz → JSON. Dla większych lub skryptowych pobrań użyj Microsoft Graph: GET /auditLogs/signIns. W obu przypadkach otrzymasz tylko to, co jest nadal zachowane: 7 dni w Entra ID Free, 30 dni z P1 lub P2.
Dzienniki logowań pokazują, kto się uwierzytelnił, skąd, do której aplikacji i czy MFA oraz Dostęp Warunkowy zadziałały. W atakach zorientowanych na tożsamość jest to większa część historii. Prime Core ma 170 reguł detekcji dla danych logowania Entra ID, przypisanych do 113 technik MITRE ATT&CK. Wśród nich: rozpraszanie haseł (T1110.003), zmęczenie MFA (T1621) i logowania z użyciem skradzionych poświadczeń chmurowych (T1078.004).
Zanim zaczniesz
Okres przechowywania jest krótki. Jeśli szukana aktywność jest starsza niż 7 lub 30 dni, portal i Graph tego nie będą miały. Jedynym miejscem, gdzie może jeszcze istnieć, jest wszędzie tam, gdzie twoje ustawienia diagnostyczne wysyłają dzienniki logowania: przestrzeń robocza Log Analytics, Microsoft Sentinel lub konto magazynu. Zobacz nasz [przewodnik eksportu z Microsoft Sentinel] dla tej ścieżki.
Role. Reports Reader to najmniej uprzywilejowana rola, która może czytać dzienniki logowania. Security Reader i Global Reader także działają.
Są cztery rodzaje logowań. Interaktywny użytkownik, nieinteraktywny użytkownik, skrzynka serwisowa i zarządzana tożsamość mają każda własną kartę w portalu. Odtwarzanie tokenów i nadużywanie tokenów odświeżania mają tendencję do pojawiania się pod nieinteraktywny, co ludzie często zapominają eksportować.
Opcja 1: Pobierz z portalu
- Przejdź do Dzienniki logowania i wybierz zakładkę (zacznij od interaktywnej, potem nieinteraktywnej).
- Set Data i ewentualne filtry (użytkownik, aplikacja, status).
- Wybierz Pobierz, a następnie JSON.
Portal ogranicza liczbę rekordów zawartych w jednym pobraniu. [PROOF: potwierdź aktualny limit.] Dla dużych zakresów podziel na dni lub użyj Graph.
Opcja 2: Microsoft Graph PowerShell
To pobiera surowy JSON API, śledzi stronicowanie i zapisuje jedno logowanie na linię:
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)
Endpoint v1.0 zwraca interaktywne logowania. Logowania nieinteraktywne i skrzynek serwisowych wymagają końcówki beta z filtrem signInEventTypes. Czytanie logowań przez API zależy również od poziomu licencji twojego dzierżawcy.
Znaczniki czasu są w UTC przez cały czas.
Co trzeba sprawdzić
| Pole lub wartość | Co to mówi |
|---|---|
| status.errorCode 50126 | Zły login lub hasło. Wiele takich w wielu użytkownikach oznacza rozpraszanie |
| status.errorCode 50053 | Konto zablokowane przez inteligentną blokadę |
| status.errorCode 500121 | MFA nie powiodło się lub zostało odrzucone; seria takich to zmęczenie MFA |
| clientAppUsed = IMAP, POP, SMTP, „Inni klienci” | Uwierzytelnianie przestarzałe, które omija MFA |
| conditionalAccessStatus | Czy DA było zastosowane, przeszło lub nie powiodło się |
| riskLevelDuringSignIn, lokalizacja, ipAddress | Ryzykowne lub nieznane pochodzenie |
Wzorzec warty zatrzymania: seria niepowodzeń 50126 w wielu kontach z jednego zakresu IP, a następnie sukces dla jednego z nich.
Prześlij, zdezynfekuj i przejrzyj w LogTotal
- Prześlij. Otwórz logtotal.com i wrzuć plik JSON.
- Dezynfekcja. [what gets masked: UPNs, display names, IPs, device names, tenant and object IDs]. Look it over before you continue.
- Przejrzyj.
Kiedy coś pójdzie nie tak
| Objaw | Prawdopodobna przyczyna | Fix |
|---|---|---|
| Nic starszego niż tydzień lub miesiąc | Przechowywanie dla twojego poziomu licencji | Sprawdź Log Analytics, Sentinel lub magazyn, jeśli ustawienia diagnostyczne były włączone |
| Graph returns 403 | Brak zgody na AuditLog.Read.All, roli lub licencji | Udziel zgody; sprawdź swoją rolę i licencję dzierżawcy |
| Eksport ma tylko interaktywne logowania | Inne typy są w oddzielnych kartach lub w beta Graph | Eksportuj każdą kartę; użyj punktu końcowego beta |
| Pobranie zawiera mniej rekordów niż pokazuje portal | Limit pobrań portalu | Podziel na dni lub użyj Graph |
FAQ
Co z dziennikami audytu Entra?
To inny log: zmiany w katalogu, takie jak nowi użytkownicy, przypisania ról i zgody na aplikacje. Ta sama część portalu, Dzienniki audytowe. W Graph to /auditLogs/directoryAudits. W przypadku incydentu zwykle chcesz oba.
Czy mogę uzyskać logowania z Sentinela zamiast?
Tak, jeśli włączony jest konektor Entra ID: są w tabelach SigninLogs i AADNonInteractiveUserSignInLogs, z danym okresem przechowywania, jaką ma twoja przestrzeń robocza.