Microsoft 365 Conditional Access Blocking Legacy Auth: AADSTS53003
How to trace AADSTS53003 and legacy authentication blocks in Entra sign-in logs and remediate clients without weakening Conditional Access.

In this guide
Table of Contents
Table of contents
#Context
AADSTS53003 is the Microsoft Entra error returned when a Conditional AccessThe KBY LexiconConditional AccessConditional Access evaluates identity, device and network signals at sign-in to grant, block or challenge access; safe use requires report-only validation and a tested rollback path. policy blocks access. It is not specific to legacy authentication, so the first task is to establish which policy blocked the request and which client made it. This article covers the documented general approach; confirm version-specific portal labels and policy behaviour in the Microsoft 365 documentation.
Assumptions: you hold read access to Entra sign-in logs and Conditional Access policies, you have a non-production tenant or a report-only path for testing, and changes follow your organisation’s change control. Observations come from logs; causes are inferences until a policy is shown in the log’s Conditional Access tab.
Legacy authentication generally refers to protocols and clients that cannot perform modern authentication or satisfy controls such as multifactor authentication. Typical examples are older IMAP, POP, SMTP AUTH and some older Exchange ActiveSync or Office clients. Because they cannot meet grant controls, a policy that blocks them is working as designed.
#Architecture
A sign-in reaches Entra ID, which evaluates assigned Conditional Access policies against user, application, client app type and other signals. If a block control matches, the request fails and the log records the policy result. The client app condition is the usual discriminator for legacy authentication blocks.
Rendering diagram...
Related operational context: blocked mail flow errors have different causes, as covered in Exchange Online 550 5.7.708 access denied, so do not assume every mail failure is a Conditional Access block.
#Implementation
Work in this order, read-only first.
- Filter the Entra sign-in logs for failure code 53003 and a bounded time window. Include non-interactive sign-ins, since legacy clients often appear there.
- Open an event and read the Client app field, the application, the user and the Conditional Access tab. The tab shows which policy returned failure.
- Group results by client app and application to identify which protocols and applications account for the volume.
- Map each group to an owner: a mailbox-reading device, a scanner, a line-of-business script, or an old Office build.
- For each owner, choose remediation: update the client to support modern authentication, move the workflow to a supported modern mechanism, or retire it.
- Where a short exception is unavoidable, scope it narrowly and document it. Prefer a separate, named policy with a defined owner and expiry over editing the blocking policy broadly. Any exception weakens protection for the scoped identities, so it needs explicit risk acceptance.
Use report-only mode for new or modified policies where available to see the effect before enforcement. Check current Microsoft documentation for how report-only results are shown. Related guidance on bounded changes appears in bounded Enterprise IT Management operations in Microsoft 365.
Note the retirement timeline for Exchange Web Services described in the EWS retirement deadline, since some older integrations may be affected by both protocol retirement and policy blocks.
#Validation
- After remediating a client, repeat the log query and confirm that the specific user and client app no longer produce 53003 and that a successful sign-in shows modern authentication as the client type.
- Confirm the Conditional Access tab for the successful event shows the expected policies applied, not bypassed.
- Confirm the blocking policy itself is unchanged in scope and state, using its audit history.
- Observable success: the count of 53003 events for legacy client apps trends to zero for owned workloads, and remaining events correspond only to unauthorised or unknown clients.
#Failure modes
- Events with no obvious legacy client: the block may come from a different policy such as device compliance or location. Read the policy name rather than assuming.
- Non-interactive sign-ins missed: the filter excluded them, so a service appears healthy while failing. Widen the filter.
- Shared or service identities: one account used by many scripts hides ownership. Identify callers before changing anything.
- Exclusion drift: a temporary exception without expiry becomes permanent. Assign an owner and review date.
- Delayed effect: policy or client changes may take time to show in logs, so wait and retest before concluding failure.
#Security
Legacy protocols commonly bypass multifactor authentication, which is why blocking them is widely recommended; verify current Microsoft guidance. Apply least privilege: limit who can edit Conditional Access, require review for exclusions, and keep emergency access accounts according to your organisation’s documented practice. Never exclude a broad group to silence errors. Residual risk remains for any excluded identity, so compensating controls such as restricted mailbox permissions and monitoring of its sign-ins are advisable. Licensing and group assignment issues can also affect access; see Microsoft 365 group licensing for a separate class of problem.
#Recovery
If a policy change causes unexpected lockouts, revert the specific change from the recorded prior configuration, using your emergency access path if needed, then re-run the log query. Record the policy state before any edit so rollback is exact. Stop and escalate to a human owner if sign-ins for privileged accounts begin failing, or if the affected population is larger than expected.

#Operational checks for blocked legacy authentication
- Weekly: review 53003 events grouped by client app and owner.
- On every exclusion: confirm owner, scope, expiry and compensating controls.
- Before enforcing changes: test in report-only mode or a non-production tenant.
- Next safe decision: migrate or retire the highest-volume legacy client first, and leave the blocking policy intact.
#Prerequisites and permissions for investigation
#Roles to request before starting
Use the narrowest roles that allow the work. Reading sign-in logs and policy definitions is possible with a reporting or security reader role, while editing policies needs a Conditional Access administrator or equivalent. Keep these duties separate where staffing allows: the analyst who finds the affected clients should not be the only person who approves an exception. Record the role used, the activation time if you use privileged identity management, and the ticket reference that justified it.
#Tooling checks
If you query with Microsoft Graph PowerShell, confirm the connected scopes before running anything. A read-only session needs only the scopes for audit logs and policy reading:
1Connect-MgGraph -Scopes "AuditLog.Read.All","Policy.Read.All"
2Get-MgContext | Select-Object -ExpandProperty ScopesDo not request write scopes such as Policy.ReadWrite.ConditionalAccess until a change has been approved. Confirm the cmdlet names against your installed module version, as they can differ between releases.
#Implementation detail: extracting and grouping evidence
#Exporting a bounded set of events
Where the sign-in log is available through Log Analytics, a query along these lines groups failures by client app and application. The table and column names assume the diagnostic settings for sign-in logs are already routed to a workspace; verify them in your own workspace schema first.
1SigninLogs
2| union AADNonInteractiveUserSignInLogs
3| where TimeGenerated > ago(7d)
4| where ResultType == "53003"
5| summarize Failures=count(), Users=dcount(UserPrincipalName) by ClientAppUsed, AppDisplayName
6| order by Failures descKeep the exported result with the query text and the time range. Without them, a later comparison cannot show that the same population was measured.
#Identifying the blocking policy
The policy name is held in the Conditional Access detail of each event. For a sample of events from each group, note the policy name and its result. If one group is blocked by more than one policy, treat each policy as a separate finding, because remediating the client may satisfy one and still leave the other.
#Confirming the owner
Match each group to an owner using evidence rather than the account name alone. Useful corroboration includes the source IP address in the event, the application shown, the time pattern of the requests, and any mailbox or device inventory. A regular pattern at fixed minutes usually indicates a scheduled script or device. Record the confidence level for each attribution as confirmed, probable or unknown.

#Expected evidence at each stage
- Before change: a dated export of failures by client app, the policy names involved, and a saved copy of the policy configuration.
- During change: the change ticket, the approver, and the report-only results if that mode was used for any modified policy.
- After change: a repeat of the same query over a comparable window, plus at least one successful sign-in for each remediated owner showing the expected client type.
- At closure: the exclusion register entry, if any, containing the scope, owner, expiry date and the named person who accepted the risk.
#Monitoring beyond the weekly review
#Alert candidates
Consider a scheduled log query that alerts when the number of failures for a single user and client app combination rises sharply against its previous seven-day pattern. A sudden rise can signal a newly deployed device, a credential-stuffing attempt using a legacy protocol, or a policy change that widened scope. Set the threshold from your own baseline rather than adopting a figure from this article.
#Watching excluded identities
For every identity in an exception, create a saved query on its successful sign-ins by client app and source location. A change in either is a reason to review the exception early. Check that the exclusion still matches the documented scope by reading the policy’s audit history, not only its current state.
#Realistic failure symptoms
- A mail client repeatedly prompts for a password: this may be the visible symptom of a block, but a genuine credential problem looks similar. Confirm in the log before changing anything.
- A scanner or application stops sending without an obvious message: many devices hide the underlying error. Check the non-interactive log for the service account around the time it stopped.
- Failures begin after a policy edit but only for some users: compare group membership and the assignment conditions. A user added to a targeted group after the policy was written is a common explanation.
- Successful sign-in appears in the log yet the application still fails: the cause may be outside Conditional Access, such as mailbox permissions or a protocol setting on the service. Do not keep editing the policy.
#Change-control records
Each change to a Conditional Access policy should leave a record that another engineer can use to reverse it. Include the following fields.
- Policy name and its identifier, as shown in the policy properties.
- State before and after the change (for example on, off or report-only).
- Exact assignment and condition changes, expressed as a before and after comparison.
- Evidence supporting the change, with links to the saved log export.
- Approver, implementer, implementation time and planned review date.
- Rollback instruction and the person authorised to run it.
If your tooling can export the policy as JSONThe KBY LexiconJSONJSON (JavaScript Object Notation) is a lightweight, text-based data-interchange format built from key-value pairs and ordered lists, defined by RFC 8259. , store that file with the ticket. Treat the export as sensitive, since it reveals which identities are excluded from protection.
#Escalation thresholds
Agree thresholds before the change, not during an incident. Suggested triggers for immediate escalation to the policy owner and the security lead are:
- Any privileged or emergency access account failing a sign-in after a change.
- An affected population materially larger than the pre-change export predicted.
- A business-critical mail or integration flow stopping with no owner identified.
- Evidence of legacy protocol sign-ins from unexpected locations against any account, which should be handled as a possible compromise rather than a configuration fault.
For the last item, follow your incident process for credential reset and session revocation, and do not relax any policy while the investigation is open.
#Safe rollback actions
- Pause new changes and tell the change owner what you are about to reverse.
- Compare the current policy with the stored prior configuration so that only the intended difference is reverted.
- Prefer the smallest reversal. Setting a modified policy back to report-only, or removing a newly added assignment, is safer than disabling a long-standing block.
- Do not delete a policy as a rollback step. Deletion removes its history from the place where colleagues will look first.
- Re-run the saved query after an appropriate wait, and confirm that the affected users can sign in and that the original block still applies to everyone else.
- Update the ticket with the time of reversal, the reason, and what evidence showed recovery.
If a temporary exception was created to restore service, give it the same expiry and owner requirements as any other exception, and schedule the client remediation before the expiry date.
Evidence trail
Sources and verification
Primary documentation and external technical references used in this article.
About this page
Credited to
Dates
Published
Corrections
No corrections are listed for this page. Some review sweeps corrected pages without naming each one; those are in the corrections log.
Read-only scripts
- Windows devices with no BitLocker recovery key in Entra IDMicrosoft Entra ID, Windows
- Intune devices that haven't synced in N daysMicrosoft Intune
- Mailboxes forwarding to external addressesExchange Online
- BitLocker status of every volume on this PCWindows
Upcoming deadlines
- Intune moves to macOS 15 and laterQ4 2026
- SAP SuccessFactors provisioning: move from basic auth to workload identityNovember 2026
- Intune November release: JIT registration reminder at APNs renewal and automatic JIT for eligible tenantsNovember 2026
Explore KBY
The KBY Brief
A short email about twice a week with new runbooks, configuration traps and fixes from KBY Technologies.
SubscribeRelated Engineering Labs
Simulator
CA What-If
Model a set of Conditional Access policies against one sign-in and see which policies apply, why the others don't, and whether access is blocked, granted, or granted after MFA.
Calculator
Apple Update Dates
Work out when an iOS or macOS update becomes visible under a Declarative Device Management or legacy deferral, and when a DDM enforcement deadline forces the install.
Review
Port Lookup
Search ports and protocols for common infrastructure services, plus the network requirements for Intune, Autopilot, Apple push notifications and Entra Connect, with copy-ready firewall rules.
Related articles
Enterprise IT Management
Exchange Online 550 5.7.708 Access Denied: Fixing Blocked Mail Flow
How to diagnose Exchange Online 550 5.7.708: find the real source IP, check reputation and connectors, validate recovery and escalate to Microsoft with evidence.
Enterprise IT Management
Microsoft 365 Group Licensing: Fixing MutuallyExclusiveViolation
How to find the conflicting service plans behind a MutuallyExclusiveViolation, remove the overlap safely, and reprocess users in Microsoft 365 group-based licensing.
Enterprise IT Management
Bounded Enterprise IT Management Operations in Microsoft 365
A method for one bounded Microsoft 365 change: scope, baseline, pilot, observation and rollback, with evidence defined before action.
Enterprise IT Management
Tiered Admin Model: Killing Lateral Movement
How authentication silos, PAWs and Kerberos armoring enforce privileged access tiering to stop pass-the-hash lateral movement across AD tiers.
Discover more
Graduate Learning
Lexicon Definitions
Learn More About KBY
About KBY
Learn about our mission, how our content is produced, and how we handle corrections.
Why Trust KBY
How KBY content is produced, what is checked automatically, and how errors are corrected.
The KBY Brief
A short email about twice a week with new runbooks, configuration traps and fixes from KBY Technologies.
Was this useful?
Reports go to the site owner and are used to correct pages. Corrections are listed at /corrections.
Engineering insights, direct to you.
Receive the latest Systems Engineering tutorials, production guides, Engineering Labs and operational best practices.
Comments
Add a thoughtful note on Microsoft 365 Conditional Access Blocking Legacy Auth: AADSTS53003. Comments are checked for spam and held for moderation before appearing.