Skip to content

Commit 77e9f71

Browse files
committed
Merging changes synced from https://github.com/MicrosoftDocs/azure-docs-pr (branch live)
2 parents 30728ae + 67b44a0 commit 77e9f71

File tree

172 files changed

+1629
-1230
lines changed

Some content is hidden

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

172 files changed

+1629
-1230
lines changed

.openpublishing.redirection.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27685,6 +27685,11 @@
2768527685
"redirect_url": "/azure/marketplace/create-consulting-service-offer",
2768627686
"redirect_document_id": true
2768727687
},
27688+
{
27689+
"source_path_from_root": "/articles/marketplace/partner-center-portal/create-new-managed-service-offer.md",
27690+
"redirect_url": "/azure/marketplace/plan-managed-service-offer",
27691+
"redirect_document_id": true
27692+
},
2768827693
{
2768927694
"source_path_from_root": "/articles/azure-resource-manager/managed-application-author-marketplace.md",
2769027695
"redirect_url": "/azure/marketplace/create-new-azure-apps-offer",
@@ -61051,7 +61056,7 @@
6105161056
"redirect_url": "azure/cognitive-services/Anomaly-Detector/quickstarts/client-libraries",
6105261057
"redirect_document_id": false
6105361058
},
61054-
{
61059+
{
6105561060
"source_path": "articles/storage/files/storage-files-deployment-guide.md",
6105661061
"redirect_url": "/azure/storage/files/storage-how-to-create-file-share",
6105761062
"redirect_document_id": false

articles/active-directory/app-provisioning/application-provisioning-quarantine-status.md

Lines changed: 29 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,12 @@ ms.reviewer: arvinh
1515

1616
# Application provisioning in quarantine status
1717

18-
The Azure AD provisioning service monitors the health of your configuration and places unhealthy apps in a "quarantine" state. If most or all of the calls made against the target system consistently fail because of an error, for example invalid admin credentials, the provisioning job is marked as in quarantine.
18+
The Azure AD provisioning service monitors the health of your configuration. It also places unhealthy apps in a "quarantine" state. If most, or all, of the calls made against the target system consistently fail then the provisioning job is marked as in quarantine. An example of a failure is an error received because of invalid admin credentials.
1919

20-
While in quarantine, the frequency of incremental cycles is gradually reduced to once per day. The provisioning job is removed from quarantine after all errors are fixed and the next sync cycle starts. If the provisioning job stays in quarantine for more than four weeks, the provisioning job is disabled (stops running).
20+
While in quarantine:
21+
- The frequency of incremental cycles is gradually reduced to once per day.
22+
- The provisioning job is removed from quarantine after all errors are fixed and the next sync cycle starts.
23+
- If the provisioning job stays in quarantine for more than four weeks, the provisioning job is disabled (stops running).
2124

2225
## How do I know if my application is in quarantine?
2326

@@ -27,53 +30,62 @@ There are three ways to check whether an application is in quarantine:
2730

2831
![Provisioning status bar showing quarantine status](./media/application-provisioning-quarantine-status/progress-bar-quarantined.png)
2932

30-
- In the Azure portal, navigate to **Azure Active Directory** > **Audit Logs** > filter on **Activity: Quarantine** and review the quarantine history. While the view in the progress bar as described above shows whether provisioning is currently in quarantine, the audit logs allow you to see the quarantine history for an application.
33+
- In the Azure portal, navigate to **Azure Active Directory** > **Audit Logs** > filter on **Activity: Quarantine** and review the quarantine history. The view in the progress bar as described above shows whether provisioning is currently in quarantine. The audit logs show the quarantine history for an application.
3134

32-
- Use the Microsoft Graph request [Get synchronizationJob](/graph/api/synchronization-synchronizationjob-get?tabs=http&view=graph-rest-beta) to programmatically get the status of the provisioning job:
35+
- Use the Microsoft Graph request [Get synchronizationJob](/graph/api/synchronization-synchronizationjob-get?tabs=http&view=graph-rest-beta&preserve-view=true) to programmatically get the status of the provisioning job:
3336

3437
```microsoft-graph
3538
GET https://graph.microsoft.com/beta/servicePrincipals/{id}/synchronization/jobs/{jobId}/
3639
```
3740

3841
- Check your email. When an application is placed in quarantine, a one-time notification email is sent. If the quarantine reason changes, an updated email is sent showing the new reason for quarantine. If you don't see an email:
3942

40-
- Make sure you have specified a valid **Notification Email** in the provisioning configuration for the application.
41-
- Make sure there is no spam filtering on the notification email inbox.
42-
- Make sure you have not unsubscribed from emails.
43-
- Check for emails from [email protected]
43+
- Make sure you've specified a valid **Notification Email** in the provisioning configuration for the application.
44+
- Make sure there's no spam filtering on the notification email inbox.
45+
- Make sure you haven't unsubscribed from emails.
46+
- Check for emails from `[email protected]`
4447

4548
## Why is my application in quarantine?
4649

4750
|Description|Recommended Action|
4851
|---|---|
49-
|**SCIM Compliance issue:** An HTTP/404 Not Found response was returned rather than the expected HTTP/200 OK response. In this case the Azure AD provisioning service has made a request to the target application and received an unexpected response.|Check the admin credentials section to see if the application requires specifying the tenant URL and ensure that the URL is correct. If you don't see an issue, please contact the application developer to ensure that their service is SCIM-compliant. https://tools.ietf.org/html/rfc7644#section-3.4.2 |
50-
|**Invalid credentials:** When attempting to authorize access to the target application we received a response from the target application that indicates the credentials provided are invalid.|Please navigate to the admin credentials section of the provisioning configuration UI and authorize access again with valid credentials. If the application is in the gallery, review the application configuration tutorial for any additional steps required.|
52+
|**SCIM Compliance issue:** An HTTP/404 Not Found response was returned rather than the expected HTTP/200 OK response. In this case, the Azure AD provisioning service has made a request to the target application and received an unexpected response.|Check the admin credentials section. See if the application requires specifying the tenant URL and that the URL is correct. If you don't see an issue, contact the application developer to ensure that their service is SCIM-compliant. https://tools.ietf.org/html/rfc7644#section-3.4.2 |
53+
|**Invalid credentials:** When attempting to authorize, access to the target application, we received a response from the target application that indicates the credentials provided are invalid.|Navigate to the admin credentials section of the provisioning configuration UI and authorize access again with valid credentials. If the application is in the gallery, review the application configuration tutorial for anymore required steps.|
5154
|**Duplicate roles:** Roles imported from certain applications like Salesforce and Zendesk must be unique. |Navigate to the application [manifest](../develop/reference-app-manifest.md) in the Azure portal and remove the duplicate role.|
5255

5356
A Microsoft Graph request to get the status of the provisioning job shows the following reason for quarantine:
54-
5557
- `EncounteredQuarantineException` indicates that invalid credentials were provided. The provisioning service is unable to establish a connection between the source system and the target system.
58+
- `EncounteredEscrowProportionThreshold` indicates that provisioning exceeded the escrow threshold. This condition occurs when more than 40% of provisioning events failed. For more information, see escrow threshold details below.
59+
- `QuarantineOnDemand` means that we've detected an issue with your application and have manually set it to quarantine.
5660

57-
- `EncounteredEscrowProportionThreshold` indicates that provisioning exceeded the escrow threshold. This condition occurs when more than 60% of provisioning events failed.
61+
**Escrow thresholds**
62+
63+
If the proportional escrow threshold is met, the provisioning job will go into quarantine. This logic is subject to change, but works roughly as described below:
64+
65+
A job can go into quarantine regardless of failure counts for issues such as admin credentials or SCIM compliance. However, in general, 5,000 failures are the minimum to start evaluating whether to quarantine because of too many failures. For example, a job with 4,000 failures wouldn't go into quarantine. But, a job with 5,000 failures would trigger an evaluation. An evaluation uses the following criteria:
66+
- If more than 40% of provisioning events fail, or there are more than 40,000 failures, the provisioning job will go into quarantine. Reference failures won't be counted as part of the 40% threshold or 40,000 threshold. For example, failure to update a manager or a group member is a reference failure.
67+
- A job where 45,000 users were unsuccessfully provisioned would lead to quarantine as it exceeds the 40,000 threshold.
68+
- A job where 30,000 users failed provisioning and 5,000 were successful would lead to quarantine as it exceeds the 40% threshold and 5,000 minimum.
69+
- A job with 20,000 failures and 100,000 success wouldn't go into quarantine because it doe not exceed the 40% failure threshold or the 40,000 failure max.
70+
- There's an absolute threshold of 60,000 failures that accounts for both reference and non-reference failures. For example, 40,000 users failed to be provisioned and 21,000 manager updates failed. The total is 61,000 failures and exceeds the 60,000 limit.
5871

59-
- `QuarantineOnDemand` means that we've detected an issue with your application and have manually set it to quarantine.
6072

6173
## How do I get my application out of quarantine?
6274

6375
First, resolve the issue that caused the application to be placed in quarantine.
6476

65-
- Check the application's provisioning settings to make sure you've [entered valid Admin Credentials](../app-provisioning/configure-automatic-user-provisioning-portal.md#configuring-automatic-user-account-provisioning). Azure AD must be able to establish a trust with the target application. Ensure that you have entered valid credentials and your account has the necessary permissions.
77+
- Check the application's provisioning settings to make sure you've [entered valid Admin Credentials](../app-provisioning/configure-automatic-user-provisioning-portal.md#configuring-automatic-user-account-provisioning). Azure AD must establish a trust with the target application. Ensure that you have entered valid credentials and your account has the necessary permissions.
6678

67-
- Review the [provisioning logs](../reports-monitoring/concept-provisioning-logs.md) to further investigate what errors are causing quarantine and address the error. Access the provisioning logs in the Azure portal by going to **Azure Active Directory** > **Enterprise Apps** > **Provisioning logs (preview)** in the **Activity** section.
79+
- Review the [provisioning logs](../reports-monitoring/concept-provisioning-logs.md) to further investigate what errors are causing quarantine and address the error. Go to **Azure Active Directory** > **Enterprise Apps** > **Provisioning logs (preview)** in the **Activity** section.
6880

6981
After you've resolved the issue, restart the provisioning job. Certain changes to the application's provisioning settings, such as attribute mappings or scoping filters, will automatically restart provisioning for you. The progress bar on the application's **Provisioning** page indicates when provisioning last started. If you need to restart the provisioning job manually, use one of the following methods:
7082

7183
- Use the Azure portal to restart the provisioning job. On the application's **Provisioning** page under **Settings**, select **Clear state and restart synchronization** and set **Provisioning Status** to **On**. This action fully restarts the provisioning service, which can take some time. A full initial cycle will run again, which clears escrows, removes the app from quarantine, and clears any watermarks.
7284

73-
- Use Microsoft Graph to [restart the provisioning job](/graph/api/synchronization-synchronizationjob-restart?tabs=http&view=graph-rest-beta). You'll have full control over what you restart. You can choose to clear escrows (to restart the escrow counter that accrues toward quarantine status), clear quarantine (to remove the application from quarantine), or clear watermarks. Use the following request:
85+
- Use Microsoft Graph to [restart the provisioning job](/graph/api/synchronization-synchronizationjob-restart?tabs=http&view=graph-rest-beta&preserve-view=true). You'll have full control over what you restart. You can choose to clear escrows (to restart the escrow counter that accrues toward quarantine status), clear quarantine (to remove the application from quarantine), or clear watermarks. Use the following request:
7486

7587
```microsoft-graph
7688
POST /servicePrincipals/{id}/synchronization/jobs/{jobId}/restart
7789
```
7890

79-
Replace "{id}" with the value of the Application ID, and replace "{jobId}" with the [ID of the synchronization job](/graph/api/resources/synchronization-configure-with-directory-extension-attributes?tabs=http&view=graph-rest-beta#list-synchronization-jobs-in-the-context-of-the-service-principal).
91+
Replace "{ID}" with the value of the Application ID, and replace "{jobId}" with the [ID of the synchronization job](/graph/api/resources/synchronization-configure-with-directory-extension-attributes?tabs=http&view=graph-rest-beta&preserve-view=true#list-synchronization-jobs-in-the-context-of-the-service-principal).

articles/active-directory/app-provisioning/known-issues.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ms.service: active-directory
99
ms.subservice: app-provisioning
1010
ms.workload: identity
1111
ms.topic: troubleshooting
12-
ms.date: 12/14/2020
12+
ms.date: 01/05/2021
1313
ms.reviewer: arvinh
1414
---
1515

@@ -78,6 +78,10 @@ The [time](./application-provisioning-when-will-provisioning-finish-specific-use
7878

7979
The app provisioning service isn't aware of changes made in external apps. So, no action is taken to roll back. The app provisioning service relies on changes made in Azure AD.
8080

81+
**Switching from sync all to sync assigned not working**
82+
83+
After changing scope from 'Sync All' to 'Sync Assigned', please make sure to also perform a restart to ensure that the change takes effect. You can do the restart from the UI.
84+
8185
**Provisioning cycle continues until completion**
8286

8387
When setting provisioning `enabled = off`, or hitting stop, the current provisioning cycle will continue running until completion. The service will stop executing any future cycles until you turn provisioning on again.

0 commit comments

Comments
 (0)