Microsoft Entra External ID customer tenant - Conditional Access step-up MFA, licensing and Security Defaults

Maris Garrett 0 Reputation points
2026-11-03T20:10:29.3133333+00:00

Hello Microsoft Support,

We're developing FleetTrack, a UK-based SaaS application using Microsoft Entra External ID for customer authentication.

Our configuration is:

  • Microsoft Entra External ID customer tenant.

Entra External ID Core offer, linked to an active Azure subscription.

Customers authenticate using email and password.

Email OTP is enabled.

Security Defaults are enabled.

Application uses ASP.NET Core, Microsoft.Identity.Web and OpenID Connect.

We want to keep ordinary customer login unchanged while requiring fresh authentication plus email OTP MFA for particularly sensitive operations, such as company ownership transfer and permanent company closure.

Could you please confirm:

Does the External ID Core offer support Conditional Access authentication contexts and application-requested MFA step-up for customer identities?

Are additional licences, subscriptions or usage charges required for authentication contexts, email OTP MFA or sign-in-frequency controls?

Do we need to disable Security Defaults to enforce an authentication-context Conditional Access policy in an External ID customer tenant?

If so, what is the recommended procedure for preserving existing administrator and tenant security protections?

Can the required replacement policies be configured before disabling Security Defaults, and is there any unavoidable gap in protection?

How should our application reliably verify that the requested authentication context was actually protected by an effective MFA policy? We understand that the acrs claim alone may not prove MFA enforcement if the context is unprotected.

Is there a supported way to ensure the application fails closed if the protecting Conditional Access policy is disabled, removed or bypassed?

We would appreciate guidance specifically for External ID customer tenants, rather than standard workforce tenants.

Thank you.

Microsoft Security | Microsoft Entra | Microsoft Entra External ID
0 comments No comments

1 answer

Sort by: Oldest
  1. Paul Thomas 80 Reputation points
    2026-11-04T04:16:21.9033333+00:00

    Here's what I found.**

    1. Does the Core offer support authentication contexts and step-up MFA?**

    Yes. The workforce-versus-external comparison lists, for Conditional Access in external tenants:

    • Target resources: all resources, selected apps, filter for applications, and authentication context
    • Grant controls: block access, require multifactor authentication, require password reset
    • Session controls: sign-in frequency and persistent browser session

    So a policy such as "authentication context c1 → require MFA, sign-in frequency" is supported for your customer identities. One requirement for email OTP as the second factor: the local account method must be Email with password, as yours is. If customers sign in with Email with one-time passcode, they can't use email OTP again for MFA.

    2. Extra licences or charges?

    The External ID pricing page describes MAU-based billing plus a short list of premium add-ons: SMS phone authentication, M2M authentication, Go-Local, and two that apply to workforce tenants only. Conditional Access, authentication context, sign-in frequency and email OTP aren't listed as add-ons. SMS is the only MFA method that costs extra, and it needs the linked subscription you already have. The general Conditional Access docs mention Entra ID P1, but that refers to workforce tenants. Check the current pricing page for your region before you commit.

    3. Do you need to disable Security Defaults?

    Yes. The Security Defaults article says: "Organizations that choose to implement Conditional Access policies that replace security defaults must disable security defaults." They can't be used together.

    4 and 5. Keeping protection during the switch

    Security Defaults mainly protect your admin accounts: MFA for admin roles, MFA for Azure management, and blocking legacy authentication and device code flow. Microsoft documents equivalent Microsoft-managed Conditional Access policies that you can enable after you disable Security Defaults. A short window without protection between the two steps is unavoidable, so keep it to minutes:

    • Before the change, write down every policy you'll create: your break-glass exclusions, MFA for admins, the c1 step-up policy and any app-wide policy.
    • Create two cloud-only emergency access accounts first, as Microsoft recommends, and exclude them from every policy.
    • In one maintenance window, disable Security Defaults, then immediately create and enable the policies, starting with MFA for admins.
    • Sign in with a test customer and an admin account to confirm both behave as expected.

    6. Verifying that the context was really protected

    You're right that acrs alone isn't proof. Microsoft's authentication-context developer guide says that if no Conditional Access policy is assigned to an auth context value, "the claim might still be issued". Its table shows acrs being issued when a context is requested but no policy is configured. In the app, the guide's pattern is:

    • Request the context explicitly in the claims parameter when the user starts the sensitive operation, and check that the token's acrs contains c1 before you allow it.
    • Don't hard-code the meaning of c1 in the app. Read the available contexts through Microsoft Graph (authenticationContextClassReferences).

    The token can only tell you that the context was satisfied. It can't tell you whether a policy behind c1 actually required MFA, so that has to be checked separately (point 7).

    7. Failing closed if the policy is changed or removed

    I couldn't find a built-in setting that makes an app fail closed when a policy is disabled. The practical approach is to verify the configuration outside the token:

    • Run a scheduled check, for example a pipeline step or admin job with Policy.Read.All. It should confirm that an enabled Conditional Access policy targets authentication context c1 and requires MFA. In Graph, look for policies where conditions.applications.includeAuthenticationContextClassReferences contains c1, state is enabled, and grantControls.builtInControls contains mfa.
    • If the check fails, have it switch off the sensitive operations (a feature flag your app reads), so ownership transfer and company closure are blocked until the policy is restored.
    • Also alert on changes to Conditional Access policies in the audit logs. External tenants keep logs for seven days, so export them (Azure Monitor for external tenants is in preview) if you need them for longer.

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.