Jak eksportować dzienniki logowania Microsoft Entra ID

Jak eksportować dzienniki logowania Microsoft Entra ID

SOC Prime Team
SOC Prime Team linkedin icon Śledź

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

Rozpocznij za Darmo

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

  1. Przejdź do Dzienniki logowania i wybierz zakładkę (zacznij od interaktywnej, potem nieinteraktywnej).
  2. Set Data i ewentualne filtry (użytkownik, aplikacja, status).
  3. 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 50126Zły login lub hasło. Wiele takich w wielu użytkownikach oznacza rozpraszanie
status.errorCode 50053Konto zablokowane przez inteligentną blokadę
status.errorCode 500121MFA 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
conditionalAccessStatusCzy DA było zastosowane, przeszło lub nie powiodło się
riskLevelDuringSignIn, lokalizacja, ipAddressRyzykowne 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

  1. Prześlij. Otwórz logtotal.com i wrzuć plik JSON.
  2. Dezynfekcja. [what gets masked: UPNs, display names, IPs, device names, tenant and object IDs]. Look it over before you continue.
  3. Przejrzyj. 

Kiedy coś pójdzie nie tak

ObjawPrawdopodobna przyczynaFix
Nic starszego niż tydzień lub miesiącPrzechowywanie dla twojego poziomu licencjiSprawdź Log Analytics, Sentinel lub magazyn, jeśli ustawienia diagnostyczne były włączone
Graph returns 403Brak zgody na AuditLog.Read.All, roli lub licencjiUdziel zgody; sprawdź swoją rolę i licencję dzierżawcy
Eksport ma tylko interaktywne logowaniaInne typy są w oddzielnych kartach lub w beta GraphEksportuj każdą kartę; użyj punktu końcowego beta
Pobranie zawiera mniej rekordów niż pokazuje portalLimit pobrań portaluPodziel 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.

Dołącz do platformy Detection as Code firmy SOC Prime aby zwiększyć widoczność zagrożeń najbardziej istotnych dla Twojego biznesu. Aby pomóc Ci rozpocząć i natychmiast uzyskać wartość, umów się teraz na spotkanie z ekspertami SOC Prime.