Microsoft Entra ID Sign-In Telemetry Reference

Microsoft Entra ID writes all sign-in activity to a family of Log Analytics tables that Sentinel ingests. Every record in every table carries OperationName = "Sign-in activity" regardless of the action involved. Because there is no per-operation discriminator, the tables cannot be modeled as discrete events the way Windows Security events are. Detections instead filter on field values within each table to distinguish success from failure, legacy from modern auth, and risky from compliant sessions.

Sign-In Log Tables#

CombinedSignInLogs is a Sentinel workspace function that unions all four tables into a single queryable surface. Rules targeting CombinedSignInLogs attribute to all four underlying tables.

Why There Are No Per-Operation Event Pages#

Each record in the sign-in tables carries OperationName = "Sign-in activity" without exception. The Entra audit pipeline does not emit separate operation names for "password auth", "MFA challenge", "token refresh", and so on. The result type, authentication method, and policy state are instead distributed across numeric and enumerated fields within each record.

Detections in the Sigma and Sentinel corpora that target sign-in logs pivot on these fields rather than on an operation name. The Entra ID Coverage matrix lists contributing rules under the "SigninLogs" section of that page.

Key Detection Fields#

ResultType Error Codes#

The most detection-relevant codes are listed here. The full list is maintained in the Microsoft Entra authentication and authorization error codes reference.

Known values
0
Success. Sign-in completed. Combine with RiskLevelDuringSignIn = "high" or ConditionalAccessStatus = "failure" override to find risky successful sign-ins.
50126
Invalid credentials: bad username or password. Primary brute-force and password spray signal. Aggregate counts by UserPrincipalName, IPAddress, or AppDisplayName over short windows. Spray patterns show many distinct accounts failing from a single IP. Stuffing shows repeated failures against one account.
50053
Account locked out (Smart Lockout triggered). Entra Smart Lockout engaged after repeated failures. A burst of 50126 records followed by 50053 on the same account confirms a lockout event. Smart Lockout thresholds are configurable and may vary between familiar and unfamiliar locations.
50057
Account disabled. Sign-in attempted against a disabled account. An adversary may be testing credentials for an account disabled after initial compromise. It can also mean a misconfigured service account.
50074
MFA required, strong auth challenge sent but not completed. User prompted for MFA but did not complete the challenge (timeout, declined). A high rate of 50074 for a single user may indicate MFA fatigue (adversary repeatedly triggering push notifications hoping the user approves). Correlate with subsequent 0 (success) records from the same session.
50076
MFA required but not satisfied for the resource. Resource policy requires MFA and the client did not present a valid MFA claim. Appears in legacy-auth flows that bypass the MFA prompt. Useful for identifying MFA bypass attempts alongside ClientAppUsed values for legacy protocols.
500121
Authentication failed during strong authentication request. MFA challenge presented but the response was incorrect or expired. Distinct from 50074 (no response) in that the user or tool attempted but failed the second factor.
53003
Blocked by Conditional Access. A Conditional Access policy returned a block decision. ConditionalAccessStatus is failure. The specific policy and reason are available in ConditionalAccessPolicies (dynamic array). Repeated 53003 from the same user may indicate policy evasion attempts (switching apps, devices, or locations).
53004
Account locked by Conditional Access. Tenant-level block applied via Conditional Access. Distinct from Smart Lockout (50053).
700016
Application not found in the directory. Client ID not registered in the tenant. Common indicator of reconnaissance (probing for registered apps) or misconfigured automation.
90095
Admin consent required. Application requested permissions beyond what the user can consent to. Appears during OAuth consent phishing when a victim is redirected to an app requesting broad permissions.

Detection Scenarios by Technique#

The ResultType codes and field values above recur across a handful of attack patterns. Each row links the ATT&CK technique page for that behavior.

ScenarioSign-in signalATT&CK technique
Password spraying and brute forceResultType 50126 in volume, then 50053: many accounts failing from one IPAddress (spray), or repeated failures against one UserPrincipalName (stuffing)T1110.003 Password Spraying, parent T1110 Brute Force
MFA fatigue (push bombing)Repeated 50074 for one user, followed by a 0 success from the same sessionT1621 Multi-Factor Authentication Request Generation
Legacy-auth MFA bypass50076 with a legacy ClientAppUsed value (IMAP, POP3, SMTP, Other clients)T1556 Modify Authentication Process
Risky successful sign-inResultType 0 with RiskLevelDuringSignIn = high, or a Conditional Access overrideT1078.004 Valid Accounts: Cloud Accounts
OAuth consent phishing90095 (admin consent required) for an unexpected application requesting broad scopesT1528 Steal Application Access Token

References#