Skip to content

Commit 80971b2

Browse files
committed
Merge branch 'master' of https://github.com/MicrosoftDocs/azure-docs-pr into work-vms-edit
2 parents 2244da3 + 93ce81b commit 80971b2

File tree

98 files changed

+4465
-923
lines changed

Some content is hidden

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

98 files changed

+4465
-923
lines changed

.openpublishing.redirection.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,26 @@
4545
"redirect_url": "/azure//virtual-machines/windows/sql/virtual-machines-windows-portal-sql-create-failover-cluster-premium-file-share",
4646
"redirect_document_id": false
4747
},
48+
{
49+
"source_path": "articles/virtual-machines/windows/maintenance-and-updates.md",
50+
"redirect_url": "/azure/virtual-machines/maintenance-and-updates?toc=/azure/virtual-machines/windows/toc.json&bc=/azure/virtual-machines/windows/breadcrumb/toc.json",
51+
"redirect_document_id": false
52+
},
53+
{
54+
"source_path": "articles/virtual-machines/linux/maintenance-and-updates.md",
55+
"redirect_url": "/azure/virtual-machines/maintenance-and-updates?toc=/azure/virtual-machines/linux/toc.json&bc=/azure/virtual-machines/linux/breadcrumb/toc.json",
56+
"redirect_document_id": false
57+
},
58+
{
59+
"source_path": "articles/virtual-machines/windows/maintenance-notifications.md",
60+
"redirect_url": "/azure/virtual-machines/maintenance-notifications?toc=/azure/virtual-machines/windows/toc.json&bc=/azure/virtual-machines/windows/breadcrumb/toc.json",
61+
"redirect_document_id": false
62+
},
63+
{
64+
"source_path": "articles/virtual-machines/linux/maintenance-notifications.md",
65+
"redirect_url": "/azure/virtual-machines/maintenance-notifications?toc=/azure/virtual-machines/linux/toc.json&bc=/azure/virtual-machines/linux/breadcrumb/toc.json",
66+
"redirect_document_id": false
67+
},
4868
{
4969
"source_path": "articles/machine-learning/service/how-to-load-data.md",
5070
"redirect_url": "/azure/machine-learning/service/how-to-create-register-datasets",

articles/active-directory-b2c/active-directory-b2c-apps.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ To set up client credential flow, see [Azure Active Directory v2.0 and the OAuth
120120

121121
#### Web API chains (on-behalf-of flow)
122122

123-
Many architectures include a web API that needs to call another downstream web API, where both are secured by Azure AD B2C. This scenario is common in native clients that have a Web API back-end and calls a Microsoft online service such as the Azure AD Graph API.
123+
Many architectures include a web API that needs to call another downstream web API, where both are secured by Azure AD B2C. This scenario is common in native clients that have a Web API back-end and calls a Microsoft online service such as the Microsoft Graph API or Azure AD Graph API.
124124

125125
This chained web API scenario can be supported by using the OAuth 2.0 JWT bearer credential grant, also known as the on-behalf-of flow. However, the on-behalf-of flow is not currently implemented in the Azure AD B2C.
126126

articles/active-directory/develop/about-microsoft-identity-platform.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ The following diagram shows the Microsoft identity experience at a high level, i
4949

5050
The Azure portal **[App registrations](https://go.microsoft.com/fwlink/?linkid=2083908)** experience is the one portal experience for managing all applications you’ve integrated with Microsoft identity platform. If you have been using the Application Registration Portal, start using the Azure portal app registration experience instead.
5151

52-
For integration with Azure AD B2C (when authenticating social or local identities), you’ll need to register your application in a B2C tenant. This experience is also part of the Azure portal.
52+
For integration with Azure AD B2C (when authenticating social or local identities), you’ll need to register your application in an Azure AD B2C tenant. This experience is also part of the Azure portal.
5353

5454
The **application API in Microsoft Graph** is currently in preview. Use this API to programmatically configure your applications integrated with Microsoft identity platform for authenticating any Microsoft identity. However, until this API reaches general availability, you should use the Azure AD Graph 1.6 API and the application manifest.
5555

articles/active-directory/develop/active-directory-graph-api-quickstart.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ ms.collection: M365-identity-device-management
2525
# How to: Use the Azure AD Graph API
2626

2727
> [!IMPORTANT]
28-
> We strongly recommend that you use [Microsoft Graph](https://developer.microsoft.com/graph) instead of Azure AD Graph API to access Azure Active Directory resources. Our development efforts are now concentrated on Microsoft Graph and no further enhancements are planned for Azure AD Graph API. There are a very limited number of scenarios for which Azure AD Graph API might still be appropriate; for more information, see the [Microsoft Graph or the Azure AD Graph](https://dev.office.com/blogs/microsoft-graph-or-azure-ad-graph) blog post and [Migrate Azure AD Graph apps to Microsoft Graph](https://docs.microsoft.com/graph/migrate-azure-ad-graph-overview).
28+
> We strongly recommend that you use [Microsoft Graph](https://developer.microsoft.com/graph) instead of Azure AD Graph API to access Azure Active Directory (Azure AD) resources. Our development efforts are now concentrated on Microsoft Graph and no further enhancements are planned for Azure AD Graph API. There are a very limited number of scenarios for which Azure AD Graph API might still be appropriate; for more information, see the [Microsoft Graph or the Azure AD Graph](https://dev.office.com/blogs/microsoft-graph-or-azure-ad-graph) blog post and [Migrate Azure AD Graph apps to Microsoft Graph](https://docs.microsoft.com/graph/migrate-azure-ad-graph-overview).
2929
30-
The Azure Active Directory (Azure AD) Graph API provides programmatic access to Azure AD through OData REST API endpoints. Applications can use Azure AD Graph API to perform create, read, update, and delete (CRUD) operations on directory data and objects. For example, you can use Azure AD Graph API to create a new user, view or update user’s properties, change user’s password, check group membership for role-based access, disable, or delete the user. For more information on Azure AD Graph API features and application scenarios, see [Azure AD Graph API](https://msdn.microsoft.com/Library/Azure/Ad/Graph/api/api-catalog) and [Azure AD Graph API prerequisites](https://msdn.microsoft.com/library/hh974476.aspx). Azure AD Graph API only works with work or school/organization accounts.
30+
The Azure AD Graph API provides programmatic access to Azure AD through OData REST API endpoints. Applications can use Azure AD Graph API to perform create, read, update, and delete (CRUD) operations on directory data and objects. For example, you can use Azure AD Graph API to create a new user, view or update user’s properties, change user’s password, check group membership for role-based access, disable, or delete the user. For more information on Azure AD Graph API features and application scenarios, see [Azure AD Graph API](https://msdn.microsoft.com/Library/Azure/Ad/Graph/api/api-catalog) and [Azure AD Graph API prerequisites](https://msdn.microsoft.com/library/hh974476.aspx). Azure AD Graph API only works with work or school/organization accounts.
3131

3232
This article applies to Azure AD Graph API. For similar info related to Microsoft Graph API, see [Use the Microsoft Graph API](https://developer.microsoft.com/graph/docs/concepts/use_the_api).
3333

articles/active-directory/develop/active-directory-graph-api.md

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ms.devlang: na
1313
ms.topic: conceptual
1414
ms.tgt_pltfrm: na
1515
ms.workload: identity
16-
ms.date: 03/01/2019
16+
ms.date: 11/26/2019
1717
ms.author: ryanwi
1818
ms.reviewer: dkershaw, sureshja
1919
ms.custom: aaddev, identityplatformtop40
@@ -23,16 +23,9 @@ ms.collection: M365-identity-device-management
2323
# Azure Active Directory Graph API
2424

2525
> [!IMPORTANT]
26-
>
27-
> As of February 2019, we started the process to deprecate some earlier versions of Azure Active Directory Graph API in favor of the Microsoft Graph API.
28-
>
29-
> For details, updates, and time frames, see [Microsoft Graph or the Azure AD Graph](https://dev.office.com/blogs/microsoft-graph-or-azure-ad-graph) in the Office Dev Center.
30-
>
31-
> Moving forward, applications should use the Microsoft Graph API.
26+
> We strongly recommend that you use [Microsoft Graph](https://developer.microsoft.com/graph) instead of Azure AD Graph API to access Azure Active Directory (Azure AD) resources. Our development efforts are now concentrated on Microsoft Graph and no further enhancements are planned for Azure AD Graph API. There are a very limited number of scenarios for which Azure AD Graph API might still be appropriate; for more information, see the [Microsoft Graph or the Azure AD Graph](https://dev.office.com/blogs/microsoft-graph-or-azure-ad-graph) blog post and [Migrate Azure AD Graph apps to Microsoft Graph](https://docs.microsoft.com/graph/migrate-azure-ad-graph-overview).
3227
33-
34-
35-
This article applies to Azure AD Graph API. For similar info related to Microsoft Graph API, see [Use the Microsoft Graph API](https://docs.microsoft.com/graph/use-the-api).
28+
This article applies to Azure AD Graph API. For similar info related to Microsoft Graph API, see [Use the Microsoft Graph API](https://docs.microsoft.com/graph/use-the-api).
3629

3730
The Azure Active Directory Graph API provides programmatic access to Azure AD through REST API endpoints. Applications can use Azure AD Graph API to perform create, read, update, and delete (CRUD) operations on directory data and objects. For example, Azure AD Graph API supports the following common operations for a user object:
3831

articles/active-directory/develop/active-directory-how-applications-are-added.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,25 @@ ms.devlang: na
1515
ms.topic: conceptual
1616
ms.tgt_pltfrm: na
1717
ms.workload: identity
18-
ms.date: 06/04/2019
18+
ms.date: 11/26/2019
1919
ms.author: ryanwi
2020
ms.custom: aaddev
21-
ms.reviewer: elisol, lenalepa
21+
ms.reviewer: lenalepa, sureshja
2222
ms.collection: M365-identity-device-management
2323
---
2424

2525
# How and why applications are added to Azure AD
2626

27-
There are two representations of applications in Azure AD:
27+
There are two representations of applications in Azure AD:
28+
2829
* [Application objects](app-objects-and-service-principals.md#application-object) - Although there are [exceptions](#notes-and-exceptions), application objects can be considered the definition of an application.
2930
* [Service principals](app-objects-and-service-principals.md#service-principal-object) - Can be considered an instance of an application.
3031
Service principals generally reference an application object, and one application object can be referenced by multiple service principals across directories.
3132

3233
## What are application objects and where do they come from?
34+
3335
You can manage [application objects](app-objects-and-service-principals.md#application-object) in the Azure portal through the [App Registrations](https://aka.ms/appregistrations) experience. Application objects describe the application to Azure AD and can be considered the definition of the application, allowing the service to know how to issue tokens to the application based on its settings. The application object will only exist in its home directory, even if it's a multi-tenant application supporting service principals in other directories. The application object may include any of the following (as well as additional information not mentioned here):
36+
3437
* Name, logo, and publisher
3538
* Redirect URIs
3639
* Secrets (symmetric and/or asymmetric keys used to authenticate the application)
@@ -42,13 +45,15 @@ You can manage [application objects](app-objects-and-service-principals.md#appli
4245
* Proxy metadata and configuration
4346

4447
Application objects can be created through multiple pathways, including:
48+
4549
* Application registrations in the Azure portal
4650
* Creating a new application using Visual Studio and configuring it to use Azure AD authentication
4751
* When an admin adds an application from the app gallery (which will also create a service principal)
48-
* Using the Microsoft Graph API, Azure AD Graph API, or PowerShell to create a new application
52+
* Using the Microsoft Graph API or PowerShell to create a new application
4953
* Many others including various developer experiences in Azure and in API explorer experiences across developer centers
5054

5155
## What are service principals and where do they come from?
56+
5257
You can manage [service principals](app-objects-and-service-principals.md#service-principal-object) in the Azure portal through the [Enterprise Applications](https://portal.azure.com/#blade/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/AllApps/menuId/) experience. Service principals are what govern an application connecting to Azure AD and can be considered the instance of the application in your directory. For any given application, it can have at most one application object (which is registered in a "home" directory) and one or more service principal objects representing instances of the application in every directory in which it acts.
5358

5459
The service principal can include:

articles/active-directory/develop/azure-ad-endpoint-comparison.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ ms.workload: identity
1212
ms.tgt_pltfrm: na
1313
ms.devlang: na
1414
ms.topic: conceptual
15-
ms.date: 08/01/2019
15+
ms.date: 11/26/2019
1616
ms.author: ryanwi
1717
ms.reviewer: saeeda, hirsin, jmprieur, sureshja, jesakowi, lenalepa, kkrishna, negoe
1818
ms.custom: aaddev
@@ -58,9 +58,9 @@ Admin consent done on behalf of an organization still requires the static permis
5858

5959
## Scopes, not resources
6060

61-
For apps using the v1.0 endpoint, an app can behave as a **resource**, or a recipient of tokens. A resource can define a number of **scopes** or **oAuth2Permissions** that it understands, allowing client apps to request tokens from that resource for a certain set of scopes. Consider the Azure AD Graph API as an example of a resource:
61+
For apps using the v1.0 endpoint, an app can behave as a **resource**, or a recipient of tokens. A resource can define a number of **scopes** or **oAuth2Permissions** that it understands, allowing client apps to request tokens from that resource for a certain set of scopes. Consider the Microsoft Graph API as an example of a resource:
6262

63-
* Resource identifier, or `AppID URI`: `https://graph.windows.net/`
63+
* Resource identifier, or `AppID URI`: `https://graph.microsoft.com/`
6464
* Scopes, or `oAuth2Permissions`: `Directory.Read`, `Directory.Write`, and so on.
6565

6666
This holds true for the Microsoft identity platform endpoint. An app can still behave as a resource, define scopes, and be identified by a URI. Client apps can still request access to those scopes. However, the way that a client requests those permissions have changed.

articles/active-directory/develop/msal-v1-app-scopes.md

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ms.devlang: na
1313
ms.topic: conceptual
1414
ms.tgt_pltfrm: na
1515
ms.workload: identity
16-
ms.date: 04/23/2019
16+
ms.date: 11/25/2019
1717
ms.author: twhitney
1818
ms.reviewer: saeeda
1919
ms.custom: aaddev
@@ -23,10 +23,11 @@ ms.collection: M365-identity-device-management
2323

2424
# Scopes for a Web API accepting v1.0 tokens
2525

26-
OAuth2 permissions are permission scopes that a Azure AD for developers (v1.0) web API (resource) application exposes to client applications. These permission scopes may be granted to client applications during consent. See the section about `oauth2Permissions` in the [Azure Active Directory application manifest reference](reference-app-manifest.md#manifest-reference).
26+
OAuth2 permissions are permission scopes that a Azure Active Directory (Azure AD) for developers (v1.0) web API (resource) application exposes to client applications. These permission scopes may be granted to client applications during consent. See the section about `oauth2Permissions` in the [Azure Active Directory application manifest reference](reference-app-manifest.md#manifest-reference).
2727

2828
## Scopes to request access to specific OAuth2 permissions of a v1.0 application
29-
If you want to acquire tokens for specific scopes of a v1.0 application (for example the Azure AD graph, which is https:\//graph.windows.net), you need to create scopes by concatenating a desired resource identifier with a desired OAuth2 permission for that resource.
29+
30+
To acquire tokens for specific scopes of a v1.0 application (for example the Azure AD graph, which is https:\//graph.windows.net), you need to create scopes by concatenating a desired resource identifier with a desired OAuth2 permission for that resource.
3031

3132
For example, to access on behalf of the user a v1.0 web API where the app ID URI is `ResourceId`:
3233

@@ -38,7 +39,7 @@ var scopes = new [] { ResourceId+"/user_impersonation"};
3839
var scopes = [ ResourceId + "/user_impersonation"];
3940
```
4041

41-
If you want to read and write with MSAL.NET Azure Active Directory using the Azure AD graph API (https:\//graph.windows.net/), you would create a list of scopes as in the following:
42+
To read and write with MSAL.NET Azure AD using the Azure AD Graph API (https:\//graph.windows.net/), you need to create a list of scopes as shown in the following examples:
4243

4344
```csharp
4445
string ResourceId = "https://graph.windows.net/";
@@ -50,7 +51,7 @@ var ResourceId = "https://graph.windows.net/";
5051
var scopes = [ ResourceId + "Directory.Read", ResourceID + "Directory.Write"];
5152
```
5253

53-
If you want to write the scope corresponding to the Azure Resource Manager API (https:\//management.core.windows.net/), you need to request the following scope (note the two slashes):
54+
To write the scope corresponding to the Azure Resource Manager API (https:\//management.core.windows.net/), you need to request the following scope (note the two slashes):
5455

5556
```csharp
5657
var scopes = new[] {"https://management.core.windows.net//user_impersonation"};
@@ -64,11 +65,12 @@ var result = await app.AcquireTokenInteractive(scopes).ExecuteAsync();
6465
6566
The logic used by Azure AD is the following:
6667

67-
- For ADAL (v1.0) endpoint with a v1.0 access token (the only possible), aud=resource
68-
- For MSAL (Microsoft identity platform (v2.0) endpoint) asking an access token for a resource accepting v2.0 tokens, aud=resource.AppId
69-
- For MSAL (v2.0 endpoint) asking an access token for a resource accepting a v1.0 access token (which is the case above), Azure AD parses the desired audience from the requested scope by taking everything before the last slash and using it as the resource identifier. Therefore if https:\//database.windows.net expects an audience of "https:\//database.windows.net/", you'll need to request a scope of "https:\//database.windows.net//.default". See also GitHub issue [#747: Resource url's trailing slash is omitted, which caused sql auth failure](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/747).
68+
- For ADAL (Azure AD v1.0) endpoint with a v1.0 access token (the only possible), aud=resource
69+
- For MSAL (Microsoft identity platform (v2.0)) endpoint asking an access token for a resource accepting v2.0 tokens, `aud=resource.AppId`
70+
- For MSAL (v2.0 endpoint) asking an access token for a resource that accepts a v1.0 access token (which is the case above), Azure AD parses the desired audience from the requested scope by taking everything before the last slash and using it as the resource identifier. Therefore, if https:\//database.windows.net expects an audience of "https:\//database.windows.net/", you'll need to request a scope of "https:\//database.windows.net//.default". See also GitHub issue [#747: Resource url's trailing slash is omitted, which caused sql auth failure](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/747).
7071

7172
## Scopes to request access to all the permissions of a v1.0 application
73+
7274
If you want to acquire a token for all the static scopes of a v1.0 application, append ".default" to the app ID URI of the API:
7375

7476
```csharp
@@ -81,5 +83,6 @@ var ResourceId = "someAppIDURI";
8183
var scopes = [ ResourceId + "/.default"];
8284
```
8385

84-
## Scopes to request for client credential flow / daemon app
86+
## Scopes to request for a client credential flow/daemon app
87+
8588
In the case of client credential flow, the scope to pass would also be `/.default`. This tells to Azure AD: "all the app-level permissions that the admin has consented to in the application registration.

articles/active-directory/develop/reference-saml-tokens.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ This is a sample of a typical SAML token.
152152
</t:RequestSecurityTokenResponse>
153153

154154
## Related content
155+
155156
* See the Azure AD Graph [Policy operations](https://msdn.microsoft.com/library/azure/ad/graph/api/policy-operations) and the [Policy entity](https://msdn.microsoft.com/library/azure/ad/graph/api/entity-and-complex-type-reference#policy-entity), to learn more about managing token lifetime policy via the Azure AD Graph API.
156157
* For more information and samples on managing policies via PowerShell cmdlets, including samples, see [Configurable token lifetimes in Azure AD](active-directory-configurable-token-lifetimes.md).
157158
* Add [custom and optional claims](active-directory-optional-claims.md) to the tokens for your application.

0 commit comments

Comments
 (0)