Skip to content

Commit b2c9800

Browse files
authored
Merge pull request #245110 from v-missam/airtable
doc-1
2 parents 39fb2a3 + 01057ea commit b2c9800

File tree

5 files changed

+363
-5
lines changed

5 files changed

+363
-5
lines changed
Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
1+
---
2+
title: 'Tutorial: Configure Airtable for automatic user provisioning with Azure Active Directory'
3+
description: Learn how to automatically provision and de-provision user accounts from Azure AD to Airtable.
4+
services: active-directory
5+
author: twimmers
6+
writer: twimmers
7+
manager: jeedes
8+
ms.assetid: 48a929c5-6cfa-44ca-8471-641fa5a35ee0
9+
ms.service: active-directory
10+
ms.subservice: saas-app-tutorial
11+
ms.workload: identity
12+
ms.topic: tutorial
13+
ms.date: 07/17/2023
14+
ms.author: thwimmer
15+
---
16+
17+
# Tutorial: Configure Airtable for automatic user provisioning
18+
19+
This tutorial describes the steps you need to perform in both Airtable and Azure Active Directory (Azure AD) to configure automatic user provisioning. When configured, Azure AD automatically provisions and de-provisions users and groups to [Airtable](https://www.airtable.com) using the Azure AD Provisioning service. For important details on what this service does, how it works, and frequently asked questions, see [Automate user provisioning and deprovisioning to SaaS applications with Azure Active Directory](../app-provisioning/user-provisioning.md).
20+
21+
22+
## Supported capabilities
23+
> [!div class="checklist"]
24+
> * Create users in Airtable.
25+
> * Remove users in Airtable when they do not require access anymore.
26+
> * Keep user attributes synchronized between Azure AD and Airtable.
27+
> * Provision groups and group memberships in Airtable.
28+
> * [Single sign-on](airtable-tutorial.md) to Airtable (recommended).
29+
30+
## Prerequisites
31+
32+
The scenario outlined in this tutorial assumes that you already have the following prerequisites:
33+
34+
* [An Azure AD tenant](../develop/quickstart-create-new-tenant.md).
35+
* A user account in Azure AD with [permission](../roles/permissions-reference.md) to configure provisioning (for example, Application Administrator, Cloud Application administrator, Application Owner, or Global Administrator).
36+
* An Airtable tenant.
37+
* A user account in Airtable with Admin permissions.
38+
39+
## Step 1. Plan your provisioning deployment
40+
1. Learn about [how the provisioning service works](../app-provisioning/user-provisioning.md).
41+
1. Determine who will be in [scope for provisioning](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
42+
1. Determine what data to [map between Azure AD and Airtable](../app-provisioning/customize-application-attributes.md).
43+
44+
## Step 2. Configure Airtable to support provisioning with Azure AD
45+
Contact Airtable support to configure Airtable to support provisioning with Azure AD.
46+
47+
## Step 3. Add Airtable from the Azure AD application gallery
48+
49+
Add Airtable from the Azure AD application gallery to start managing provisioning to Airtable. If you have previously setup Airtable for SSO you can use the same application. However it's recommended that you create a separate app when testing out the integration initially. Learn more about adding an application from the gallery [here](../manage-apps/add-application-portal.md).
50+
51+
## Step 4. Define who will be in scope for provisioning
52+
53+
The Azure AD provisioning service allows you to scope who will be provisioned based on assignment to the application and or based on attributes of the user / group. If you choose to scope who will be provisioned to your app based on assignment, you can use the following [steps](../manage-apps/assign-user-or-group-access-portal.md) to assign users and groups to the application. If you choose to scope who will be provisioned based solely on attributes of the user or group, you can use a scoping filter as described [here](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
54+
55+
* Start small. Test with a small set of users and groups before rolling out to everyone. When scope for provisioning is set to assigned users and groups, you can control this by assigning one or two users or groups to the app. When scope is set to all users and groups, you can specify an [attribute based scoping filter](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
56+
57+
* If you need more roles, you can [update the application manifest](../develop/howto-add-app-roles-in-azure-ad-apps.md) to add new roles.
58+
59+
60+
## Step 5. Configure automatic user provisioning to Airtable
61+
62+
This section guides you through the steps to configure the Azure AD provisioning service to create, update, and disable users and/or groups in TestApp based on user and/or group assignments in Azure AD.
63+
64+
### To configure automatic user provisioning for Airtable in Azure AD:
65+
66+
1. Sign in to the [Azure portal](https://portal.azure.com). Select **Enterprise Applications**, then select **All applications**.
67+
68+
![Screenshot of Enterprise applications blade.](common/enterprise-applications.png)
69+
70+
1. In the applications list, select **Airtable**.
71+
72+
![Screenshot of the Airtable link in the Applications list.](common/all-applications.png)
73+
74+
1. Select the **Provisioning** tab.
75+
76+
![Screenshot of Provisioning tab.](common/provisioning.png)
77+
78+
1. Set the **Provisioning Mode** to **Automatic**.
79+
80+
![Screenshot of Provisioning tab automatic.](common/provisioning-automatic.png)
81+
82+
1. Under the **Admin Credentials** section, input your Airtable Tenant URL and Secret Token. Click **Test Connection** to ensure Azure AD can connect to Airtable. If the connection fails, ensure your Airtable account has Admin permissions and try again.
83+
84+
![Screenshot of Token.](common/provisioning-testconnection-tenanturltoken.png)
85+
86+
1. In the **Notification Email** field, enter the email address of a person or group who should receive the provisioning error notifications and select the **Send an email notification when a failure occurs** check box.
87+
88+
![Screenshot of Notification Email.](common/provisioning-notification-email.png)
89+
90+
1. Select **Save**.
91+
92+
1. Under the **Mappings** section, select **Synchronize Azure Active Directory Users to Airtable**.
93+
94+
1. Review the user attributes that are synchronized from Azure AD to Airtable in the **Attribute-Mapping** section. The attributes selected as **Matching** properties are used to match the user accounts in Airtable for update operations. If you choose to change the [matching target attribute](../app-provisioning/customize-application-attributes.md), you'll need to ensure that the Airtable API supports filtering users based on that attribute. Select the **Save** button to commit any changes.
95+
96+
|Attribute|Type|Supported for filtering|Required by Airtable|
97+
|---|---|---|---|
98+
|userName|String|✓|✓
99+
|active|Boolean||
100+
|displayName|String||
101+
|title|String||
102+
|emails[type eq "work"].value|String||
103+
|preferredLanguage|String||
104+
|name.givenName|String||✓
105+
|name.familyName|String||✓
106+
|name.formatted|String||
107+
|addresses[type eq "work"].formatted|String||
108+
|addresses[type eq "work"].streetAddress|String||
109+
|addresses[type eq "work"].locality|String||
110+
|addresses[type eq "work"].region|String||
111+
|addresses[type eq "work"].postalCode|String||
112+
|addresses[type eq "work"].country|String||
113+
|phoneNumbers[type eq "work"].value|String||
114+
|phoneNumbers[type eq "mobile"].value|String||
115+
|phoneNumbers[type eq "fax"].value|String||
116+
|externalId|String||
117+
|nickName|String||
118+
|urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber|String||
119+
|urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department|String||
120+
|urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:manager.value|String||
121+
|addresses[type eq "home"].formatted|String||
122+
|addresses[type eq "home"].streetAddress|String||
123+
|addresses[type eq "home"].locality|String||
124+
|addresses[type eq "home"].region|String||
125+
|addresses[type eq "home"].postalCode|String||
126+
|addresses[type eq "home"].country|String||
127+
|addresses[type eq "other"].formatted|String||
128+
|addresses[type eq "other"].streetAddress|String||
129+
|addresses[type eq "other"].locality|String||
130+
|addresses[type eq "other"].region|String||
131+
|addresses[type eq "other"].postalCode|String||
132+
|addresses[type eq "other"].country|String||
133+
|emails[type eq "home"].value|String||
134+
|emails[type eq "other"].value|String||
135+
|locale|String||
136+
|name.honorificPrefix|String||
137+
|name.honorificSuffix|String||
138+
|name.middleName|String||
139+
|name.familyName|String||
140+
|phoneNumbers[type eq "home"].value|String||
141+
|phoneNumbers[type eq "other"].value|String||
142+
|phoneNumbers[type eq "pager"].value|String||
143+
|timezone|String||
144+
|urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:costCenter|String||
145+
|urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:division|String||
146+
|urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:organization|String||
147+
|userType|String||
148+
149+
150+
1. Under the **Mappings** section, select **Synchronize Azure Active Directory Groups to Airtable**.
151+
152+
1. Review the group attributes that are synchronized from Azure AD to Airtable in the **Attribute-Mapping** section. The attributes selected as **Matching** properties are used to match the groups in Airtable for update operations. Select the **Save** button to commit any changes.
153+
154+
|Attribute|Type|Supported for filtering|Required by Airtable|
155+
|---|---|---|---|
156+
|displayName|String|✓|✓
157+
|members|Reference||
158+
159+
1. To configure scoping filters, refer to the following instructions provided in the [Scoping filter tutorial](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
160+
161+
1. To enable the Azure AD provisioning service for Airtable, change the **Provisioning Status** to **On** in the **Settings** section.
162+
163+
![Screenshot of Provisioning Status Toggled On.](common/provisioning-toggle-on.png)
164+
165+
1. Define the users and/or groups that you would like to provision to Airtable by choosing the desired values in **Scope** in the **Settings** section.
166+
167+
![Screenshot of Provisioning Scope.](common/provisioning-scope.png)
168+
169+
1. When you're ready to provision, click **Save**.
170+
171+
![Screenshot of Saving Provisioning Configuration.](common/provisioning-configuration-save.png)
172+
173+
This operation starts the initial synchronization cycle of all users and groups defined in **Scope** in the **Settings** section. The initial cycle takes longer to perform than subsequent cycles, which occur approximately every 40 minutes as long as the Azure AD provisioning service is running.
174+
175+
## Step 6. Monitor your deployment
176+
Once you've configured provisioning, use the following resources to monitor your deployment:
177+
178+
* Use the [provisioning logs](../reports-monitoring/concept-provisioning-logs.md) to determine which users have been provisioned successfully or unsuccessfully
179+
* Check the [progress bar](../app-provisioning/application-provisioning-when-will-provisioning-finish-specific-user.md) to see the status of the provisioning cycle and how close it's to completion
180+
* If the provisioning configuration seems to be in an unhealthy state, the application goes into quarantine. Learn more about quarantine states [here](../app-provisioning/application-provisioning-quarantine-status.md).
181+
182+
## More resources
183+
184+
* [Managing user account provisioning for Enterprise Apps](../app-provisioning/configure-automatic-user-provisioning-portal.md)
185+
* [What is application access and single sign-on with Azure Active Directory?](../manage-apps/what-is-single-sign-on.md)
186+
187+
## Next steps
188+
189+
* [Learn how to review logs and get reports on provisioning activity](../app-provisioning/check-status-user-account-provisioning.md)

articles/active-directory/saas-apps/dagster-cloud-provisioning-tutorial.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ The scenario outlined in this tutorial assumes that you already have the followi
3333

3434
* [An Azure AD tenant](../develop/quickstart-create-new-tenant.md)
3535
* A user account in Azure AD with [permission](../roles/permissions-reference.md) to configure provisioning (for example, Application Administrator, Cloud Application administrator, Application Owner, or Global Administrator).
36-
* A user account in Dagster Cloud with Admin permissions.
36+
* A user account in Dagster Cloud with Org Admin permissions.
3737

3838

3939
## Step 1. Plan your provisioning deployment
@@ -42,7 +42,12 @@ The scenario outlined in this tutorial assumes that you already have the followi
4242
1. Determine what data to [map between Azure AD and Dagster Cloud](../app-provisioning/customize-application-attributes.md).
4343

4444
## Step 2. Configure Dagster Cloud to support provisioning with Azure AD
45-
Contact Dagster Cloud support to configure Dagster Cloud to support provisioning with Azure AD.
45+
1. Sign in to your Dagster Cloud account.
46+
1. Click the **user menu (your icon) > Cloud Settings**.
47+
1. Click the **Provisioning** tab.
48+
1. If SCIM provisioning isn't enabled, click the **Enable SCIM provisioning** button to enable it.
49+
1. Click **Create SCIM token** to create an API token. This token will be used to authenticate requests from Azure AD to Dagster Cloud.
50+
Keep the API token handy - you'll need it later in step 5.
4651

4752
## Step 3. Add Dagster Cloud from the Azure AD application gallery
4853

@@ -79,7 +84,7 @@ This section guides you through the steps to configure the Azure AD provisioning
7984

8085
![Screenshot of Provisioning tab automatic.](common/provisioning-automatic.png)
8186

82-
1. Under the **Admin Credentials** section, input your Dagster Cloud Tenant URL and Secret Token. Click **Test Connection** to ensure Azure AD can connect to Dagster Cloud.
87+
1. Under the **Admin Credentials** section, input your Dagster Cloud Tenant URL and Secret Token. The Tenant URL is `https://*your-org-name*.dagster.cloud/scim/v2` and the Secret Token is the SCIM token you created in step 2 above. Click **Test Connection** to ensure Azure AD can connect to Dagster Cloud.
8388

8489
![Screenshot of Token.](common/provisioning-testconnection-tenanturltoken.png)
8590

articles/active-directory/saas-apps/infor-cloudsuite-provisioning-tutorial.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ Before configuring Infor CloudSuite for automatic user provisioning with Azure A
105105
This section guides you through the steps to configure the Azure AD provisioning service to create, update, and disable users and/or groups in Infor CloudSuite based on user and/or group assignments in Azure AD.
106106

107107
> [!TIP]
108-
> You may also choose to enable SAML-based single sign-on for Infor CloudSuite, following the instructions provided in the [Infor CloudSuite Single sign-on tutorial](./infor-cloud-suite-tutorial.md). Single sign-on can be configured independently of automatic user provisioning, though these two features compliment each other.
108+
> You may also choose to enable SAML-based single sign-on for Infor CloudSuite, following the instructions provided in the [Infor CloudSuite Single sign-on tutorial](./infor-cloud-suite-tutorial.md). Single sign-on can be configured independently of automatic user provisioning, though these two features complement each other.
109109
110110
### To configure automatic user provisioning for Infor CloudSuite in Azure AD:
111111

@@ -157,7 +157,7 @@ This section guides you through the steps to configure the Azure AD provisioning
157157
|urn:ietf:params:scim:schemas:extension:infor:2.0:User:actorId|String||
158158
|urn:ietf:params:scim:schemas:extension:infor:2.0:User:federationId|String||
159159
|urn:ietf:params:scim:schemas:extension:infor:2.0:User:ifsPersonId|String||
160-
|urn:ietf:params:scim:schemas:extension:infor:2.0:User:inUser|String||
160+
|urn:ietf:params:scim:schemas:extension:infor:2.0:User:lnUser|String||
161161
|urn:ietf:params:scim:schemas:extension:infor:2.0:User:userAlias|String||
162162

163163

0 commit comments

Comments
 (0)