Skip to content

Commit 01b38f8

Browse files
committed
Merge branch 'master' of https://github.com/MicrosoftDocs/azure-docs-pr into rolyon-availability-zones-regions
2 parents 2dc3b97 + f57ce87 commit 01b38f8

File tree

545 files changed

+5556
-10375
lines changed

Some content is hidden

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

545 files changed

+5556
-10375
lines changed

.openpublishing.redirection.json

Lines changed: 160 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2352,6 +2352,16 @@
23522352
"redirect_url": "/azure/cosmos-db/conflict-resolution-policies",
23532353
"redirect_document_id": true
23542354
},
2355+
{
2356+
"source_path": "articles/cosmos-db/provision-throughput-autopilot.md",
2357+
"redirect_url": "/azure/cosmos-db/provision-throughput-autoscale",
2358+
"redirect_document_id": true
2359+
},
2360+
{
2361+
"source_path": "articles/cosmos-db/autopilot-faq.md",
2362+
"redirect_url": "/azure/cosmos-db/autoscale-faq",
2363+
"redirect_document_id": true
2364+
},
23552365
{
23562366
"source_path": "articles/cosmos-db/how-to-custom-synchronization.md",
23572367
"redirect_url": "/azure/cosmos-db/how-to-multi-master",
@@ -4347,6 +4357,11 @@
43474357
"redirect_url": "/azure/azure-portal/azure-portal-dashboards",
43484358
"redirect_document_id": false
43494359
},
4360+
{
4361+
"source_path": "articles/azure-resource-manager/templates/template-tutorial-secure-artifacts.md",
4362+
"redirect_url": "/azure/azure-resource-manager/templates/secure-template-with-sas-token",
4363+
"redirect_document_id": false
4364+
},
43504365
{
43514366
"source_path": "articles/azure-resource-manager/templates/template-tutorial-create-linked-templates.md",
43524367
"redirect_url": "/azure/azure-resource-manager/templates/deployment-tutorial-linked-template",
@@ -7367,6 +7382,11 @@
73677382
"redirect_url": "/azure/logic-apps/logic-apps-using-sap-connector",
73687383
"redirect_document_id": true
73697384
},
7385+
{
7386+
"source_path": "articles/logic-apps/logic-apps-schema-2015-08-01.md",
7387+
"redirect_url": "/azure/logic-apps/logic-apps-schema-2016-04-01",
7388+
"redirect_document_id": true
7389+
},
73707390
{
73717391
"source_path": "articles/scheduler/get-started-portal.md",
73727392
"redirect_url": "/azure/scheduler/migrate-from-scheduler-to-logic-apps"
@@ -14200,7 +14220,7 @@
1420014220
"source_path": "articles/event-hubs/event-hubs-api-overview.md",
1420114221
"redirect_url": "/azure/event-hubs/event-hubs-samples",
1420214222
"redirect_document_id": false
14203-
},
14223+
},
1420414224
{
1420514225
"source_path": "articles/event-hubs/event-hubs-archive-overview.md",
1420614226
"redirect_url": "/azure/event-hubs/event-hubs-capture-overview",
@@ -14265,7 +14285,7 @@
1426514285
"source_path": "articles/event-hubs/event-hubs-dotnet-framework-api-overview.md",
1426614286
"redirect_url": "/azure/event-hubs/event-hubs-dotnet-framework-getstarted-send",
1426714287
"redirect_document_id": false
14268-
},
14288+
},
1426914289
{
1427014290
"source_path": "articles/event-hubs/event-hubs-dotnet-framework-getstarted-receive-eph.md",
1427114291
"redirect_url": "/azure/event-hubs/event-hubs-dotnet-framework-getstarted-send",
@@ -14275,7 +14295,7 @@
1427514295
"source_path": "articles/event-hubs/event-hubs-dotnet-standard-api-overview.md",
1427614296
"redirect_url": "/azure/event-hubs/event-hubs-dotnet-standard-getstarted-send",
1427714297
"redirect_document_id": false
14278-
},
14298+
},
1427914299
{
1428014300
"source_path": "articles/event-hubs/event-hubs-dotnet-standard-getstarted-receive-eph.md",
1428114301
"redirect_url": "/azure/event-hubs/event-hubs-dotnet-standard-getstarted-send",
@@ -14345,7 +14365,7 @@
1434514365
"source_path": "articles/event-hubs/event-hubs-spark-connector.md",
1434614366
"redirect_url": "/azure/event-hubs/event-hubs-kafka-spark-tutorial",
1434714367
"redirect_document_id": false
14348-
},
14368+
},
1434914369
{
1435014370
"source_path": "articles/event-hubs/event-hubs-tutorial-virtual-networks-firewalls.md",
1435114371
"redirect_url": "/azure/event-hubs/event-hubs-service-endpoints",
@@ -32061,6 +32081,16 @@
3206132081
"redirect_url": "/azure/api-management/mock-api-responses",
3206232082
"redirect_document_id": false
3206332083
},
32084+
{
32085+
"source_path": "articles/api-management/api-management-howto-deploy-self-hosted-gateway-to-k8s.md",
32086+
"redirect_url": "/azure/api-management/how-to-deploy-self-hosted-gateway-kubernetes",
32087+
"redirect_document_id": false
32088+
},
32089+
{
32090+
"source_path": "articles/api-management/api-management-howto-deploy-self-hosted-gateway-to-docker.md",
32091+
"redirect_url": "/azure/api-management/how-to-deploy-self-hosted-gateway-docker",
32092+
"redirect_document_id": false
32093+
},
3206432094
{
3206532095
"source_path": "articles/container-service/kubernetes/container-service-deploy-spring-boot-app-on-kubernetes.md",
3206632096
"redirect_url": "/java/azure/spring-framework/deploy-spring-boot-java-app-on-kubernetes",
@@ -51734,6 +51764,131 @@
5173451764
"source_path": "articles/jenkins/jenkins-azure-vm-agents.md",
5173551765
"redirect_url": "/azure/developer/jenkins/scale-deployments-using-vm-agents",
5173651766
"redirect_document_id": false
51767+
},
51768+
{
51769+
"source_path": "articles/jenkins/index.yml",
51770+
"redirect_url": "/azure/developer/jenkins/",
51771+
"redirect_document_id": false
51772+
},
51773+
{
51774+
"source_path": "articles/jenkins/overview.md",
51775+
"redirect_url": "/azure/developer/jenkins/overview",
51776+
"redirect_document_id": false
51777+
},
51778+
{
51779+
"source_path": "articles/terraform/terraform-backend.md",
51780+
"redirect_url": "/azure/developer/terraform/store-state-in-azure-storage",
51781+
"redirect_document_id": false
51782+
},
51783+
{
51784+
"source_path": "articles/terraform/terraform-cloud-shell.md",
51785+
"redirect_url": "/azure/developer/terraform/install-configure",
51786+
"redirect_document_id": false
51787+
},
51788+
{
51789+
"source_path": "articles/terraform/terraform-create-complete-vm.md",
51790+
"redirect_url": "/azure/developer/terraform/create-linux-virtual machine-with-infrastructure",
51791+
"redirect_document_id": false
51792+
},
51793+
{
51794+
"source_path": "articles/terraform/terraform-create-configuration.md",
51795+
"redirect_url": "/azure/developer/terraform/deploy-azure-cosmos-db-to-azure-container-instances",
51796+
"redirect_document_id": false
51797+
},
51798+
{
51799+
"source_path": "articles/terraform/terraform-create-k8s-cluster-with-aks-applicationgateway-ingress.md",
51800+
"redirect_url": "/azure/developer/terraform/create-k8s-cluster-with-aks-applicationgateway-ingress",
51801+
"redirect_document_id": false
51802+
},
51803+
{
51804+
"source_path": "articles/terraform/terraform-create-k8s-cluster-with-tf-and-aks.md",
51805+
"redirect_url": "/azure/developer/terraform/create-k8s-cluster-with-tf-and-aks",
51806+
"redirect_document_id": false
51807+
},
51808+
{
51809+
"source_path": "articles/terraform/terraform-create-vm-cluster-module.md",
51810+
"redirect_url": "/azure/developer/terraform/create-vm-cluster-module",
51811+
"redirect_document_id": false
51812+
},
51813+
{
51814+
"source_path": "articles/terraform/terraform-create-vm-cluster-with-infrastructure.md",
51815+
"redirect_url": "/azure/developer/terraform/create-vm-cluster-with-infrastructure",
51816+
"redirect_document_id": false
51817+
},
51818+
{
51819+
"source_path": "articles/terraform/terraform-create-vm-scaleset-network-disks-hcl.md",
51820+
"redirect_url": "/azure/developer/terraform/create-vm-scaleset-network-disks-hcl",
51821+
"redirect_document_id": false
51822+
},
51823+
{
51824+
"source_path": "articles/terraform/terraform-create-vm-scaleset-network-disks-using-packer-hcl.md",
51825+
"redirect_url": "/azure/developer/terraform/create-vm-scaleset-network-disks-using-packer-hcl",
51826+
"redirect_document_id": false
51827+
},
51828+
{
51829+
"source_path": "articles/terraform/terraform-hub-spoke-hub-network.md",
51830+
"redirect_url": "/azure/developer/terraform/hub-spoke-hub-network",
51831+
"redirect_document_id": false
51832+
},
51833+
{
51834+
"source_path": "articles/terraform/terraform-hub-spoke-hub-nva.md",
51835+
"redirect_url": "/azure/developer/terraform/hub-spoke-hub-nva",
51836+
"redirect_document_id": false
51837+
},
51838+
{
51839+
"source_path": "articles/terraform/terraform-hub-spoke-introduction.md",
51840+
"redirect_url": "/azure/developer/terraform/hub-spoke-introduction",
51841+
"redirect_document_id": false
51842+
},
51843+
{
51844+
"source_path": "articles/terraform/terraform-hub-spoke-on-prem.md",
51845+
"redirect_url": "/azure/developer/terraform/hub-spoke-on-prem",
51846+
"redirect_document_id": false
51847+
},
51848+
{
51849+
"source_path": "articles/terraform/terraform-hub-spoke-spoke-network.md",
51850+
"redirect_url": "/azure/developer/terraform/hub-spoke-spoke-network",
51851+
"redirect_document_id": false
51852+
},
51853+
{
51854+
"source_path": "articles/terraform/terraform-hub-spoke-validation.md",
51855+
"redirect_url": "/azure/developer/terraform/hub-spoke-validation",
51856+
"redirect_document_id": false
51857+
},
51858+
{
51859+
"source_path": "articles/terraform/terraform-install-configure.md",
51860+
"redirect_url": "/azure/developer/terraform/install-configure",
51861+
"redirect_document_id": false
51862+
},
51863+
{
51864+
"source_path": "articles/terraform/terraform-overview.md",
51865+
"redirect_url": "/azure/developer/terraform/overview",
51866+
"redirect_document_id": false
51867+
},
51868+
{
51869+
"source_path": "articles/terraform/terraform-slot-walkthru.md",
51870+
"redirect_url": "/azure/developer/terraform/provision-infrastructure-using-azure-deployment-slots",
51871+
"redirect_document_id": false
51872+
},
51873+
{
51874+
"source_path": "articles/terraform/terraform-vscode-extension.md",
51875+
"redirect_url": "/azure/developer/terraform/configure-vs-code-extension-for-terraform",
51876+
"redirect_document_id": false
51877+
},
51878+
{
51879+
"source_path": "articles/terraform/terraform-vscode-module-generator.md",
51880+
"redirect_url": "/azure/developer/terraform/create-a-base-template-using-yeoman",
51881+
"redirect_document_id": false
51882+
},
51883+
{
51884+
"source_path": "articles/terraform/terraform-modules.md",
51885+
"redirect_url": "/azure/developer/terraform/test-modules-using-terratest",
51886+
"redirect_document_id": false
51887+
},
51888+
{
51889+
"source_path": "articles/terraform/index.yml",
51890+
"redirect_url": "/azure/developer/terraform/",
51891+
"redirect_document_id": false
5173751892
}
51738-
]
51893+
]
5173951894
}

articles/active-directory-b2c/code-samples.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,9 @@ The following tables provide links to samples for applications including iOS, An
4343
| Sample | Description |
4444
|--------| ----------- |
4545
| [javascript-msal-singlepageapp](https://github.com/Azure-Samples/active-directory-b2c-javascript-msal-singlepageapp) | A single page application (SPA) calling a Web API. Authentication is done with Azure AD B2C by using MSAL.js. |
46+
47+
## SAML test application
48+
49+
| Sample | Description |
50+
|--------| ----------- |
51+
| [saml-sp-tester](https://github.com/azure-ad-b2c/saml-sp-tester/tree/master/source-code) | SAML test application to test Azure AD B2C configured to act as SAML identity provider. |

articles/active-directory/app-provisioning/scim-graph-scenarios.md

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ms.workload: identity
1313
ms.tgt_pltfrm: na
1414
ms.devlang: na
1515
ms.topic: conceptual
16-
ms.date: 04/06/2020
16+
ms.date: 04/23/2020
1717
ms.author: mimart
1818
ms.reviewer: arvinh
1919

@@ -23,23 +23,28 @@ ms.collection: M365-identity-device-management
2323

2424
# Using SCIM and Microsoft Graph together to provision users and enrich your application with the data it needs
2525

26-
**Target audience:** This document is targeted towards developers building applications integrated with Azure AD. For others looking to integrate an existing application such as Zoom, ServiceNow, and DropBox you can skip this and review the application specific [tutorials](https://docs.microsoft.com/azure/active-directory/saas-apps/tutorial-list).
26+
**Target audience:** This document is targeted towards developers building applications to be integrated with Azure AD. For others looking to use applications already integrated with Azure AD, such as Zoom, ServiceNow, and DropBox, you can skip this and review the application specific [tutorials](https://docs.microsoft.com/azure/active-directory/saas-apps/tutorial-list) or review [how the provisioning service works](https://docs.microsoft.com/azure/active-directory/app-provisioning/how-provisioning-works).
2727

2828
**Common scenarios**
2929

30+
Azure AD provides an out of the box service for provisioning and an extensible platform to build your applications on. The decision tree outlines how a developer would use [SCIM](https://aka.ms/scimoverview) and the [Microsoft Graph](https://docs.microsoft.com/graph/overview) to automate provisioning.
31+
3032
> [!div class="checklist"]
3133
> * Automatically create users in my application
3234
> * Automatically remove users from my application when they shouldn't have access anymore
3335
> * Integrate my application with multiple identity providers for provisioning
34-
> * Enrich my application with data from Microsoft services such as Sharepoint, Outlook, and Office.
36+
> * Enrich my application with data from Microsoft services such as Teams, Outlook, and Office.
3537
> * Automatically create, update, and delete users and groups in Azure AD and Active Directory
3638
3739
![SCIM Graph decision tree](./media/user-provisioning/scim-graph.png)
3840

3941
## Scenario 1: Automatically create users in my app
40-
Today, IT admins manually create user accounts in my application each time someone needs access or periodically upload CSV files. The process is time consuming for customers and slows down adoption of my application. All I need is basic [user](https://docs.microsoft.com/graph/api/resources/user?view=graph-rest-1.0) information such as name, email, and userPrincipalName to create a user. Furthermore, my customers use various IdPs and I don't have the resources to maintain a sync engine and custom integrations with each IdP.
42+
Today, IT admins provision users by manually creating user accounts or periodically uploading CSV files into my application. The process is time consuming for customers and slows down adoption of my application. All I need is basic user information such as name, email, and userPrincipalName to create a user.
43+
44+
**Recommendation**:
45+
* If your customers use various IdPs and you do not want to maintain a sync engine to integrate with each, support a SCIM compliant [/Users](https://aka.ms/scimreferencecode) endpoint. Your customers will be able to easily use this endpoint to integrate with the Azure AD provisioning service and automatically create user accounts when they need access. You can build the endpoint once and it will be compatible with all IdPs. Check out the example request below for how a user would be created using SCIM.
46+
* If you require user data found on the user object in Azure AD and other data from across Microsoft, consider building a SCIM endpoint for user provisioning and calling into the Microsoft Graph to get the rest of the data.
4147

42-
**Recommendation**: Support a SCIM compliant [/Users](https://aka.ms/scimreferencecode) endpoint. Your customers will be able to easily use this endpoint to integrate with the Azure AD provisioning service and automatically create user accounts when they need access. You can build the endpoint once and it will be compatible with all IdPs, without having to maintain a sync engine. Check out the example request below for how a user would be created.
4348

4449
```json
4550
POST /Users
@@ -93,21 +98,21 @@ My application relies on groups for access to various resources, and customers w
9398

9499
**Recommendation:** Support a SCIM compliant /Groups [endpoint](https://aka.ms/scimreferencecode). The Azure AD provisioning service will take care of creating groups and managing membership updates in your application.
95100

96-
## Scenario 4: Enrich my app with data from Microsoft services such as Teams, Outlook, and OneDrive.
101+
## Scenario 4: Enrich my app with data from Microsoft services such as Teams, Outlook, and OneDrive
97102
My application is built into Microsoft Teams and relies on message data. In addition, we store files for users in OneDrive. How can I enrich my application with the data from these services and across Microsoft?
98103

99104
**Recommendation:** The [Microsoft Graph](https://docs.microsoft.com/graph/) is your entry point to access Microsoft data. Each workload exposes APIs with the data that you need. The Microsoft graph can be used along with [SCIM provisioning](https://docs.microsoft.com/azure/active-directory/app-provisioning/use-scim-to-provision-users-and-groups) for the scenarios above. You can use SCIM to provision basic user attributes into your application while calling into graph to get any other data that you need.
100105

101-
## Scenario 5: Track changes in Microsoft services such as Teams, Outlook, and Azure AD.
106+
## Scenario 5: Track changes in Microsoft services such as Teams, Outlook, and Azure AD
102107
I need to be able to track changes to Teams and Outlook messages and react to them in real time. How can I get these changes pushed to my application?
103108

104-
**Recommendation:** The Microsoft Graph provides [change notifications](https://docs.microsoft.com/graph/webhooks) and change tracking for various resources. Note the following limitations of change notifications:
109+
**Recommendation:** The Microsoft Graph provides [change notifications](https://docs.microsoft.com/graph/webhooks) and [change tracking](https://docs.microsoft.com/graph/delta-query-overview) for various resources. Note the following limitations of change notifications:
105110
- If an event receiver acknowledges an event, but fails to act on it for any reason, the event may be lost
106111
- If an event receiver acknowledges an event, but fails to act on it for any reason, the event may be lost
107112
- Change notifications don't always contain the [resource data](https://docs.microsoft.com/graph/webhooks-with-resource-data)
108113
For the reasons above, developers often use change notifications along with change tracking for synchronization scenarios.
109114

110-
## Scenario 6: Provision users and groups in Azure AD.
115+
## Scenario 6: Provision users and groups in Azure AD
111116
My application creates information about a user that customers need in Azure AD. This could be an HR application than manages hiring, a communications app that creates phone numbers for users, or some other app that generates data that would be valuable in Azure AD. How do I populate the user record in Azure AD with that data?
112117

113118
**Recommendation** The Microsoft graph exposes /Users and /Groups endpoints that you can integrate with today to provision users into Azure AD. Please note that Azure Active Directory doesn't support writing those users back into Active Directory.

articles/active-directory/authentication/concept-authentication-passwordless.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ The following providers offer FIDO2 security keys of different form factors that
116116
| eWBM | [https://www.ewbm.com/support](https://www.ewbm.com/support) |
117117
| AuthenTrend | [https://authentrend.com/about-us/#pg-35-3](https://authentrend.com/about-us/#pg-35-3) |
118118
| Gemalto (Thales Group) | [https://safenet.gemalto.com/multi-factor-authentication/authenticators/passwordless-authentication/](https://safenet.gemalto.com/multi-factor-authentication/authenticators/passwordless-authentication/) |
119-
| OneSpan Inc. | [https://www.onespan.com/sites/default/files/2019-08/Digipass-SecureClick_datasheet.pdf](https://www.onespan.com/sites/default/files/2019-08/Digipass-SecureClick_datasheet.pdf) |
119+
| OneSpan Inc. | [https://www.onespan.com/sites/default/files/2019-01/OneSpan-FIDO-Authentication.pdf](https://www.onespan.com/sites/default/files/2019-01/OneSpan-FIDO-Authentication.pdf) |
120120
| IDmelon Technologies Inc. | [https://www.idmelon.com/#idmelon](https://www.idmelon.com/#idmelon) |
121121

122122
> [!NOTE]

articles/active-directory/develop/msal-overview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ MSAL can be used in many application scenarios, including the following:
5151
| [MSAL.js](https://github.com/AzureAD/microsoft-authentication-library-for-js)| JavaScript/TypeScript frameworks such as AngularJS, Ember.js, or Durandal.js|
5252
| [MSAL for Android](https://github.com/AzureAD/microsoft-authentication-library-for-android)|Android|
5353
| [MSAL for iOS and macOS](https://github.com/AzureAD/microsoft-authentication-library-for-objc)|iOS and macOS|
54-
| [MSAL Java (preview)](https://github.com/AzureAD/microsoft-authentication-library-for-java)|Java|
55-
| [MSAL Python (preview)](https://github.com/AzureAD/microsoft-authentication-library-for-python)|Python|
54+
| [MSAL Java](https://github.com/AzureAD/microsoft-authentication-library-for-java)|Windows, macOS, Linux|
55+
| [MSAL Python](https://github.com/AzureAD/microsoft-authentication-library-for-python)|Windows, macOS, Linux|
5656

5757
## Differences between ADAL and MSAL
5858

0 commit comments

Comments
 (0)