Skip to content

Commit d7352c0

Browse files
authored
Merge pull request #127761 from MicrosoftDocs/master
Merge master to live, 4 AM
2 parents 656c0c3 + 2e13ad7 commit d7352c0

File tree

160 files changed

+2718
-2270
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

160 files changed

+2718
-2270
lines changed

.openpublishing.redirection.json

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23473,6 +23473,11 @@
2347323473
"redirect_url": "/azure/active-directory/conditional-access/howto-conditional-access-insights-reporting",
2347423474
"redirect_document_id": true
2347523475
},
23476+
{
23477+
"source_path": "articles/active-directory/fundamentals/concept-continuous-access-evaluation.md",
23478+
"redirect_url": "/azure/active-directory/conditional-access/concept-continuous-access-evaluation",
23479+
"redirect_document_id": true
23480+
},
2347623481
{
2347723482
"source_path": "articles/iot-hub/iot-hub-security-ground-up.md",
2347823483
"redirect_url": "/azure/iot-fundamentals/iot-security-ground-up",
@@ -37330,22 +37335,27 @@
3733037335
{
3733137336
"source_path": "articles/active-directory/application-access-panel-self-service-applications-how-to.md",
3733237337
"redirect_url": "/azure/active-directory/manage-apps/access-panel-manage-self-service-access",
37333-
"redirect_document_id": true
37338+
"redirect_document_id": false
3733437339
},
3733537340
{
3733637341
"source_path": "articles/active-directory/application-access-panel-self-service-applications-problem.md",
37337-
"redirect_url": "/azure/active-directory/manage-apps/access-panel-troubleshoot-self-service-access",
37338-
"redirect_document_id": true
37342+
"redirect_url": "/azure/active-directory/manage-apps/access-panel-manage-self-service-access",
37343+
"redirect_document_id": false
37344+
},
37345+
{
37346+
"source_path": "articles/active-directory/manage-apps/access-panel-troubleshoot-self-service-access.md",
37347+
"redirect_url": "/azure/active-directory/manage-apps/access-panel-manage-self-service-access",
37348+
"redirect_document_id": false
3733937349
},
3734037350
{
3734137351
"source_path": "articles/active-directory/application-access-panel-unexpected-application-appears.md",
3734237352
"redirect_url": "/azure/active-directory/manage-apps/access-panel-troubleshoot-unexpected-application",
37343-
"redirect_document_id": true
37353+
"redirect_document_id": false
3734437354
},
3734537355
{
3734637356
"source_path": "articles/active-directory/application-access-panel-unexpected-application-not-appearing.md",
3734737357
"redirect_url": "/azure/active-directory/manage-apps/access-panel-troubleshoot-application-not-appearing",
37348-
"redirect_document_id": true
37358+
"redirect_document_id": false
3734937359
},
3735037360
{
3735137361
"source_path": "articles/active-directory/application-access-panel-web-sign-in-problem.md",

articles/active-directory/conditional-access/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@
4141
href: location-condition.md
4242
- name: What if tool
4343
href: what-if-tool.md
44+
- name: Continuous access evaluation
45+
href: concept-continuous-access-evaluation.md
4446
- name: Custom controls
4547
href: controls.md
4648
- name: Classic policy migrations
Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
---
2+
title: Continuous access evaluation in Azure AD
3+
description: Responding to changes in user state faster with continuous access evaluation in Azure AD
4+
5+
services: active-directory
6+
ms.service: active-directory
7+
ms.subservice: conditional-access
8+
ms.topic: conceptual
9+
ms.date: 08/28/2020
10+
11+
ms.author: joflore
12+
author: MicrosoftGuyJFlo
13+
manager: daveba
14+
ms.reviewer: jlu
15+
16+
ms.collection: M365-identity-device-management
17+
---
18+
# Continuous access evaluation
19+
20+
Token expiration and refresh is a standard mechanism in the industry. When a client application like Outlook connects to a service like Exchange Online, the API requests are authorized using OAuth 2.0 access tokens. By default, those access tokens are valid for one hour, when they expire, the client is redirected back to Azure AD to refresh them. That refresh period provides an opportunity to reevaluate policies for user access. For example: we might choose not to refresh the token because of a Conditional Access policy, or because the user has been disabled in the directory.
21+
22+
Customers have expressed concerns about the lag between when conditions change for the user, like network location or credential theft, and when policies can be enforced related to that change. We have experimented with the “blunt object” approach of reduced token lifetimes but found they can degrade user experiences and reliability without eliminating risks.
23+
24+
Timely response to policy violations or security issues really requires a “conversation” between the token issuer, like Azure AD, and the relying party, like Exchange Online. This two-way conversation gives us two important capabilities. The relying party can notice when things have changed, like a client coming from a new location, and tell the token issuer. It also gives the token issuer a way to tell the relying party to stop respecting tokens for a given user due to account compromise, disablement, or other concerns. The mechanism for this conversation is continuous access evaluation (CAE). The goal is for response to be near real time, but in some cases latency of up to 15 minutes may be observed due to event propagation time.
25+
26+
The initial implementation of continuous access evaluation focuses on Exchange, Teams, and SharePoint Online.
27+
28+
### Key benefits
29+
30+
- User termination or password change/reset: User session revocation will be enforced in near real time.
31+
- Network location change: Conditional Access location policies will be enforced in near real time.
32+
- Token export to a machine outside of a trusted network can be prevented with Conditional Access location policies.
33+
34+
## Scenarios
35+
36+
There are two scenarios that make up continuous access evaluation, critical event evaluation and Conditional Access policy evaluation.
37+
38+
### Critical event evaluation
39+
40+
Continuous access evaluation is implemented by enabling services, like Exchange Online, SharePoint Online, and Teams, to subscribe to critical events in Azure AD so that those events can be evaluated and enforced near real time. Critical event evaluation does not rely on Conditional Access policies so is available in any tenant. The following events are currently evaluated:
41+
42+
- User Account is deleted or disabled
43+
- Password for a user is changed or reset
44+
- Multi-factor authentication is enabled for the user
45+
- Administrator explicitly revokes all refresh tokens for a user
46+
- Elevated user risk detected by Azure AD Identity Protection
47+
48+
This process enables the scenario where users lose access to organizational SharePoint Online files, email, calendar, or tasks, and Teams from O365 client apps within mins after one of these critical events.
49+
50+
### Conditional Access policy evaluation (preview)
51+
52+
Exchange and SharePoint are able to synchronize key Conditional Access policies so they can be evaluated within the service itself.
53+
54+
This process enables the scenario where users lose access to organizational files, email, calendar, or tasks from O365 client apps or SharePoint Online immediately after network location changes.
55+
56+
> [!NOTE]
57+
> Not all app and resource provider combination are supported. See table below. Office refers to Word, Excel, and PowerPoint
58+
59+
| | Outlook Web | Outlook Win32 | Outlook iOS | Outlook Android | Outlook Mac |
60+
| :--- | :---: | :---: | :---: | :---: | :---: |
61+
| SharePoint Online | Supported | Supported | Not Supported | Not Supported | Supported |
62+
| Exchange Online | Supported | Supported | Supported | Supported | Supported |
63+
64+
| | Office web apps | Office Win32 apps | Office for iOS | Office for Android | Office for Mac |
65+
| :--- | :---: | :---: | :---: | :---: | :---: |
66+
| SharePoint Online | Supported | Supported | Not Supported | Supported | Supported |
67+
| Exchange Online | Supported | Supported | Not Supported | Supported | Supported |
68+
69+
### Client-side claim challenge
70+
71+
Before continuous access evaluation, clients would always try to replay the access token from its cache as long as it was not expired. With CAE, we are introducing a new case that a resource provider can reject a token even when it is not expired. In order to inform clients to bypass their cache even though the cached tokens have not expired, we introduce a mechanism called **claim challenge** to indicate that the token was rejected and a new access token need to be issued by Azure AD. CAE requires a client update to understand claim challenge. The latest version of the following applications below support claim challenge:
72+
73+
- Outlook Windows
74+
- Outlook iOS
75+
- Outlook Android
76+
- Outlook Mac
77+
- Outlook Web App
78+
- Teams for Windows (Only for Teams resource)
79+
- Teams iOS (Only for Teams resource)
80+
- Teams Android (Only for Teams resource)
81+
- Teams Mac (Only for Teams resource)
82+
- Word/Excel/PowerPoint for Windows
83+
- Word/Excel/PowerPoint for iOS
84+
- Word/Excel/PowerPoint for Android
85+
- Word/Excel/PowerPoint for Mac
86+
87+
### Token lifetime
88+
89+
Because risk and policy are evaluated in real time, clients that negotiate continuous access evaluation aware sessions will rely on CAE instead of existing static access token lifetime policies, which means that configurable token lifetime policy will not be honored anymore for CAE-capable clients that negotiate CAE-aware sessions.
90+
91+
Token lifetime is increased to be long lived, up to 28 hours, in CAE sessions. Revocation is driven by critical events and policy evaluation, not just an arbitrary time period. This change increases the stability of applications without affecting security posture.
92+
93+
If you are not using CAE-capable clients, your default access token lifetime will remain 1 hour unless you have configured your access token lifetime with the [Configurable Token Lifetime (CTL)](../develop/active-directory-configurable-token-lifetimes.md) preview feature.
94+
95+
## Example flows
96+
97+
### User revocation event flow:
98+
99+
![User revocation event flow](./media/concept-continuous-access-evaluation/user-revocation-event-flow.png)
100+
101+
1. A CAE-capable client presents credentials or a refresh token to Azure AD asking for an access token for some resource.
102+
1. An access token is returned along with other artifacts to the client.
103+
1. An Administrator explicitly [revokes all refresh tokens for the user](https://docs.microsoft.com/powershell/module/azuread/revoke-azureaduserallrefreshtoken?view=azureadps-2.0). A revocation event will be sent to the resource provider from Azure AD.
104+
1. An access token is presented to the resource provider. The resource provider evaluates the validity of the token and checks whether there is any revocation event for the user. The resource provider uses this information to decide to grant access to the resource or not.
105+
1. In this case, the resource provider denies access, and sends a 401+ claim challenge back to the client.
106+
1. The CAE-capable client understands the 401+ claim challenge. It bypasses the caches and goes back to step 1, sending its refresh token along with the claim challenge back to Azure AD. Azure AD will then reevaluate all the conditions and prompt the user to reauthenticate in this case.
107+
108+
### User condition change flow (public preview):
109+
110+
In the following example, a Conditional Access administrator has configured a location based Conditional Access policy to only allow access from specific IP ranges:
111+
112+
![User condition event flow](./media/concept-continuous-access-evaluation/user-condition-change-flow.png)
113+
114+
1. A CAE-capable client presents credentials or a refresh token to Azure AD asking for an access token for some resource.
115+
1. Azure AD evaluates all Conditional Access policies to see whether the user and client meet the conditions.
116+
1. An access token is returned along with other artifacts to the client.
117+
1. User moves out of an allowed IP range
118+
1. The client presents an access token to the resource provider from outside of an allowed IP range.
119+
1. The resource provider evaluates the validity of the token and checks the location policy synced from Azure AD.
120+
1. In this case, the resource provider denies access, and sends a 401+ claim challenge back to the client because it is not coming from allowed IP range.
121+
1. The CAE-capable client understands the 401+ claim challenge. It bypasses the caches and goes back to step 1, sending its refresh token along with the claim challenge back to Azure AD. Azure AD reevaluates all the conditions and will deny access in this case.
122+
123+
## Enable or disable CAE (Preview)
124+
125+
1. Sign in to the **Azure portal** as a Conditional Access Administrator, Security Administrator, or Global Administrator
126+
1. Browse to **Azure Active Directory** > **Security** > **Continuous access evaluation**.
127+
1. Choose **Enable preview**.
128+
129+
From this page, you can optionally limit the users and groups that will be subject to the preview.
130+
131+
![Enabling the CAE preview in the Azure portal](./media/concept-continuous-access-evaluation/enable-cae-preview.png)
132+
133+
## Troubleshooting
134+
135+
### IP address configuration
136+
137+
Your identity provider and resource providers may see different IP addresses. This mismatch may happen due to network proxy implementations in your organization or incorrect IPv4/IPv6 configurations between your identity provider and resource provider. For example:
138+
139+
- Your identity provider sees one IP address from the client.
140+
- Your resource provider sees a different IP address from the client after passing through a proxy.
141+
- The IP address your identity provider sees is part of an allowed IP range in policy but the IP address from the resource provider is not.
142+
143+
If this scenario exists in your environment to avoid infinite loops, Azure AD will issue a one hour CAE token and will not enforce client location change. Even in this case, security is improved compared to traditional one hour tokens since we are still evaluating the [other events](#critical-event-evaluation) besides client location change events.
144+
145+
> [!IMPORTANT]
146+
> When configuring locations for continuous access evaluation, use only the [IP based Conditional Access location condition](../conditional-access/location-condition.md). Do not use country location conditions or the trusted ips feature that is available in Azure Multi-Factor Authentication's service settings page.
147+
148+
### Office and Web Account Manager settings
149+
150+
| Office update channel | DisableADALatopWAMOverride | DisableAADWAM |
151+
| --- | --- | --- |
152+
| Semi-Annual Enterprise Channel | If set to enabled or 1, CAE is not be supported. | If set to enabled or 1, CAE is not be supported. |
153+
| Current Channel <br> or <br> Monthly Enterprise Channel | CAE is supported regardless of the setting | CAE is supported regardless of the setting |
154+
155+
For an explanation of the office update channels, see [Overview of update channels for Microsoft 365 Apps](https://docs.microsoft.com/deployoffice/overview-update-channels). It is recommended that organizations do not disable Web Account Manager (WAM).
156+
157+
### Policy change timing
158+
159+
Due to the potential of replication delay between Azure AD and resource providers, policy changes made by administrators could take up to 2 hours to be effective for Exchange Online.
160+
161+
Example: Administrator adds a policy to block a range of IP addresses from accessing email at 11:00 AM, a user who has come from that IP range before could possibly continue to access email until 1:00 PM.
162+
163+
### Coauthoring in Office apps
164+
165+
When multiple users are collaborating on the same document at the same time, the user’s access to the document may not be immediately revoked by CAE based on user revocation or policy change events. In this case, the user loses access completely after, closing the document, closing Word, Excel, or PowerPoint, or after a period of 10 hours.
166+
167+
To reduce this time a SharePoint Administrator can optionally reduce the maximum lifetime of coauthoring sessions for documents stored in SharePoint Online and OneDrive for Business, by [configuring a network location policy in SharePoint Online](/sharepoint/control-access-based-on-network-location). Once this configuration is changed, the maximum lifetime of coauthoring sessions will be reduced to 15 minutes, and can be adjusted further using the SharePoint Online PowerShell command “Set-SPOTenant –IPAddressWACTokenLifetime"
168+
169+
### Enable after a user is disabled
170+
171+
If you enable a user right after it is disabled. There will be some latency before the account can be enabled. SPO and Teams will have 15-mins delay. The delay is 35-40 minutes for EXO.
172+
173+
## FAQs
174+
175+
### How will CAE work with Sign-in Frequency?
176+
177+
Sign-in Frequency will be honored with or without CAE.
178+
179+
## Next steps
180+
181+
[Announcing continuous access evaluation](https://techcommunity.microsoft.com/t5/azure-active-directory-identity/moving-towards-real-time-policy-and-security-enforcement/ba-p/1276933)
103 KB
Loading
92.7 KB
Loading
103 KB
Loading
Loading
Loading

0 commit comments

Comments
 (0)