Skip to content

Commit 601e94c

Browse files
authored
Merge pull request #215009 from v-missam/github-issues-6
doc-1
2 parents 065891e + b5ebdcc commit 601e94c

File tree

1 file changed

+40
-30
lines changed

1 file changed

+40
-30
lines changed

articles/active-directory/saas-apps/snowflake-provisioning-tutorial.md

Lines changed: 40 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ The scenario outlined in this tutorial assumes that you already have the followi
3737
* [An Azure AD tenant](../develop/quickstart-create-new-tenant.md)
3838
* A user account in Azure AD with [permission](../roles/permissions-reference.md) to configure provisioning (Application Administrator, Cloud Application Administrator, Application Owner, or Global Administrator)
3939
* [A Snowflake tenant](https://www.Snowflake.com/pricing/)
40-
* A user account in Snowflake with admin permissions
40+
* At least one user in Snowflake with the **ACCOUNTADMIN** role.
4141

4242
## Step 1: Plan your provisioning deployment
4343

@@ -65,19 +65,19 @@ Before you configure Snowflake for automatic user provisioning with Azure AD, yo
6565
select system$generate_scim_access_token('AAD_PROVISIONING');
6666
```
6767

68-
2. Use the ACCOUNTADMIN role.
68+
1. Use the ACCOUNTADMIN role.
6969

7070
![Screenshot of a worksheet in the Snowflake UI with the SCIM access token called out.](media/Snowflake-provisioning-tutorial/step-2.png)
7171

72-
3. Create the custom role AAD_PROVISIONER. All users and roles in Snowflake created by Azure AD will be owned by the scoped down AAD_PROVISIONER role.
72+
1. Create the custom role AAD_PROVISIONER. All users and roles in Snowflake created by Azure AD will be owned by the scoped down AAD_PROVISIONER role.
7373

7474
![Screenshot showing the custom role.](media/Snowflake-provisioning-tutorial/step-3.png)
7575

76-
4. Let the ACCOUNTADMIN role create the security integration using the AAD_PROVISIONER custom role.
76+
1. Let the ACCOUNTADMIN role create the security integration using the AAD_PROVISIONER custom role.
7777

7878
![Screenshot showing the security integrations.](media/Snowflake-provisioning-tutorial/step-4.png)
7979

80-
5. Create and copy the authorization token to the clipboard and store securely for later use. Use this token for each SCIM REST API request and place it in the request header. The access token expires after six months and a new access token can be generated with this statement.
80+
1. Create and copy the authorization token to the clipboard and store securely for later use. Use this token for each SCIM REST API request and place it in the request header. The access token expires after six months and a new access token can be generated with this statement.
8181

8282
![Screenshot showing the token generation.](media/Snowflake-provisioning-tutorial/step-5.png)
8383

@@ -103,35 +103,37 @@ To configure automatic user provisioning for Snowflake in Azure AD:
103103

104104
1. Sign in to the [Azure portal](https://portal.azure.com). Select **Enterprise applications** > **All applications**.
105105

106-
![Screenshot that shows the Enterprise applications pane.](common/enterprise-applications.png)
106+
![Screenshot that shows the Enterprise applications pane.](common/enterprise-applications.png)
107107

108-
2. In the list of applications, select **Snowflake**.
108+
1. In the list of applications, select **Snowflake**.
109109

110-
![Screenshot that shows a list of applications.](common/all-applications.png)
110+
![Screenshot that shows a list of applications.](common/all-applications.png)
111111

112-
3. Select the **Provisioning** tab.
112+
1. Select the **Provisioning** tab.
113113

114-
![Screenshot of the Manage options with the Provisioning option called out.](common/provisioning.png)
114+
![Screenshot of the Manage options with the Provisioning option called out.](common/provisioning.png)
115115

116-
4. Set **Provisioning Mode** to **Automatic**.
116+
1. Set **Provisioning Mode** to **Automatic**.
117117

118-
![Screenshot of the Provisioning Mode drop-down list with the Automatic option called out.](common/provisioning-automatic.png)
118+
![Screenshot of the Provisioning Mode drop-down list with the Automatic option called out.](common/provisioning-automatic.png)
119119

120-
5. In the **Admin Credentials** section, enter the SCIM 2.0 base URL and authentication token that you retrieved earlier in the **Tenant URL** and **Secret Token** boxes, respectively.
120+
1. In the **Admin Credentials** section, enter the SCIM 2.0 base URL and authentication token that you retrieved earlier in the **Tenant URL** and **Secret Token** boxes, respectively.
121+
>[!NOTE]
122+
>The Snowflake SCIM endpoint consists of the Snowflake account URL appended with `/scim/v2/`. For example, if your Snowflake account name is `acme` and your Snowflake account is in the `east-us-2` Azure region, the **Tenant URL** value is `https://acme.east-us-2.azure.snowflakecomputing.com/scim/v2`.
121123
122124
Select **Test Connection** to ensure that Azure AD can connect to Snowflake. If the connection fails, ensure that your Snowflake account has admin permissions and try again.
123125

124-
![Screenshot that shows boxes for tenant URL and secret token, along with the Test Connection button.](common/provisioning-testconnection-tenanturltoken.png)
126+
![Screenshot that shows boxes for tenant URL and secret token, along with the Test Connection button.](common/provisioning-testconnection-tenanturltoken.png)
125127

126-
6. In the **Notification Email** box, enter the email address of a person or group who should receive the provisioning error notifications. Then select the **Send an email notification when a failure occurs** check box.
128+
1. In the **Notification Email** box, enter the email address of a person or group who should receive the provisioning error notifications. Then select the **Send an email notification when a failure occurs** check box.
127129

128-
![Screenshot that shows boxes for notification email.](common/provisioning-notification-email.png)
130+
![Screenshot that shows boxes for notification email.](common/provisioning-notification-email.png)
129131

130-
7. Select **Save**.
132+
1. Select **Save**.
131133

132-
8. In the **Mappings** section, select **Synchronize Azure Active Directory Users to Snowflake**.
134+
1. In the **Mappings** section, select **Synchronize Azure Active Directory Users to Snowflake**.
133135

134-
9. Review the user attributes that are synchronized from Azure AD to Snowflake in the **Attribute Mapping** section. The attributes selected as **Matching** properties are used to match the user accounts in Snowflake for update operations. Select the **Save** button to commit any changes.
136+
1. Review the user attributes that are synchronized from Azure AD to Snowflake in the **Attribute Mapping** section. The attributes selected as **Matching** properties are used to match the user accounts in Snowflake for update operations. Select the **Save** button to commit any changes.
135137

136138
|Attribute|Type|
137139
|---|---|
@@ -141,33 +143,41 @@ To configure automatic user provisioning for Snowflake in Azure AD:
141143
|userName|String|
142144
|name.givenName|String|
143145
|name.familyName|String|
144-
|urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:defaultRole|String|
145-
|urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:defaultWarehouse|String|
146+
|externalId|String|
146147

147-
10. In the **Mappings** section, select **Synchronize Azure Active Directory Groups to Snowflake**.
148+
>[!NOTE]
149+
>Snowflake supported custom extension user attributes during SCIM provisioning:
150+
>* DEFAULT_ROLE
151+
>* DEFAULT_WAREHOUSE
152+
>* DEFAULT_SECONDARY_ROLES
153+
>* SNOWFLAKE NAME AND LOGIN_NAME FIELDS TO BE DIFFERENT
148154
149-
11. Review the group attributes that are synchronized from Azure AD to Snowflake in the **Attribute Mapping** section. The attributes selected as **Matching** properties are used to match the groups in Snowflake for update operations. Select the **Save** button to commit any changes.
155+
> How to set up Snowflake custom extension attributes in Azure AD SCIM user provisioning is explained [here](https://community.snowflake.com/s/article/HowTo-How-to-Set-up-Snowflake-Custom-Attributes-in-Azure-AD-SCIM-for-Default-Roles-and-Default-Warehouses).
156+
157+
1. In the **Mappings** section, select **Synchronize Azure Active Directory Groups to Snowflake**.
158+
159+
1. Review the group attributes that are synchronized from Azure AD to Snowflake in the **Attribute Mapping** section. The attributes selected as **Matching** properties are used to match the groups in Snowflake for update operations. Select the **Save** button to commit any changes.
150160

151161
|Attribute|Type|
152162
|---|---|
153163
|displayName|String|
154164
|members|Reference|
155165

156-
12. To configure scoping filters, see the instructions in the [Scoping filter tutorial](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
166+
1. To configure scoping filters, see the instructions in the [Scoping filter tutorial](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
157167

158-
13. To enable the Azure AD provisioning service for Snowflake, change **Provisioning Status** to **On** in the **Settings** section.
168+
1. To enable the Azure AD provisioning service for Snowflake, change **Provisioning Status** to **On** in the **Settings** section.
159169

160-
![Screenshot that shows Provisioning Status switched on.](common/provisioning-toggle-on.png)
170+
![Screenshot that shows Provisioning Status switched on.](common/provisioning-toggle-on.png)
161171

162-
14. Define the users and groups that you want to provision to Snowflake by choosing the desired values in **Scope** in the **Settings** section.
172+
1. Define the users and groups that you want to provision to Snowflake by choosing the desired values in **Scope** in the **Settings** section.
163173

164174
If this option is not available, configure the required fields under **Admin Credentials**, select **Save**, and refresh the page.
165175

166-
![Screenshot that shows choices for provisioning scope.](common/provisioning-scope.png)
176+
![Screenshot that shows choices for provisioning scope.](common/provisioning-scope.png)
167177

168-
15. When you're ready to provision, select **Save**.
178+
1. When you're ready to provision, select **Save**.
169179

170-
![Screenshot of the button for saving a provisioning configuration.](common/provisioning-configuration-save.png)
180+
![Screenshot of the button for saving a provisioning configuration.](common/provisioning-configuration-save.png)
171181

172182
This operation starts the initial synchronization of all users and groups defined in **Scope** in the **Settings** section. The initial sync takes longer to perform than subsequent syncs. Subsequent syncs occur about every 40 minutes, as long as the Azure AD provisioning service is running.
173183

0 commit comments

Comments
 (0)