You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/active-directory/app-provisioning/inbound-provisioning-api-graph-explorer.md
+1-2Lines changed: 1 addition & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,6 @@ ms.reviewer: cmmdesai
15
15
16
16
# Quickstart API-driven inbound provisioning with Graph Explorer (Public preview)
17
17
18
-
## Introduction
19
18
This tutorial describes how you can quickly test [API-driven inbound provisioning](inbound-provisioning-api-concepts.md) with Microsoft Graph Explorer.
20
19
21
20
## Pre-requisites
@@ -224,7 +223,7 @@ The bulk request shown below uses the SCIM standard Core User and Enterprise Use
224
223
"failOnErrors": null
225
224
}
226
225
```
227
-
## Next Steps
226
+
## Next steps
228
227
-[Troubleshoot issues with the inbound provisioning API](inbound-provisioning-api-issues.md)
Copy file name to clipboardExpand all lines: articles/active-directory/app-provisioning/inbound-provisioning-api-logic-apps.md
+8-7Lines changed: 8 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,15 +15,13 @@ ms.reviewer: cmmdesai
15
15
16
16
# API-driven inbound provisioning with Azure Logic Apps (Public preview)
17
17
18
-
## Introduction
19
-
20
18
This tutorial describes how to use Azure Logic Apps workflow to implement Microsoft Entra ID [API-driven inbound provisioning](inbound-provisioning-api-concepts.md). Using the steps in this tutorial, you can convert a CSV file containing HR data into a bulk request payload and send it to the Microsoft Entra ID provisioning [/bulkUpload](/graph/api/synchronization-synchronizationjob-post-bulkupload) API endpoint.
21
19
22
20
## Integration scenario
23
21
24
22
This tutorial addresses the following integration scenario:
:::image type="content" source="media/inbound-provisioning-api-logic-apps/logic-apps-integration-overview.png" alt-text="Graphic of Azure Logic Apps-based integration." lightbox="media/inbound-provisioning-api-logic-apps/logic-apps-integration-overview.png":::
27
25
28
26
* Your system of record generates periodic CSV file exports containing worker data which is available in an Azure File Share.
29
27
* You want to use an Azure Logic Apps workflow to automatically provision records from the CSV file to your target directory (on-premises Active Directory or Microsoft Entra ID).
@@ -53,7 +51,7 @@ The steps documented in this section are optional. If you already have an existi
53
51
54
52
## Step 2: Configure Azure Function CSV2JSON converter
55
53
56
-
1. In the browser associated with your Azure portal login, open the Github repository URL - https://github.com/joelbyford/CSVtoJSONcore.
54
+
1. In the browser associated with your Azure portal login, open the GitHub repository URL - https://github.com/joelbyford/CSVtoJSONcore.
57
55
1. Click on the link "Deploy to Azure" to deploy this Azure Function to your Azure tenant.
58
56
:::image type="content" source="media/inbound-provisioning-api-logic-apps/deploy-azure-function.png" alt-text="Screenshot of deploying Azure Function." lightbox="media/inbound-provisioning-api-logic-apps/deploy-azure-function.png":::
59
57
1. Specify the resource group under which to deploy this Azure function.
@@ -65,7 +63,8 @@ The steps documented in this section are optional. If you already have an existi
65
63
:::image type="content" source="media/inbound-provisioning-api-logic-apps/web-app-domain-name.png" alt-text="Screenshot of Azure Function Web App domain name." lightbox="media/inbound-provisioning-api-logic-apps/web-app-domain-name.png":::
66
64
1. Open Postman client to test if the CSVtoJSON endpoint works as expected. Paste the domain name copied from the previous step. Use Content-Type of "text/csv" and post a sample CSV file in the request body to the endpoint: `https://[your-domain-name]/csvtojson`
67
65
:::image type="content" source="media/inbound-provisioning-api-logic-apps/postman-call-to-azure-function.png" alt-text="Screenshot of Postman client calling the Azure Function." lightbox="media/inbound-provisioning-api-logic-apps/postman-call-to-azure-function.png":::
68
-
1. If the Azure Function deployment is successful, then in the response you will get a JSON version of the CSV file with status 200 OK.
66
+
1. If the Azure Function deployment is successful, then in the response you'll get a JSON version of the CSV file with status 200 OK.
67
+
69
68
:::image type="content" source="media/inbound-provisioning-api-logic-apps/azure-function-response.png" alt-text="Screenshot of Azure Function response." lightbox="media/inbound-provisioning-api-logic-apps/azure-function-response.png":::
70
69
1. To allow Logic Apps to invoke this Azure Function, in the CORS setting for the WebApp enter asterisk (*) and "Save" the configuration.
71
70
:::image type="content" source="media/inbound-provisioning-api-logic-apps/azure-function-cors-setting.png" alt-text="Screenshot of Azure Function CORS setting." lightbox="media/inbound-provisioning-api-logic-apps/azure-function-cors-setting.png":::
@@ -85,7 +84,7 @@ The steps documented in this section are optional. If you already have an existi
85
84
1. For the `Azurefile_access Key` parameter, open your Azure file storage account and copy the access key present under "Security and Networking".
86
85
:::image type="content" source="media/inbound-provisioning-api-logic-apps/azure-file-access-keys.png" alt-text="Screenshot of Azure File access keys." lightbox="media/inbound-provisioning-api-logic-apps/azure-file-access-keys.png":::
87
86
1. Click on "Review and Create" option to start the deployment.
88
-
1. Once the deployment is complete, you will see the following message.
87
+
1. Once the deployment is complete, you'll see the following message.
## Step 5: Configure system assigned managed identity
@@ -109,8 +108,10 @@ The steps documented in this section are optional. If you already have an existi
109
108
1. If your CSV file content / headers is different, then update the "Parse JSON" step with the JSON output that you can retrieve from your API call to the Azure Function. Use Postman output from Step 2.
110
109
:::image type="content" source="media/inbound-provisioning-api-logic-apps/parse-json-step.png" alt-text="Screenshot of Parse JSON step." lightbox="media/inbound-provisioning-api-logic-apps/parse-json-step.png":::
111
110
1. In the step "Construct SCIMUser", ensure that the CSV fields map correctly to the SCIM attributes that will be used for processing.
111
+
112
112
:::image type="content" source="media/inbound-provisioning-api-logic-apps/construct-scim-user.png" alt-text="Screenshot of Construct SCIM user step." lightbox="media/inbound-provisioning-api-logic-apps/construct-scim-user.png":::
113
113
1. In the step "Send SCIMBulkPayload to API endpoint" ensure you are using the right API endpoint and authentication mechanism.
114
+
114
115
:::image type="content" source="media/inbound-provisioning-api-logic-apps/invoke-bulk-upload-api.png" alt-text="Screenshot of invoking bulk upload API with managed identity." lightbox="media/inbound-provisioning-api-logic-apps/invoke-bulk-upload-api.png":::
115
116
116
117
## Step 7: Run trigger and test your Logic Apps workflow
@@ -121,7 +122,7 @@ The steps documented in this section are optional. If you already have an existi
121
122
1. In the final iteration, you should see the Logic Apps upload data to the inbound provisioning API endpoint. Look for `202 Accept` status code. You can copy-paste and verify the bulk upload request.
122
123
:::image type="content" source="media/inbound-provisioning-api-logic-apps/execution-results.png" alt-text="Screenshot of the Logic Apps execution result." lightbox="media/inbound-provisioning-api-logic-apps/execution-results.png":::
123
124
124
-
## Next Steps
125
+
## Next steps
125
126
-[Troubleshoot issues with the inbound provisioning API](inbound-provisioning-api-issues.md)
Copy file name to clipboardExpand all lines: articles/active-directory/app-provisioning/inbound-provisioning-api-postman.md
+4-5Lines changed: 4 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,6 @@ ms.reviewer: cmmdesai
15
15
16
16
# Quickstart API-driven inbound provisioning with Postman (Public preview)
17
17
18
-
## Introduction
19
18
This tutorial describes how you can quickly test [API-driven inbound provisioning](inbound-provisioning-api-concepts.md) with Postman.
20
19
21
20
## Pre-requisites
@@ -35,7 +34,7 @@ In this step, you'll configure the Postman app and invoke the API using the conf
35
34
-[Test-API2AAD.postman_environment.json](https://github.com/AzureAD/entra-id-inbound-provisioning/blob/main/Postman/Test-API2AAD.postman_environment.json) (Environment collection for API-driven provisioning to on-premises AD)-
36
35
-[Test-API2AD.postman_environment.json](https://github.com/AzureAD/entra-id-inbound-provisioning/blob/main/Postman/Test-API2AD.postman_environment.json) (Environment collection for API-driven provisioning to on-premises AD)
37
36
1. Use the **Import** option in Postman to import both of these files into your Workspace.
Copy file name to clipboardExpand all lines: articles/active-directory/app-provisioning/inbound-provisioning-api-powershell.md
+8-10Lines changed: 8 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,8 +15,6 @@ ms.reviewer: cmmdesai
15
15
16
16
# API-driven inbound provisioning with PowerShell script (Public preview)
17
17
18
-
## Introduction
19
-
20
18
This tutorial describes how to use a PowerShell script to implement Microsoft Entra ID [API-driven inbound provisioning](inbound-provisioning-api-concepts.md). Using the steps in this tutorial, you can convert a CSV file containing HR data into a bulk request payload and send it to the Microsoft Entra ID provisioning [/bulkUpload](/graph/api/synchronization-synchronizationjob-post-bulkupload) API endpoint.
21
19
22
20
## How to use this tutorial
@@ -26,7 +24,7 @@ This tutorial addresses the following integration scenario:
26
24
* You want to use an unattended PowerShell script to automatically provision records from the CSV file to your target directory (on-premises Active Directory or Microsoft Entra ID).
27
25
* The PowerShell script simply reads data from the CSV file and uploads it to the provisioning API endpoint. The API-driven inbound provisioning app configured in Microsoft Entra ID performs the task of applying your IT managed provisioning rules to create/update/enable/disable accounts in the target directory.
28
26
29
-
:::image type="content" source="media/inbound-provisioning-api-powershell/powershell-integration-overview.png" alt-text="Architecture overview of PowerShell-based integration." lightbox="media/inbound-provisioning-api-powershell/powershell-integration-overview.png":::
27
+
:::image type="content" source="media/inbound-provisioning-api-powershell/powershell-integration-overview.png" alt-text="Graphic of PowerShell-based integration." lightbox="media/inbound-provisioning-api-powershell/powershell-integration-overview.png":::
30
28
31
29
Here is a list of automation tasks associated with this integration scenario and how you can implement it by customizing the sample script published in the [Microsoft Entra ID inbound provisioning GitHub repository](https://github.com/AzureAD/entra-id-inbound-provisioning/tree/main/PowerShell/CSV2SCIM).
32
30
@@ -58,7 +56,7 @@ Here is a list of automation tasks associated with this integration scenario and
58
56
- csv-with-1000-records.csv (sample CSV file with 1000 records)
59
57
- Test-ScriptCommands.ps1 (sample usage commands)
60
58
- UseClientCertificate.ps1 (script to generate self-signed certificate and upload it as service principal credential for use in OAuth flow)
61
-
- Sample1 (folder with more examples of how CSV file columns can be mapped to SCIM standard attributes. If you get different CSV files for employees, contractors, interns, you can create a separate AttributeMapping.psd1 file for each entity.)
59
+
-`Sample1` (folder with more examples of how CSV file columns can be mapped to SCIM standard attributes. If you get different CSV files for employees, contractors, interns, you can create a separate AttributeMapping.psd1 file for each entity.)
62
60
1. Download and install the latest version of PowerShell.
63
61
1. Run the command to enable execution of remote signed scripts:
64
62
```powershell
@@ -155,7 +153,7 @@ This section explains how to send the generated bulk request payload to your inb
155
153
```
156
154
You should see the certificate under the **Certificates & secrets** blade of your registered app.
157
155
:::image type="content" source="media/inbound-provisioning-api-powershell/client-certificate.png" alt-text="Screenshot of client certificate." lightbox="media/inbound-provisioning-api-powershell/client-certificate.png":::
158
-
1. Add the following two **Application** permission scopes to the service principal app: **Application.Read.All** and **Synchronization.Read.All**. These are required for the PowerShell script to lookup the provisioning app by `ServicePrincipalId` and fetch the provisioning `JobId`.
156
+
1. Add the following two **Application** permission scopes to the service principal app: **Application.Read.All** and **Synchronization.Read.All**. These are required for the PowerShell script to look up the provisioning app by `ServicePrincipalId` and fetch the provisioning `JobId`.
159
157
160
158
## Upload bulk request payload using client certificate authentication
161
159
@@ -193,12 +191,12 @@ This section describes how to generate a bulk request with custom SCIM schema na
1. In addition to the SCIM Core User and Enterprise User attributes, to get a flat-list of all CSV fields under a a custom SCIM schema namespace `urn:ietf:params:scim:schemas:extension:contoso:1.0:User`, run the following command.
194
+
1. In addition to the SCIM Core User and Enterprise User attributes, to get a flat-list of all CSV fields under a custom SCIM schema namespace `urn:ietf:params:scim:schemas:extension:contoso:1.0:User`, run the following command.
The CSV fields will show up under the custom SCIM schema namespace.
201
-
:::image type="content" source="media/inbound-provisioning-api-powershell/user-details-under-custom-schema.png" alt-text="Screenshot of user details under custom schema" lightbox="media/inbound-provisioning-api-powershell/user-details-under-custom-schema.png":::
199
+
:::image type="content" source="media/inbound-provisioning-api-powershell/user-details-under-custom-schema.png" alt-text="Screenshot of user details under custom schema." lightbox="media/inbound-provisioning-api-powershell/user-details-under-custom-schema.png":::
>The `AttributeMapping` and `ValidateAttributeMapping` command-line parameters refer to the mapping of CSV column attributes to the standard SCIM schema elements.
294
+
> [!NOTE]
295
+
>The `AttributeMapping` and `ValidateAttributeMapping` command-line parameters refer to the mapping of CSV column attributes to the standard SCIM schema elements.
298
296
It doesn't refer to the attribute mappings that you perform in the Entra portal provisioning app between source SCIM schema elements and target Azure AD/on-premises AD attributes.
299
297
300
298
| Parameter | Description | Processing remarks |
@@ -360,7 +358,7 @@ In the next example, we mapped the following columns in the CSV file to their co
360
358
}
361
359
```
362
360
363
-
## Next Steps
361
+
## Next steps
364
362
-[Troubleshoot issues with the inbound provisioning API](inbound-provisioning-api-issues.md)
0 commit comments