Microsoft Entra ID 로그인 로그 내보내기 방법

Microsoft Entra ID 로그인 로그 내보내기 방법

SOC Prime Team
SOC Prime Team linkedin icon 팔로우

Microsoft Entra 관리 센터에서 Identity → Monitoring & health → 로그인 로그을 열고 필터를 설정한 후 다운로드 → JSON을 선택합니다. 더 큰 데이터나 스크립트 기반의 가져오기를 위해서는 Microsoft Graph: GET /auditLogs/signIns를 사용하세요. 어떤 경우든지 여전히 유지되는 내용만 얻을 수 있습니다: Entra ID Free의 경우 7일, P1 또는 P2의 경우 30일.

로그인 로그는 누가 인증했는지, 어디서, 어떤 앱에 대해, 및 MFA 및 조건부 액세스가 적용되었는지를 보여줍니다. ID 기반의 공격에서 이것이 이야기의 대부분을 차지합니다. Prime Core는 113개의 MITRE ATT&CK 기법에 매핑된 Entra ID 로그인 데이터에 대한 170개의 감지를 가지고 있습니다. 그 중에는 패스워드 스프레이(T1110.003), MFA 피로(T1621) 및 도난당한 클라우드 자격 증명으로의 로그인(T1078.004)이 포함됩니다.

무료로 시작하기

시작하기 전에

보존 기간이 짧습니다. 찾고 있는 활동이 7일 또는 30일보다 오래된 경우, 포털 및 Graph에 데이터가 없을 수 있습니다. 유일하게 남아있을 수 있는 곳은 진단 설정이 로그인 로그를 보내는 곳입니다: Log Analytics 워크스페이스, Microsoft Sentinel 또는 저장소 계정입니다. 해당 경로에 대한 정보는 [Microsoft Sentinel 내보내기 가이드]를 참조하세요.

역할. Reports Reader는 로그인 로그를 읽을 수 있는 가장 낮은 권한의 역할입니다. Security Reader와 Global Reader도 사용 가능합니다.

로그인은 네 가지 유형이 있습니다. 대화형 사용자, 비대화형 사용자, 서비스 주요 및 관리 ID는 각각 포털에 별도의 탭을 가집니다. 토큰 재생 및 리프레시 토큰 남용은 비대화형에 주로 나타나며, 사람들이 내보내는 것을 잊습니다.

옵션 1: 포털에서 다운로드

  1. 로그인 로그로 이동 한 후 탭을 선택하세요(대화형으로 시작한 후 비대화형으로 이동). and pick the tab (start with interactive, then non-interactive).
  2. Set 날짜 및 기타 필터(사용자, 애플리케이션, 상태)를 설정하세요.
  3. 다운로드 를 선택한 후, JSON.

을 선택하세요. 포털의 다운로드에는 포함되는 데이터의 최대 수가 제한됩니다. [확인: 현재 제한 확인]. 큰 범위의 경우 일별로 분할하거나 Graph를 사용하세요.

옵션 2: Microsoft Graph PowerShell

이 방법은 원시 API JSON을 가져오며 페이징을 따라가고, 각 라인마다 하나의 로그인 정보를 작성합니다:

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)

v1.0 엔드포인트는 대화형 로그인을 반환합니다. 비대화형 및 서비스 주요 로그인은 signInEventTypes 필터가 있는 베타 엔드포인트가 필요합니다. API를 통한 로그인 읽기는 테넌트의 라이선스 등급에 따라 달라집니다.

타임스탬프는 모두 UTC입니다.

찾아야 할 것

필드 또는 값알려주는 것
status.errorCode 50126잘못된 사용자 이름 또는 비밀번호. 여러 사용자에서 이러한 오류가 많으면 스프레이입니다.
status.errorCode 50053스마트 잠금으로 인해 계정이 잠겼습니다
status.errorCode 500121MFA 실패 또는 거부; 여기서의 폭발적인 증가는 MFA 피로
clientAppUsed = IMAP, POP, SMTP, “기타 클라이언트”MFA를 건너뛰는 이전 인증 방법
conditionalAccessStatusCA가 적용되었는지, 통과했는지 또는 실패했는지
riskLevelDuringSignIn, 위치, ipAddress위험하거나 익숙하지 않은 원본

멈춰야 할 패턴: 하나의 IP 범위에서 여러 계정에 걸쳐 발생하는 50126 오류 후 성공적인 로그인.

업로드, 정리 및 LogTotal에서 검토

  1. 업로드. 열기 logtotal.com 에 JSON 파일을 드롭하세요.
  2. 정리. [what gets masked: UPNs, display names, IPs, device names, tenant and object IDs]. Look it over before you continue.
  3. 검토. 

문제가 발생할 때

증상가능한 원인Fix
일주일 또는 한 달보다 오래된 데이터가 없음귀하의 라이선스 등급에 따른 보존진단 설정이 켜져있는 경우 Log Analytics, Sentinel 또는 저장소 확인
Graph returns 403AuditLog.Read.All 동의, 역할 또는 라이선스 누락동의를 부여하세요; 역할 및 테넌트 라이선스를 확인하세요
내보내기에는 대화형 로그인만 포함됨다른 유형은 별도의 탭이나 베타 Graph에 존재각 탭을 내보내세요; 베타 엔드포인트 사용
다운로드에는 포털에 표시된 것보다 더 적은 기록이 포함됨포털 다운로드 제한일별로 분할하거나 Graph 사용

FAQ

Entra 감사 로그는?

그것들은 다른 로그입니다: 새로운 사용자, 역할 할당 및 앱 동의와 같은 디렉터리 변경 사항. 같은 포털 영역, 감사 로그입니다. Graph에서는 /auditLogs/directoryAudits입니다. 사건이 발생했을 때 일반적으로 둘 다 필요합니다.

Sentinel에서 로그인 데이터를 받을 수 있나요?

예, Entra ID 커넥터가 켜져 있다면 가능합니다: SigninLogs 및 AADNonInteractiveUserSignInLogs 테이블에 있으며, 워크스페이스가 갖고 있는 보존에 따라 달라집니다.

SOC Prime의 Detection as Code 플랫폼에 가입하세요 귀사의 비즈니스에 가장 중요한 위협에 대한 가시성을 개선하세요. 시작을 돕고 즉각적인 가치를 제공하기 위해 지금 SOC Prime 전문가와의 회의를 예약하세요.