Conditional Access with Microsoft Intune creates a powerful Zero Trust security model, ensuring that only trusted users on compliant devices can access your organization's cloud resources. This guide covers configuring Conditional Access policies that leverage Intune device compliance to protect Microsoft 365 and other cloud applications.
Overview
Conditional Access acts as the decision engine that evaluates multiple signals before granting access:
User Request → Conditional Access Evaluates:
├── User identity (who is requesting?)
├── Device compliance (is the device secure?)
├── Location (where is the request from?)
├── Application (what are they accessing?)
├── Risk level (are there suspicious signals?)
└── Grant/Block Decision
| Signal | Description | Example |
|---|---|---|
| User/Group | Identity making request | All users, specific groups |
| Device compliance | Intune compliance status | Compliant/Non-compliant |
| Location | Geographic or network location | Corporate network, trusted IPs |
| Application | Target cloud app | Microsoft 365, Salesforce |
| Device platform | Operating system | Windows, macOS, iOS, Android |
| Sign-in risk | Real-time risk detection | Low, Medium, High |
| User risk | Historical risk indicators | Leaked credentials detected |
Prerequisites
Before configuring Conditional Access with Intune:
Licensing Requirements:
- Microsoft Intune license
- Azure AD Premium P1 (minimum) - included with Microsoft 365 E3, Business Premium
- Azure AD Premium P2 (for risk-based policies) - included with Microsoft 365 E5
Administrative Access:
- Global Administrator, Security Administrator, or Conditional Access Administrator role
- Intune Administrator role (for compliance policies)
Technical Requirements:
- Devices enrolled in Microsoft Intune
- Compliance policies configured and assigned
- Azure AD hybrid join or Azure AD join configured (for Windows)
- Company Portal installed (for mobile devices)
Recommended Preparation:
- Create emergency access ("break glass") accounts
- Configure Intune compliance policies
- Document current access patterns
- Identify pilot user group
Step 1: Verify Intune Compliance Policies
Before creating Conditional Access policies, ensure compliance policies are in place.
Review Existing Compliance Policies
-
Sign in to the Microsoft Intune admin center: https://intune.microsoft.com
-
Navigate to Devices > Compliance > Policies
-
Verify you have policies for each platform:
- Windows 10 and later
- macOS
- iOS/iPadOS
- Android Enterprise
-
Click on each policy to verify:
- Assignments: Appropriate groups targeted
- Compliance status: View how many devices are compliant
Verify Device Compliance Status
-
Navigate to Devices > All devices
-
Review the Compliance column:
- Compliant: Device meets all requirements
- Not compliant: Device fails one or more requirements
- In grace period: Device has time to remediate
- Not evaluated: No policy assigned
-
Address compliance issues before enabling Conditional Access:
- Click on non-compliant devices
- Review Device compliance > Per-setting status
- Help users remediate issues
Step 2: Create Emergency Access Accounts
Emergency access accounts ensure you can access Azure AD if Conditional Access misconfiguration locks out administrators.
Configure Break Glass Accounts
-
Navigate to Azure portal: https://portal.azure.com
-
Go to Azure Active Directory > Users > New user
-
Create two emergency access accounts:
| Setting | Account 1 | Account 2 |
|---|---|---|
| Username | [email protected] | [email protected] |
| Name | Emergency Access 1 | Emergency Access 2 |
| Password | Strong, unique, 20+ characters | Strong, unique, 20+ characters |
| Roles | Global Administrator | Global Administrator |
-
Important configurations:
- Disable MFA for these accounts
- Store credentials in separate secure locations (physical safe, etc.)
- Do not use these accounts for daily operations
- Monitor sign-in logs for any use
-
Create an Azure AD group for emergency accounts:
- Name: "Emergency Access Accounts"
- Add both break glass accounts
- This group will be excluded from all Conditional Access policies
Step 3: Configure Named Locations
Named locations define trusted networks that may have different access requirements.
Create Trusted Network Locations
-
Navigate to Microsoft Entra admin center: https://entra.microsoft.com
-
Go to Protection > Conditional Access > Named locations
-
Click IP ranges location to create a trusted location:
| Setting | Value |
|---|---|
| Name | Corporate Headquarters |
| Mark as trusted location | Yes |
| IP ranges | Add your corporate IP ranges (CIDR notation) |
Example IP ranges:
203.0.113.0/24(Corporate office)198.51.100.0/24(Branch office)
-
Click Create
-
Repeat for additional locations (branch offices, VPN exit points)
Create Country-Based Locations
-
Click Countries location
-
Configure:
- Name: "Allowed Countries"
- Determine location by: IP address (Azure AD default)
- Select allowed countries/regions
-
Click Create
This can be used to block access from unexpected countries.
Step 4: Create Conditional Access Policies
Create policies that require device compliance for accessing cloud resources.
Policy 1: Require Compliant Device for Microsoft 365
This fundamental policy ensures only compliant devices access Microsoft 365.
-
Navigate to Protection > Conditional Access > Policies
-
Click New policy
-
Name: "CA001 - Require Compliant Device for Microsoft 365"
Configure Users:
- Under Users, click 0 users and groups selected
- Select All users
- Under Exclude, click Users and groups
- Select your "Emergency Access Accounts" group
- (Optional) Exclude service accounts that need special handling
Configure Target Resources:
- Under Target resources, click No target resources selected
- Select Cloud apps
- Choose Select apps
- Search for and select:
- Office 365
- (Or select individual apps: Exchange Online, SharePoint Online, Teams)
- Click Select
Configure Conditions:
-
Under Conditions, optionally configure:
Device platforms:
- Configure: Yes
- Include: All platforms (or select specific platforms)
Locations:
- Configure: No (apply everywhere) or Yes to exclude trusted locations
Client apps:
- Configure: Yes
- Select: Browser, Mobile apps and desktop clients
- (Consider blocking legacy authentication separately)
Configure Access Controls:
- Under Grant, click 0 controls selected
- Select Grant access
- Check Require device to be marked as compliant
- Check Require multifactor authentication (recommended)
- For multiple controls: Require all the selected controls
- Click Select
Enable Policy:
-
Under Enable policy, select Report-only (always start here)
-
Click Create
Policy 2: Require MFA from Non-Trusted Locations
Additional protection for access from outside the corporate network.
-
Click New policy
-
Name: "CA002 - Require MFA from Untrusted Locations"
Configure Users:
- All users
- Exclude: Emergency Access Accounts
Configure Target Resources:
- All cloud apps
Configure Conditions:
- Locations:
- Configure: Yes
- Include: Any location
- Exclude: Select trusted locations (Corporate Headquarters, etc.)
Configure Access Controls:
- Grant:
- Grant access
- Require multifactor authentication
Enable: Report-only initially
Policy 3: Block Legacy Authentication
Block protocols that don't support modern authentication.
-
Click New policy
-
Name: "CA003 - Block Legacy Authentication"
Configure Users:
- All users
- Exclude: Emergency Access Accounts, service accounts that require legacy auth
Configure Target Resources:
- All cloud apps
Configure Conditions:
- Client apps:
- Configure: Yes
- Select only:
- Exchange ActiveSync clients
- Other clients
Configure Access Controls:
- Block: Block access
Enable: Report-only, then enable after verification
Policy 4: Require Compliant or Hybrid Azure AD Joined Device
For organizations with hybrid Azure AD environments.
-
Click New policy
-
Name: "CA004 - Require Compliant or Hybrid Azure AD Join"
Configure Users:
- All users
- Exclude: Emergency Access Accounts
Configure Target Resources:
- Select sensitive applications (custom LOB apps, Azure Management)
Configure Conditions:
- Device platforms:
- Configure: Yes
- Include: Windows
Configure Access Controls:
- Grant:
- Grant access
- Require device to be marked as compliant
- Require hybrid Azure AD joined device
- For multiple controls: Require one of the selected controls
Enable: Report-only initially
Policy 5: Block Access from High-Risk Countries
Block access from countries where your organization doesn't operate.
-
Click New policy
-
Name: "CA005 - Block High-Risk Countries"
Configure Users:
- All users
- Exclude: Emergency Access Accounts, traveling users group
Configure Target Resources:
- All cloud apps
Configure Conditions:
- Locations:
- Configure: Yes
- Include: All locations
- Exclude: "Allowed Countries" named location
Configure Access Controls:
- Block: Block access
Enable: Report-only, review sign-in logs carefully before enabling
Step 5: Configure Risk-Based Policies (Azure AD P2)
If you have Azure AD Premium P2, leverage Identity Protection for risk-based policies.
Configure Sign-in Risk Policy
Respond to risky sign-in attempts in real-time.
-
Navigate to Protection > Identity Protection > Sign-in risk policy
Or create via Conditional Access:
-
Click New policy
-
Name: "CA006 - Require MFA for Medium+ Sign-in Risk"
Configure Users:
- All users
- Exclude: Emergency Access Accounts
Configure Target Resources:
- All cloud apps
Configure Conditions:
- Sign-in risk:
- Configure: Yes
- Select: Medium, High
Configure Access Controls:
- Grant:
- Grant access
- Require multifactor authentication
Enable: Report-only initially
Configure User Risk Policy
Respond to compromised user accounts.
-
Click New policy
-
Name: "CA007 - Require Secure Password Change for High User Risk"
Configure Users:
- All users
- Exclude: Emergency Access Accounts
Configure Target Resources:
- All cloud apps
Configure Conditions:
- User risk:
- Configure: Yes
- Select: High
Configure Access Controls:
- Grant:
- Grant access
- Require password change
Enable: Report-only initially
Step 6: Test Policies in Report-Only Mode
Before enabling policies, verify their impact using report-only mode and the What If tool.
Review Sign-in Logs
-
Navigate to Azure AD > Sign-in logs
-
Add filter: Conditional Access = Report-only: Failure
-
Review entries to see which users/devices would be blocked
-
For each entry:
- Click to expand details
- Go to Conditional Access tab
- Review which policies would apply and their results
Use the What If Tool
-
Navigate to Conditional Access > What If
-
Configure the simulation:
- User: Select a test user
- Cloud apps: Select target application
- IP address: Enter test IP
- Country: Select location
- Device platform: Select platform
- Device state: Compliant or Non-compliant
- Sign-in risk: Select risk level
-
Click What If
-
Review:
- Policies that will apply: Green checkmarks
- Policies that will not apply: Gray
- Grant controls required: What the user must do
-
Test multiple scenarios:
- Compliant device from corporate network
- Non-compliant device from corporate network
- Compliant device from external location
- Non-compliant device from external location
Monitor for Issues
-
Watch for patterns in report-only failures:
- Service accounts being blocked
- Users without compliant devices
- Unexpected location-based blocks
-
Address issues before enabling:
- Exclude service accounts or create specific policies
- Help users achieve device compliance
- Update named locations as needed
Step 7: Enable Policies Gradually
After testing, enable policies with a phased approach.
Phase 1: IT Pilot (Week 1-2)
-
Create a pilot group of 5-10 IT users
-
For policy "CA001 - Require Compliant Device for Microsoft 365":
- Edit policy
- Change Users from "All users" to your IT pilot group
- Change Enable policy to On
- Click Save
-
Monitor pilot users for issues:
- Check sign-in logs for failures
- Gather feedback on user experience
- Resolve any problems
Phase 2: Early Adopters (Week 3-4)
-
Expand to early adopter group (25-50 users from various departments)
-
Edit policy:
- Add early adopter group to assignment
- (Or switch to "All users" if confident)
-
Continue monitoring and gathering feedback
Phase 3: Organization-Wide (Week 5+)
-
After successful pilot phases:
- Edit policy
- Change to All users (keeping exclusions)
- Monitor closely for first few days
-
Have support team ready to assist users
-
Communicate rollout to organization
Enable Additional Policies
Repeat the phased approach for each additional policy:
- CA002 - MFA from untrusted locations
- CA003 - Block legacy authentication
- CA004 - Require hybrid Azure AD join
- CA005 - Block high-risk countries
- CA006/CA007 - Risk-based policies
Step 8: Configure Session Controls (Advanced)
Session controls provide additional protection after initial authentication.
Configure Sign-in Frequency
Force re-authentication after a period of time.
-
Edit or create a new Conditional Access policy
-
Under Session:
- Sign-in frequency: Configure to On
- Set duration (e.g., 8 hours, 24 hours)
- Applies to: Every time
-
Use cases:
- Sensitive applications requiring frequent re-auth
- Unmanaged device access with time limits
Configure Persistent Browser Session
Control whether users stay signed in.
-
Under Session:
- Persistent browser session: Configure to On
- Set to: Never persistent (or Always persistent)
-
Use cases:
- Always persistent for trusted devices
- Never persistent for unmanaged devices
Configure App Enforced Restrictions
Limit capabilities in browser sessions.
-
Under Session:
- Use app enforced restrictions: On
-
Requires:
- SharePoint Online limited access policy
- Or Microsoft Defender for Cloud Apps integration
-
Enables:
- Block download on unmanaged devices
- Prevent copy/paste
- Watermark documents
Troubleshooting
Users Unable to Access Resources
Symptoms: Users report being blocked from Microsoft 365 or other apps.
Diagnosis:
- Check sign-in logs for the user's failed attempt
- Review Conditional Access tab in sign-in details
- Identify which policy blocked access and why
Common Causes and Solutions:
| Cause | Solution |
|---|---|
| Device not compliant | Help user remediate compliance issues |
| Device not enrolled | Guide user through Intune enrollment |
| Device not Azure AD joined | Join device to Azure AD |
| Legacy authentication attempt | User must use modern auth client |
| Location blocked | Verify user's location, adjust named locations |
| MFA not completed | User must complete MFA registration |
Device Shows Compliant But Access Blocked
Symptoms: Intune shows compliant but Conditional Access blocks.
Diagnosis:
-
Check if device is Azure AD registered/joined:
- Run
dsregcmd /statuson Windows - Review AzureAdJoined and DomainJoined status
- Run
-
Verify device ID matches:
- Intune device ID
- Azure AD device ID
Solutions:
- Re-join device to Azure AD
- Wait for compliance status to sync (up to 30 minutes)
- Force sync from Company Portal
Conditional Access Policy Not Applying
Symptoms: Expected policy doesn't appear in sign-in logs.
Diagnosis:
- Verify policy is Enabled (not Report-only or Off)
- Check policy assignments:
- User is in included group
- User is not in excluded group
- Verify conditions match:
- Platform condition
- Location condition
- Client app condition
Solutions:
- Review policy configuration
- Use What If tool to verify policy applies
- Check for conflicting policies
MFA Registration Loops
Symptoms: User repeatedly prompted for MFA setup but can't complete.
Diagnosis:
- Check if MFA registration is blocked by Conditional Access
- Verify user can access aka.ms/mfasetup
Solution:
- Exclude MFA registration from device compliance requirement:
- Create policy targeting "Register security information" action
- Require MFA but not device compliance
Service Account Access Blocked
Symptoms: Automated processes fail due to Conditional Access.
Solutions:
- Managed identities (preferred): Use Azure managed identities where possible
- Service principal exemption: Exclude specific service principals
- Conditional Access exclusion: Add service accounts to exclusion group
- Named location exemption: Allow from specific IP ranges
Best practice: Document all service account exemptions and review regularly.
Best Practices
Policy Design
- Always use Report-only first: Never enable policies directly to production
- Exclude emergency access accounts: From every policy without exception
- Use groups for assignments: Easier to manage than individual users
- Layer policies by purpose: Don't create one complex policy, create multiple focused policies
- Document everything: Keep records of policy logic and exclusions
Naming Convention
Establish a consistent naming convention:
CA[Number] - [Action] [Target] [Condition]
Examples:
CA001 - Require Compliant Device for M365
CA002 - Block Legacy Authentication All Apps
CA003 - Require MFA from External Locations
CA004 - Block High Risk Sign-ins
Regular Maintenance
| Task | Frequency | Description |
|---|---|---|
| Review sign-in logs | Weekly | Check for blocked access, anomalies |
| Audit exclusions | Monthly | Verify exclusions are still needed |
| Test emergency accounts | Quarterly | Verify break glass accounts work |
| Review policy effectiveness | Quarterly | Are policies achieving security goals? |
| Update named locations | As needed | When office IPs change |
Security Recommendations
- Block legacy authentication: Critical for security
- Require MFA + compliant device: Defense in depth
- Use risk-based policies: Respond to threats automatically
- Limit session duration: Reduce window of exposure
- Monitor continuously: Set up alerts for policy changes
Monitoring and Reporting
Built-in Reports
Access Conditional Access reports:
-
Navigate to Protection > Conditional Access > Insights and reporting
-
Review:
- Sign-in success vs. failure: Impact of policies
- Policy impact: Which policies are triggering
- User impact: Who is being affected
Sign-in Log Analysis
-
Navigate to Azure AD > Sign-in logs
-
Useful filters:
- Conditional Access: Success, Failure, Report-only
- Status: Success, Failure, Interrupted
- Application: Specific app analysis
-
Export logs for detailed analysis
Create Alerts
-
Navigate to Azure AD > Diagnostic settings
-
Configure log export to:
- Log Analytics workspace
- Storage account
- Event hub
-
Create alerts for:
- High volume of CA failures
- Emergency account usage
- Policy configuration changes
Next Steps
After configuring Conditional Access:
- Enable Identity Protection: Add risk-based policies
- Configure Microsoft Defender for Cloud Apps: Add session controls
- Implement Continuous Access Evaluation: Real-time policy enforcement
- Deploy authentication methods: Passwordless, FIDO2 keys
- Regular audits: Review and optimize policies
Additional Resources
- Conditional Access Documentation
- Conditional Access Policy Templates
- What If Tool Guide
- Identity Protection Documentation
Need help implementing Conditional Access with Intune? InventiveHQ offers comprehensive Zero Trust security consulting, from policy design to deployment and ongoing management. Contact us for a free consultation.