Skip to content

Commit 546169c

Browse files
committed
Merge branch 'master' of https://github.com/MicrosoftDocs/azure-docs-pr into ddosJan2020
2 parents 6c5218a + b55b63a commit 546169c

File tree

115 files changed

+1101
-388
lines changed

Some content is hidden

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

115 files changed

+1101
-388
lines changed

articles/active-directory-b2c/claimsproviders.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ The **ClaimsProvider** element contains the following child elements:
4848
| Element | Occurrences | Description |
4949
| ------- | ---------- | ----------- |
5050
| Domain | 0:1 | A string that contains the domain name for the claim provider. For example, if your claims provider includes the Facebook technical profile, the domain name is Facebook.com. This domain name is used for all technical profiles defined in the claims provider unless overridden by the technical profile. The domain name can also be referenced in a **domain_hint**. For more information, see the **Redirect sign-in to a social provider** section of [Set up direct sign-in using Azure Active Directory B2C](direct-signin.md). |
51-
| DisplayName | 0:1 | A string that contains the name of the claims provider that can be displayed to users. |
51+
| DisplayName | 1:1 | A string that contains the name of the claims provider that can be displayed to users. |
5252
| [TechnicalProfiles](technicalprofiles.md) | 0:1 | A set of technical profiles supported by the claim provider |
5353

5454
**ClaimsProvider** organizes how your technical profiles relate to the claims provider. The following example shows the Azure Active Directory claims provider with the Azure Active Directory technical profiles:

articles/active-directory-domain-services/deploy-kcd.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ ms.author: iainfou
1616
---
1717
# Configure Kerberos constrained delegation (KCD) in Azure Active Directory Domain Services
1818

19-
As you run applications, there may be a need for those applications to access resources in the context of a different user. Active Directory Domain Services (AD DS) supports a mechanism called *Kerberos delegation* that enables this use-case. Kerberos *constrained* delegation (KCD) then builds on this mechanism to define specific resources that can be accessed in the context of the user. Azure Active Directory Domain Services (Azure AD DS) managed domains are more securely locked down that traditional on-premises AD DS environments, so use a more secure *resource-based* KCD.
19+
As you run applications, there may be a need for those applications to access resources in the context of a different user. Active Directory Domain Services (AD DS) supports a mechanism called *Kerberos delegation* that enables this use-case. Kerberos *constrained* delegation (KCD) then builds on this mechanism to define specific resources that can be accessed in the context of the user. Azure Active Directory Domain Services (Azure AD DS) managed domains are more securely locked down than traditional on-premises AD DS environments, so use a more secure *resource-based* KCD.
2020

2121
This article shows you how to configure resource-based Kerberos constrained delegation in an Azure AD DS managed domain.
2222

articles/active-directory/develop/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,8 @@
404404
href: active-directory-optional-claims.md
405405
- name: Configure token lifetimes
406406
href: active-directory-configurable-token-lifetimes.md
407+
- name: Handle SameSite cookie changes in Chrome browser
408+
href: howto-handle-samesite-cookie-changes-chrome-browser.md
407409
- name: Application configuration
408410
items:
409411
- name: New Azure portal app registration training guide
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
---
2+
title: How to handle SameSite cookie changes in Chrome browser | Azure
3+
titleSuffix: Microsoft identity platform
4+
description: Learn how to handle SameSite cookie changes in Chrome browser.
5+
services: active-directory
6+
documentationcenter: ''
7+
author: jmprieur
8+
manager: CelesteDG
9+
10+
ms.service: active-directory
11+
ms.subservice: develop
12+
ms.workload: identity
13+
ms.topic: conceptual
14+
ms.date: 01/27/2020
15+
ms.author: jmprieur
16+
ms.reviewer: kkrishna
17+
ms.custom: aaddev
18+
---
19+
# Handle SameSite cookie changes in Chrome browser
20+
21+
## What is SameSite?
22+
23+
`SameSite` is a property that can be set in HTTP cookies to prevent Cross Site Request Forgery(CSRF) attacks in web applications:
24+
25+
- When `SameSite` is set to **Lax**, the cookie is sent in requests within the same site and in GET requests from other sites. It isn't sent in GET requests that are cross-domain.
26+
- A value of **Strict** ensures that the cookie is sent in requests only within the same site.
27+
28+
By default, the `SameSite` value is NOT set in browsers and that's why there are no restrictions on cookies being sent in requests. An application would need to opt-in to the CSRF protection by setting **Lax** or **Strict** per their requirements.
29+
30+
## SameSite changes and impact on authentication
31+
32+
Recent [updates to the standards on SameSite](https://tools.ietf.org/html/draft-west-cookie-incrementalism-00) propose protecting apps by making the default behavior of `SameSite` when no value is set to Lax. This mitigation means cookies will be restricted on HTTP requests except GET made from other sites. Additionally, a value of **None** is introduced to remove restrictions on cookies being sent. These updates will soon be released in an upcoming version of the Chrome browser.
33+
34+
When web apps authenticate with the Microsoft Identity platform using the response mode "form_post", the login server responds to the application using an HTTP POST to send the tokens or auth code. Because this request is a cross-domain request (from `login.microsoftonline.com` to your domain - for instance https://contoso.com/auth), cookies that were set by your app now fall under the new rules in Chrome. The cookies that need to be used in cross-site scenarios are cookies that hold the *state* and *nonce* values, that are also sent in the login request. There are other cookies dropped by Azure AD to hold the session.
35+
36+
If you don't update your web apps, this new behavior will result in authentication failures.
37+
38+
## Mitigation and samples
39+
40+
To overcome the authentication failures, web apps authenticating with the Microsoft identity platform can set the `SameSite` property to `None` for cookies that are used in cross-domain scenarios when running on the Chrome browser.
41+
Other browsers (see [here](https://www.chromium.org/updates/same-site/incompatible-clients) for a complete list) follow the previous behavior of `SameSite` and won't include the cookies if `SameSite=None` is set.
42+
That's why, to support authentication on multiple browsers web apps will have to set the `SameSite` value to `None` only on Chrome and leave the value empty on other browsers.
43+
44+
This approach is demonstrated in our code samples below.
45+
46+
# [.NET](#tab/dotnet)
47+
48+
The table below presents the pull requests that worked around the SameSite changes in our ASP.NET and ASP.NET Core samples.
49+
50+
| Sample | Pull request |
51+
| ------ | ------------ |
52+
| [ASP.NET Core Web App incremental tutorial](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2) | [Same site cookie fix #261](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/pull/261) |
53+
| [ASP.NET MVC Web App sample](https://github.com/Azure-Samples/ms-identity-aspnet-webapp-openidconnect) | [Same site cookie fix #35](https://github.com/Azure-Samples/ms-identity-aspnet-webapp-openidconnect/pull/35) |
54+
| [active-directory-dotnet-admin-restricted-scopes-v2](https://github.com/azure-samples/active-directory-dotnet-admin-restricted-scopes-v2) | [Same site cookie fix #28](https://github.com/Azure-Samples/active-directory-dotnet-admin-restricted-scopes-v2/pull/28) |
55+
56+
for details on how to handle SameSite cookies in ASP.NET and ASP.NET Core, see also:
57+
58+
- [Work with SameSite cookies in ASP.NET Core](https://docs.microsoft.com/aspnet/core/security/samesite) .
59+
- [ASP.NET Blog on SameSite issue](https://devblogs.microsoft.com/aspnet/upcoming-samesite-cookie-changes-in-asp-net-and-asp-net-core/)
60+
61+
# [Python](#tab/python)
62+
63+
| Sample |
64+
| ------ |
65+
| [ms-identity-python-webapp](https://github.com/Azure-Samples/ms-identity-python-webapp) |
66+
67+
# [Java](#tab/java)
68+
69+
| Sample | Pull request |
70+
| ------ | ------------ |
71+
| [ms-identity-java-webapp](https://github.com/Azure-Samples/ms-identity-java-webapp) | [Same site cookie fix #24](https://github.com/Azure-Samples/ms-identity-java-webapp/pull/24)
72+
| [ms-identity-java-webapi](https://github.com/Azure-Samples/ms-identity-java-webapi) | [Same site cookie fix #4](https://github.com/Azure-Samples/ms-identity-java-webapi/pull/4)
73+
74+
---
75+
76+
## Next steps
77+
78+
Learn more about SameSite and the Web app scenario:
79+
80+
> [!div class="nextstepaction"]
81+
> [Google Chrome's FAQ on SameSite](https://www.chromium.org/updates/same-site/faq)
82+
83+
> [!div class="nextstepaction"]
84+
> [Chromium SameSite page](https://www.chromium.org/updates/same-site)
85+
86+
> [!div class="nextstepaction"]
87+
> [Scenario: Web app that signs in users](scenario-web-app-sign-user-overview.md)

articles/active-directory/develop/scenario-web-app-sign-user-production.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,21 @@ Now that you know how to get a token to call web APIs, learn how to move it to p
2626

2727
## Next steps
2828

29+
### Same site
30+
31+
Make sure you understand possible issues with new versions of the Chrome browser
32+
33+
> [!div class="nextstepaction"]
34+
> [How to handle SameSite cookie changes in Chrome browser](howto-handle-samesite-cookie-changes-chrome-browser.md)
35+
2936
### Scenario for calling web APIs
3037

3138
After your web app signs in users, it can call web APIs on behalf of the signed-in users. Calling web APIs from the web app is the object of the following scenario:
3239

3340
> [!div class="nextstepaction"]
3441
> [Web app that calls web APIs](scenario-web-app-call-api-overview.md)
3542
36-
### Deep dive: ASP.NET Core web app tutorial
43+
## Deep dive: ASP.NET Core web app tutorial
3744

3845
Learn about other ways to sign in users with this ASP.NET Core tutorial:
3946

@@ -48,7 +55,7 @@ This progressive tutorial has production-ready code for a web app, including how
4855
- [Azure AD B2C](https://aka.ms/aadb2c)
4956
- National clouds
5057

51-
### Sample code: Java web app
58+
## Sample code: Java web app
5259

5360
Learn more about the Java web app from this sample on GitHub:
5461

articles/active-directory/develop/v2-protocols-oidc.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ The metadata is a simple JavaScript Object Notation (JSON) document. See the fol
7171
}
7272
```
7373

74-
If your app has custom signing keys as a result of using the [claims-mapping](active-directory-claims-mapping.md) feature, you must append an `appid` query parameter containing the app ID in order to get a `jwks_uri` pointing to your app's signing key information. For example: `https://login.microsoftonline.com/{tenant}/.well-known/v2.0/openid-configuration?appid=6731de76-14a6-49ae-97bc-6eba6914391e` contains a `jwks_uri` of `https://login.microsoftonline.com/{tenant}/discovery/v2.0/keys?appid=6731de76-14a6-49ae-97bc-6eba6914391e`.
74+
If your app has custom signing keys as a result of using the [claims-mapping](active-directory-claims-mapping.md) feature, you must append an `appid` query parameter containing the app ID in order to get a `jwks_uri` pointing to your app's signing key information. For example: `https://login.microsoftonline.com/{tenant}/v2.0/.well-known/openid-configuration?appid=6731de76-14a6-49ae-97bc-6eba6914391e` contains a `jwks_uri` of `https://login.microsoftonline.com/{tenant}/discovery/v2.0/keys?appid=6731de76-14a6-49ae-97bc-6eba6914391e`.
7575

7676
Typically, you would use this metadata document to configure an OpenID Connect library or SDK; the library would use the metadata to do its work. However, if you're not using a pre-built OpenID Connect library, you can follow the steps in the remainder of this article to do sign-in in a web app by using the Microsoft identity platform endpoint.
7777

articles/active-directory/hybrid/how-to-connect-sync-configure-filtering.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ Do the following steps:
293293

294294
After the synchronization, all changes are staged to be exported. Before you actually make the changes in Azure AD, you want to verify that all these changes are correct.
295295

296-
1. Start a command prompt, and go to `%Program Files%\Microsoft Azure AD Sync\bin`.
296+
1. Start a command prompt, and go to `%ProgramFiles%\Microsoft Azure AD Sync\bin`.
297297
2. Run `csexport "Name of Connector" %temp%\export.xml /f:x`.
298298
The name of the Connector is in Synchronization Service. It has a name similar to "contoso.com – AAD" for Azure AD.
299299
3. Run `CSExportAnalyzer %temp%\export.xml > %temp%\export.csv`.

articles/active-directory/managed-identities-azure-resources/services-support-managed-identities.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ Managed identity type | All Generally Available<br>Global Azure Regions | Azure
102102

103103
Refer to the following list to configure managed identity for Azure Logic Apps (in regions where available):
104104

105-
- [Azure portal](/azure/logic-apps/create-managed-service-identity#azure-portal-system-logic-app)
105+
- [Azure portal](/azure/logic-apps/create-managed-service-identity#azure-portal)
106106
- [Azure Resource Manager template](/azure/app-service/overview-managed-identity)
107107

108108
### Azure Data Factory V2
@@ -154,6 +154,17 @@ Refer to the following list to configure managed identity for Azure Container Re
154154

155155
- [Azure CLI](~/articles/container-registry/container-registry-tasks-authentication-managed-identity.md)
156156

157+
### Azure Service Fabric
158+
[Managed Identity for Service Fabric Applications](https://docs.microsoft.com/azure/service-fabric/concepts-managed-identity) is in Preview and available in all regions.
159+
160+
Managed identity type | All Generally Available<br>Global Azure Regions | Azure Government | Azure Germany | Azure China 21Vianet |
161+
| --- | --- | --- | --- | --- |
162+
| System assigned | Available | Not Available | Not Available | not Available |
163+
| User assigned | Available | Not Available | Not Available |Not Available |
164+
165+
Refer to the following list to configure managed identity for Azure Service Fabric applications in all regions:
166+
- [Azure Resource Manager template](https://github.com/Azure-Samples/service-fabric-managed-identity/tree/anmenard-docs)
167+
157168
## Azure services that support Azure AD authentication
158169

159170
The following services support Azure AD authentication, and have been tested with client services that use managed identities for Azure resources.

articles/active-directory/users-groups-roles/directory-assign-admin-roles.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1716,7 +1716,7 @@ External Identity Provider Administrator | External Identity Provider Administra
17161716
Global Reader | Global reader | f2ef992c-3afb-46b9-b7cf-a126ee74c451
17171717
Group Administrator | Group administrator | fdd7a751-b60b-444a-984c-02652fe8fa1c
17181718
Guest Inviter | Guest inviter | 95e79109-95c0-4d8e-aee3-d01accf2d47b
1719-
Helpdesk Administrator | Password administrator | 729827e3-9c14-49f7-bb1b-9608f156bbb8
1719+
Helpdesk Administrator | Helpdesk administrator | 729827e3-9c14-49f7-bb1b-9608f156bbb8
17201720
Intune Service Administrator | Intune administrator | 3a2c62db-5318-420d-8d74-23affee5d9d5
17211721
Kaizala Administrator | Kaizala administrator | 74ef975b-6605-40af-a5d2-b9539d836353
17221722
License Administrator | License administrator | 4d6ac14f-3453-41d0-bef9-a3e0c569773a

articles/app-service/configure-authentication-provider-aad.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,6 @@ ms.custom: fasttrack-edit
1515

1616
This article shows you how to configure Azure App Service to use Azure Active Directory (Azure AD) as an authentication provider.
1717

18-
> [!NOTE]
19-
> At this time, Azure App Service and Azure Functions are only supported by Azure AD v1.0. They're not supported by the [Microsoft identity platform v2.0](https://docs.microsoft.com/azure/active-directory/develop/v2-overview), which includes Microsoft Authentication Libraries (MSAL).
20-
2118
Follow these best practices when setting up your app and authentication:
2219

2320
- Give each App Service app its own permissions and consent.

0 commit comments

Comments
 (0)