Conditional Access baseline

Microsoft Entra ID · Conditional Access · Authentication strengths

In short: a set of [N] Conditional Access policies built around user personas rather than one-off exceptions. It blocks legacy authentication, requires phishing-resistant MFA for admins, and ties access to device compliance. Each policy ran in report-only mode before enforcement.

The problem

Most tenants I see have Conditional Access that grew one policy at a time: a rule for a project, an exclusion for an executive, a policy nobody remembers creating. That leaves gaps that are hard to see, such as legacy protocols still allowed, admins using the same MFA as everyone else, and exclusion groups that only get bigger.

[Add one or two sentences on the specific situation that prompted this, with no customer names.]

Design approach

Personas, not exceptions

Every identity falls into one persona, and every policy targets personas through groups:

PersonaWhoKey controls
Standard usersInternal staffMFA, compliant or registered device for M365, risk-based controls
Privileged adminsAnyone holding an Entra admin rolePhishing-resistant MFA, compliant device, shorter sign-in frequency
GuestsB2B collaboration usersMFA, limited app scope
Break-glassTwo emergency access accountsExcluded from all policies, with sign-in alerting
Workload identitiesService principalsHandled separately, with location restrictions where licensed

Naming convention

Policies are named so that the sign-in logs explain themselves, for example CA001-Global-BlockLegacyAuth or CA010-Admins-RequirePhishingResistantMFA. The number gives an order, the persona gives scope and the action says what the policy does.

The policies

#PolicyWhy
CA001Block legacy authenticationLegacy protocols can't do MFA and are a common password-spray target.
CA002Require MFA for all usersThe baseline control that everything else builds on.
CA003Block device code flowCloses a phishing path that bypasses normal sign-in.
CA004Secure security-info registrationStops an attacker with a password from registering their own MFA method.
CA010Admins: phishing-resistant MFAUses authentication strengths to require FIDO2 or Windows Hello for Business.
CA011Admins: require compliant deviceAdmin sessions only from managed, healthy endpoints.
CA020Users: sign-in riskStep-up or block on medium or high risk (Entra ID P2).
CA021Users: user riskRequire secure password change on high user risk (Entra ID P2).
CA030Guests: require MFAExternal identities meet the same bar as staff.

[Adjust this list to match what you actually deployed.]

Rollout

  1. Break-glass first. Two cloud-only emergency accounts, excluded from every policy, with an alert on any sign-in.
  2. Report-only. Every policy ran in report-only mode for [X weeks]. The Conditional Access insights workbook showed what would have been blocked.
  3. Fix the fallout before enforcing. [e.g. a legacy SMTP relay, a shared device, service accounts]
  4. Enforce in rings. IT first, then a pilot group, then everyone.

Verification

What I'd do next

[e.g. token protection, continuous access evaluation, and a regular review of the exclusion groups.]

See it run