Skip to content
← All field notes

Field Notes · Sheet 07 / 30 · Conditional Access and MFA

How Conditional Access decides

Why one block policy beats three grant policies: the two evaluation phases, and what follows when every applicable policy has to be satisfied.

Bradley Baker · · 1 min read

Flow diagram of Conditional Access evaluation. Phase 1 collects session details for enabled and report-only policies. Phase 2 checks every applicable enabled policy: any block control ends in blocked; otherwise unmet grant controls are prompted in order, MFA first, then device compliance, then the rest, ending in access with session controls.
Sheet 07 / 30 · Drawn by Bradley BakerFull size

If one Conditional Access policy says block and three others say grant with MFA, the user is blocked. The evaluation order explains why. This is the longer version of Sheet 07.

Two phases

Entra evaluates Conditional Access in two phases.

Phase 1 collects session details: the user, the app, network location, device identity, and the rest of the signals a policy might check. It runs for enabled policies and for report-only policies.

Phase 2 enforces, for enabled policies only. Entra looks at every policy that applies. If any of them uses the block control, enforcement stops there and the sign-in is blocked. If not, the user is prompted for whatever grant controls aren't met yet, starting with MFA, then device compliance, then the rest.

Three consequences

  • Every applicable policy must be satisfied. There's no priority order and no "most specific policy wins."
  • Inside a single policy, assignments combine with AND. Users, target resources, network, and conditions all have to match for it to apply.
  • Grant controls inside a policy are either "require all the selected controls" or "require one of the selected controls." Check that setting on every policy you inherit.

The first phase runs for report-only policies too, which is why Sheet 06 pairs reading the report-only results with excluding platforms from compliance policies.

What's the strangest block you've traced back to a policy nobody remembered creating?

Sources

  1. Building a Conditional Access policylearn.microsoft.com
  2. Conditional Access report-only modelearn.microsoft.com
  • Conditional Access
  • Entra ID
  • Block control
  • Grant controls
  • MFA
This note on LinkedIn

Recon log

Findings 0/46

0/16 behavior and secret eggs. Hardware finds depend on the machine you visit from.

Hardware details are read by your browser and stay there. When you find an egg, only its name is counted, with no identifier attached, and nothing is counted if Global Privacy Control or Do Not Track is on.

Display0/7

  • Undiscovered (not found yet)

    rare

    Hint: Visit on a very large display.

  • Undiscovered (not found yet)

    uncommon

    Hint: Some monitors are wider than others.

  • Undiscovered (not found yet)

    uncommon

    Hint: Two screens are better than one.

  • Undiscovered (not found yet)

    rare

    Hint: Turn a monitor on its side.

  • Undiscovered (not found yet)

    common

    Hint: Pixels per inch matter.

  • Undiscovered (not found yet)

    uncommon

    Hint: Faster than 60 frames a second.

  • Undiscovered (not found yet)

    common

    Hint: Colors beyond sRGB.

Hardware0/11

  • Undiscovered (not found yet)

    rare

    Hint: Bring a flagship graphics card.

  • Undiscovered (not found yet)

    legendary

    Hint: A GPU that lives in a rack.

  • Undiscovered (not found yet)

    common

    Hint: A Mac with Apple silicon.

  • Undiscovered (not found yet)

    rare

    Hint: A Windows machine built for heavy work.

  • Undiscovered (not found yet)

    rare

    Hint: A Mac built for heavy work.

  • Undiscovered (not found yet)

    rare

    Hint: Two dozen threads or more.

  • Undiscovered (not found yet)

    rare

    Hint: Windows, but not on x86.

  • Undiscovered (not found yet)

    uncommon

    Hint: The year of the Linux desktop.

  • Undiscovered (not found yet)

    uncommon

    Hint: A laptop that boots straight into a browser.

  • Undiscovered (not found yet)

    uncommon

    Hint: No graphics card at all.

  • Undiscovered (not found yet)

    common

    Hint: A laptop you can poke.

Environment0/11

  • Undiscovered (not found yet)

    uncommon

    Hint: Visit while your battery is nearly flat.

  • Undiscovered (not found yet)

    uncommon

    Hint: Your browser has a setting for saving data.

  • Undiscovered (not found yet)

    uncommon

    Hint: Visit very late at night.

  • Undiscovered (not found yet)

    common

    Hint: Visit on a day off.

  • Undiscovered (not found yet)

    uncommon

    Hint: A browser with a lion on it.

  • Undiscovered (not found yet)

    common

    Hint: A browser with a fox on it.

  • Undiscovered (not found yet)

    uncommon

    Hint: An accessibility setting that calms things down.

  • Undiscovered (not found yet)

    uncommon

    Hint: Tell websites not to track you.

  • Undiscovered (not found yet)

    rare

    Hint: Visit from the Lone Star State.

  • Undiscovered (not found yet)

    common

    Hint: A newer version of HTTP.

  • Undiscovered (not found yet)

    rare

    Hint: A very narrow window.

Behavior0/7

  • Undiscovered (not found yet)

    uncommon

    Hint: Drag the edge of your browser window around.

  • Undiscovered (not found yet)

    uncommon

    Hint: Reach the bottom of the page quickly.

  • Undiscovered (not found yet)

    uncommon

    Hint: Try printing this page.

  • Undiscovered (not found yet)

    common

    Hint: Toggle the theme a few times.

  • Undiscovered (not found yet)

    rare

    Hint: Lose your connection.

  • Undiscovered (not found yet)

    rare

    Hint: Plug in a controller and press a button.

  • Undiscovered (not found yet)

    uncommon

    Hint: Sign the guestbook.

Secrets0/10

  • Undiscovered (not found yet)

    rare

    Hint: A famous cheat code.

  • Undiscovered (not found yet)

    common

    Hint: There's a terminal in here somewhere.

  • Undiscovered (not found yet)

    uncommon

    Hint: Ask the terminal about your machine.

  • Undiscovered (not found yet)

    uncommon

    Hint: Ask the terminal for root.

  • Undiscovered (not found yet)

    rare

    Hint: sudo, but make it a job offer.

  • Undiscovered (not found yet)

    rare

    Hint: The most dangerous command there is.

  • Undiscovered (not found yet)

    legendary

    Hint: Open your browser's developer console.

  • Undiscovered (not found yet)

    uncommon

    Hint: Click the logo. Then keep clicking.

  • Undiscovered (not found yet)

    legendary

    Hint: Type the 82nd's favorite word anywhere on the page.

  • Undiscovered (not found yet)

    legendary

    Hint: Find every egg that doesn't depend on your hardware.

Finds are saved in this browser only.

guest@bradbaker-it.com:~