Conditional Access: Conditions
Within a Conditional Access policy, an administrator can make use of one or more signals to enhance their policy decisions.
Multiple conditions can be combined to create fine-grained and specific Conditional Access policies.
When users access a sensitive application, an administrator might factor multiple conditions into their access decisions like:
Device platforms
Conditional Access identifies the device platform by using information provided by the device, such as user agent strings. Since user agent strings can be modified, this information is unverified. Device platform should be used in concert with Microsoft Intune device compliance policies or as part of a block statement. The default is to apply to all device platforms.
Conditional Access supports the following device platforms:
- Android
- iOS
- Windows
- macOS
- Linux
If you block legacy authentication using the Other clients condition, you can also set the device platform condition.
We don't support selecting macOS or Linux device platforms when selecting Require approved client app or Require app protection policy as the only grant controls or when you choose Require all the selected controls.
Important
Microsoft recommends that you have a Conditional Access policy for unsupported device platforms. As an example, if you want to block access to your corporate resources from Chrome OS or any other unsupported clients, you should configure a policy with a Device platforms condition that includes any device and excludes supported device platforms and Grant control set to Block access.
Locations
The locations condition moved.
Client apps
By default, all newly created Conditional Access policies apply to all client app types even if the client apps condition isn’t configured.
Note
The behavior of the client apps condition was updated in August 2020. If you have existing Conditional Access policies, they will remain unchanged. However, if you click on an existing policy, the Configure toggle has been removed and the client apps the policy applies to are selected.
Important
Sign-ins from legacy authentication clients don’t support multifactor authentication (MFA) and don’t pass device state information, so they are blocked by Conditional Access grant controls, like requiring MFA or compliant devices. If you have accounts which must use legacy authentication, you must either exclude those accounts from the policy, or configure the policy to only apply to modern authentication clients.
The Configure toggle when set to Yes applies to checked items, when set to No it applies to all client apps, including modern and legacy authentication clients. This toggle doesn’t appear in policies created before August 2020.
- Modern authentication clients
- Browser
- These include web-based applications that use protocols like SAML, WS-Federation, OpenID Connect, or services registered as an OAuth confidential client.
- Mobile apps and desktop clients
- This option includes applications like the Office desktop and phone applications.
- Browser
- Legacy authentication clients
- Exchange ActiveSync clients
- This selection includes all use of the Exchange ActiveSync (EAS) protocol.
- When policy blocks the use of Exchange ActiveSync the affected user receives a single quarantine email. This email with provide information on why they’re blocked and include remediation instructions if able.
- Administrators can apply policy only to supported platforms (such as iOS, Android, and Windows) through the Conditional Access Microsoft Graph API.
- Other clients
- This option includes clients that use basic/legacy authentication protocols that don’t support modern authentication.
- SMTP - Used by POP and IMAP client's to send email messages.
- Autodiscover - Used by Outlook and EAS clients to find and connect to mailboxes in Exchange Online.
- Exchange Online PowerShell - Used to connect to Exchange Online with remote PowerShell. If you block Basic authentication for Exchange Online PowerShell, you need to use the Exchange Online PowerShell Module to connect. For instructions, see Connect to Exchange Online PowerShell using multifactor authentication.
- Exchange Web Services (EWS) - A programming interface used by Outlook, Outlook for Mac, and third-party apps.
- IMAP4 - Used by IMAP email clients.
- MAPI over HTTP (MAPI/HTTP) - Used by Outlook 2010 and later.
- Offline Address Book (OAB) - A copy of address list collections that are downloaded and used by Outlook.
- Outlook Anywhere (RPC over HTTP) - Used by Outlook 2016 and earlier.
- Outlook Service - Used by the Mail and Calendar app for Windows 10.
- POP3 - Used by POP email clients.
- Reporting Web Services - Used to retrieve report data in Exchange Online.
- This option includes clients that use basic/legacy authentication protocols that don’t support modern authentication.
- Exchange ActiveSync clients
These conditions are commonly used to:
- Require a managed device
- Block legacy authentication
- Block web applications but allow mobile or desktop apps
Supported browsers
This setting works with all browsers. However, to satisfy a device policy, like a compliant device requirement, the following operating systems and browsers are supported. Operating Systems and browsers out of mainstream support aren’t shown on this list:
Operating Systems | Browsers |
---|---|
Windows 10 + | Microsoft Edge, Chrome, Firefox 91+ |
Windows Server 2022 | Microsoft Edge, Chrome |
Windows Server 2019 | Microsoft Edge, Chrome |
iOS | Microsoft Edge, Safari (see the notes) |
Android | Microsoft Edge, Chrome |
macOS | Microsoft Edge, Chrome, Safari |
Linux Desktop | Microsoft Edge |
These browsers support device authentication, allowing the device to be identified and validated against a policy. The device check fails if the browser is running in private mode or if cookies are disabled.
Note
Edge 85+ requires the user to be signed in to the browser to properly pass device identity. Otherwise, it behaves like Chrome without the Microsoft Single Sign On extension. This sign-in might not occur automatically in a hybrid device join scenario.
Safari is supported for device-based Conditional Access on a managed device, but it can't satisfy the Require approved client app or Require app protection policy conditions. A managed browser like Microsoft Edge will satisfy approved client app and app protection policy requirements. On iOS with 3rd party MDM solution only Microsoft Edge browser supports device policy.
Firefox 91+ is supported for device-based Conditional Access, but "Allow Windows single sign-on for Microsoft, work, and school accounts" needs to be enabled.
Chrome 111+ is supported for device-based Conditional Access, but "CloudApAuthEnabled" needs to be enabled.
macOS devices using the Enterprise SSO plugin require the Microsoft Single Sign On extension to support SSO and device-based Conditional Access in Google Chrome.
Why do I see a certificate prompt in the browser
On Windows 7, iOS, Android, and macOS devices are identified using a client certificate. This certificate is provisioned when the device is registered. When a user first signs in through the browser the user is prompted to select the certificate. The user must select this certificate before using the browser.
Chrome support
Windows
For Chrome support in Windows 10 Creators Update (version 1703) or later, install the Microsoft Single Sign On extension or enable Chrome's CloudAPAuthEnabled. These configurations are required when a Conditional Access policy requires device-specific details for Windows platforms specifically.
To automatically enable the CloudAPAuthEnabled policy in Chrome, create the following registry key:
- Path:
HKEY_LOCAL_MACHINE\Software\Policies\Google\Chrome
- Name:
CloudAPAuthEnabled
- Value:
0x00000001
- PropertyType:
DWORD
To automatically deploy the Microsoft Single Sign On extension to Chrome browsers, create the following registry key using the ExtensionInstallForcelist policy in Chrome:
- Path:
HKEY_LOCAL_MACHINE\Software\Policies\Google\Chrome\ExtensionInstallForcelist
- Name:
1
- Type:
REG_SZ (String)
- Data:
ppnbnpeolgkicgegkbkbjmhlideopiji;https://clients2.google.com/service/update2/crx
For Chrome support in Windows 8.1 and 7, create the following registry key:
- Path:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\AutoSelectCertificateForUrls
- Name:
1
- Type:
REG_SZ (String)
- Data:
{"pattern":"https://device.login.partner.microsoftonline.cn","filter":{"ISSUER":{"CN":"MS-Organization-Access"}}}
macOS
macOS devices using the Enterprise SSO plugin require the Microsoft Single Sign On extension to support SSO and device-based Conditional Access in Google Chrome.
Supported mobile applications and desktop clients
Administrators can select Mobile apps and desktop clients as client app.
This setting has an effect on access attempts made from the following mobile apps and desktop clients:
Client apps | Target Service | Platform |
---|---|---|
Dynamics CRM app | Dynamics CRM | Windows 10, Windows 8.1, iOS, and Android |
Mail/Calendar/People app, Outlook 2016, Outlook 2013 (with modern authentication) | Exchange Online | Windows 10 |
MFA and location policy for apps. Device-based policies aren’t supported. | Any My Apps app service | Android and iOS |
Microsoft Teams Services - this client app controls all services that support Microsoft Teams and all its Client Apps - Windows Desktop, iOS, Android, WP, and web client | Microsoft Teams | Windows 10, Windows 8.1, Windows 7, iOS, Android, and macOS |
Office 2016 apps, Office 2013 (with modern authentication), OneDrive sync client | SharePoint | Windows 8.1, Windows 7 |
Office 2016 apps, Universal Office apps, Office 2013 (with modern authentication), OneDrive sync client | SharePoint Online | Windows 10 |
Office 2016 (Word, Excel, PowerPoint, OneNote only). | SharePoint | macOS |
Office 2019 | SharePoint | Windows 10, macOS |
Office mobile apps | SharePoint | Android, iOS |
Office Yammer app | Yammer | Windows 10, iOS, Android |
Outlook 2019 | SharePoint | Windows 10, macOS |
Outlook 2016 (Office for macOS) | Exchange Online | macOS |
Outlook 2016, Outlook 2013 (with modern authentication), Skype for Business (with modern authentication) | Exchange Online | Windows 8.1, Windows 7 |
Outlook mobile app | Exchange Online | Android, iOS |
Power BI app | Power BI service | Windows 10, Windows 8.1, Windows 7, Android, and iOS |
Skype for Business | Exchange Online | Android, iOS |
Azure DevOps Services (formerly Visual Studio Team Services, or VSTS) app | Azure DevOps Services (formerly Visual Studio Team Services, or VSTS) | Windows 10, Windows 8.1, Windows 7, iOS, and Android |
Exchange ActiveSync clients
- Administrators can only select Exchange ActiveSync clients when assigning policy to users or groups. Selecting All users, All guest and external users, or Directory roles causes all users to be subject of the policy.
- When administrators create a policy assigned to Exchange ActiveSync clients, Exchange Online should be the only cloud application assigned to the policy.
- Administrators can narrow the scope of this policy to specific platforms using the Device platforms condition.
If the access control assigned to the policy uses Require approved client app, the user is directed to install and use the Outlook mobile client. In the case that Multifactor authentication, Terms of use, or custom controls are required, affected users are blocked, because basic authentication doesn’t support these controls.
For more information, see the following articles:
- Block legacy authentication with Conditional Access
- Requiring approved client apps with Conditional Access
Other clients
By selecting Other clients, you can specify a condition that affects apps that use basic authentication with mail protocols like IMAP, MAPI, POP, SMTP, and older Office apps that don't use modern authentication.
Device state (deprecated)
This condition was deprecated. Customers should use the Filter for devices condition in the Conditional Access policy, to satisfy scenarios previously achieved using the device state condition.
Important
Device state and filters for devices cannot be used together in Conditional Access policy. Filters for devices provides more granular targeting including support for targeting device state information through the trustType
and isCompliant
property.
Filter for devices
When administrators configure filter for devices as a condition, they can choose to include or exclude devices based on a filter using a rule expression on device properties. The rule expression for filter for devices can be authored using rule builder or rule syntax. This experience is similar to the one used for rules for dynamic membership groups for groups. For more information, see the article Conditional Access: Filter for devices.
Authentication flows (preview)
Authentication flows control how your organization uses certain authentication and authorization protocols and grants. These flows might provide a seamless experience to devices that might lack local input devices like shared devices or digital signage. Use this control to configure transfer methods like device code flow or authentication transfer.