Skip to main content

IBP – Block Device Code Flow

Best Practice Policies M2

🎯 Purpose

✅ Block the OAuth Device Code Flow for all users to prevent authentication from devices or terminals that cannot present modern browser‑based MFA challenges.
➡️ Reduces risk from MFA‑bypass techniques commonly used in phishing kits, automation tools, and CLI‑based attacks.


👥 Who is affected

Users: All users
🚫 Exclusions: One exception group (typically Break‑Glass, DevOps automation, or CA‑Bypass group)

➡️ All users are blocked from using Device Code Flow unless explicitly excluded.


☁️ What access is protected

Applications: All cloud applications
– Microsoft 365
– Azure
– Enterprise apps
– Custom apps
– Third‑party federated apps

Client types: All
– Browser
– Mobile
– Desktop
– Legacy auth (if any)
– Native and CLI tools

➡️ Device Code Flow is evaluated regardless of client type.


🔐 How Device Code Flow is restricted

Authentication Flow Targeted:

  • deviceCodeFlow

This includes:

  • Azure CLI

  • Graph CLI

  • PowerShell

  • IoT devices

  • Devices or terminals that cannot render a login UI

  • Smart TVs / legacy devices

  • Any workflow requiring “Enter this code at https://microsoft.com/devicelogin

➡️ These flows can be abused to bypass normal MFA if CA policies don’t explicitly block them.


🌐 Location enforcement

Location conditions:

  • Included: All locations

  • Excluded: All trusted locations

➡️ Device Code Flow is blocked everywhere except trusted network boundaries (e.g., office IP ranges).

This prevents risky remote Device Code authentications while still allowing safe behaviour on trusted internal networks.


🔒 Grant controls

Block access

  • Operator: OR

  • Control: block

➡️ This is a hard block of the entire device code auth method.

No fallback.
No alternative grant control.


⚙️ What this policy does NOT enforce

🚫 MFA
🚫 Device compliance
🚫 Platform conditions
🚫 User or sign‑in risk
🚫 Session controls
🚫 Authentication Strength

➡️ The policy’s only function is to block the Device Code Flow itself.


🟢 Policy status

Disabled
➡️ Device Code Flow is currently allowed everywhere.
➡️ CLI tools and automation using Device Code authentication continue to function normally.


📘 Security Alignment

✅ Supports modern identity security by eliminating a known MFA‑bypass vector
➡️ Aligns with Essential Eight uplift and Microsoft privileged access guidance
ℹ️ Provides a clean, low‑friction path to later enable stricter identity controls without impacting productivity prematurely.


📘 Practical Interpretation (Executive‑Friendly)

This Conditional Access policy ensures that:

❌ No user
❌ From any untrusted location
➡ Can authenticate using Device Code Flow
(unless part of the exception group)

This blocks a legacy authentication pattern frequently exploited in phishing and automation‑based attacks, strengthening the organisation’s identity boundary while still permitting secure exceptions.

Did this answer your question?