|
| 1 | +--- |
| 2 | +title: 'Tutorial: Configure Azure Databricks SCIM Connector for automatic user provisioning with Azure Active Directory | Microsoft Docs' |
| 3 | +description: Learn how to automatically provision and de-provision user accounts from Azure AD to Azure Databricks SCIM Connector. |
| 4 | +services: active-directory |
| 5 | +documentationcenter: '' |
| 6 | +author: Zhchia |
| 7 | +writer: Zhchia |
| 8 | +manager: beatrizd |
| 9 | + |
| 10 | +ms.assetid: b16eaf27-4bd1-4509-be2c-9a4f66b6badc |
| 11 | +ms.service: active-directory |
| 12 | +ms.subservice: saas-app-tutorial |
| 13 | +ms.workload: identity |
| 14 | +ms.tgt_pltfrm: na |
| 15 | +ms.devlang: na |
| 16 | +ms.topic: article |
| 17 | +ms.date: 01/15/2020 |
| 18 | +ms.author: Zhchia |
| 19 | +--- |
| 20 | + |
| 21 | +# Tutorial: Configure Azure Databricks SCIM Connector for automatic user provisioning |
| 22 | + |
| 23 | +This tutorial describes the steps you need to perform in both Azure Databricks SCIM Connector and Azure Active Directory (Azure AD) to configure automatic user provisioning. When configured, Azure AD automatically provisions and de-provisions users and groups to [Azure Databricks SCIM Connector](https://databricks.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](../manage-apps/user-provisioning.md). |
| 24 | + |
| 25 | + |
| 26 | +## Capabilities supported |
| 27 | +> [!div class="checklist"] |
| 28 | +> * Create users in Azure Databricks SCIM Connector |
| 29 | +> * Remove users in Azure Databricks SCIM Connector when they do not require access anymore |
| 30 | +> * Keep user attributes synchronized between Azure AD and Azure Databricks SCIM Connector |
| 31 | +> * Provision groups and group memberships in Azure Databricks SCIM Connector |
| 32 | +
|
| 33 | +## Prerequisites |
| 34 | + |
| 35 | +The scenario outlined in this tutorial assumes that you already have the following prerequisites: |
| 36 | + |
| 37 | +* [An Azure AD tenant](https://docs.microsoft.com/azure/active-directory/develop/quickstart-create-new-tenant) |
| 38 | +* A user account in Azure AD with [permission](https://docs.microsoft.com/azure/active-directory/users-groups-roles/directory-assign-admin-roles) to configure provisioning (e.g. Application Administrator, Cloud Application administrator, Application Owner, or Global Administrator). |
| 39 | +* An Azure Databricks account with admin permissions. |
| 40 | + |
| 41 | +## Step 1. Plan your provisioning deployment |
| 42 | +1. Learn about [how the provisioning service works](https://docs.microsoft.com/azure/active-directory/manage-apps/user-provisioning). |
| 43 | +2. Determine who will be in [scope for provisioning](https://docs.microsoft.com/azure/active-directory/manage-apps/define-conditional-rules-for-provisioning-user-accounts). |
| 44 | +3. Determine what data to [map between Azure AD and Azure Databricks SCIM Connector](https://docs.microsoft.com/azure/active-directory/manage-apps/customize-application-attributes). |
| 45 | + |
| 46 | +## Step 2. Configure Azure Databricks SCIM Connector to support provisioning with Azure AD |
| 47 | + |
| 48 | +1. To set up Azure Databricks SCIM provisioning, add it as a resource in your Azure Active Directory tenant and configure it using the settings below. |
| 49 | + |
| 50 | +  |
| 51 | + |
| 52 | +2. To Generate a personal access token in Azure Databricks refer [this](https://docs.microsoft.com/azure/databricks/dev-tools/api/latest/authentication#token-management). |
| 53 | + |
| 54 | +3. Copy the **Token**. This value will be entered in the Secret Token field in the Provisioning tab of your Azure Databricks SCIM Connector application in the Azure portal. |
| 55 | + |
| 56 | +## Step 3. Add Azure Databricks SCIM Connector from the Azure AD application gallery |
| 57 | + |
| 58 | +Add Azure Databricks SCIM Connector from the Azure AD application gallery to start managing provisioning to Azure Databricks SCIM Connector. If you have previously setup Azure Databricks SCIM Connector for SSO you can use the same application. However it is recommended that you create a separate app when testing out the integration initially. Learn more about adding an application from the gallery [here](https://docs.microsoft.com/azure/active-directory/manage-apps/add-gallery-app). |
| 59 | + |
| 60 | +## Step 4. Define who will be in scope for provisioning |
| 61 | + |
| 62 | +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](https://docs.microsoft.com/azure/active-directory/manage-apps/define-conditional-rules-for-provisioning-user-accounts). |
| 63 | + |
| 64 | +* When assigning users and groups to Azure Databricks SCIM Connector, you must select a role other than **Default Access**. Users with the Default Access role are excluded from provisioning and will be marked as not effectively entitled in the provisioning logs. If the only role available on the application is the default access role, you can [update the application manifest](https://docs.microsoft.com/azure/active-directory/develop/howto-add-app-roles-in-azure-ad-apps) to add additional roles. |
| 65 | + |
| 66 | +* 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](https://docs.microsoft.com/azure/active-directory/manage-apps/define-conditional-rules-for-provisioning-user-accounts). |
| 67 | + |
| 68 | + |
| 69 | +## Step 5. Configure automatic user provisioning to Azure Databricks SCIM Connector |
| 70 | + |
| 71 | +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. |
| 72 | + |
| 73 | +> [!NOTE] |
| 74 | +> To learn more about Azure Databricks' SCIM endpoint, refer [this](https://docs.databricks.com/dev-tools/api/latest/scim.html |
| 75 | +). |
| 76 | + |
| 77 | +### To configure automatic user provisioning for Azure Databricks SCIM Connector in Azure AD: |
| 78 | + |
| 79 | +1. Sign in to the [Azure portal](https://portal.azure.com). Select **Enterprise Applications**, then select **All applications**. |
| 80 | + |
| 81 | +  |
| 82 | + |
| 83 | +2. In the applications list, select **Azure Databricks SCIM Connector**. |
| 84 | + |
| 85 | +  |
| 86 | + |
| 87 | +3. Select the **Provisioning** tab. |
| 88 | + |
| 89 | +  |
| 90 | + |
| 91 | +4. Set the **Provisioning Mode** to **Automatic**. |
| 92 | + |
| 93 | +  |
| 94 | + |
| 95 | +5. Under the **Admin Credentials** section, input your Azure Databricks SCIM Connector admin credentials and username. Click **Test Connection** to ensure Azure AD can connect to Azure Databricks SCIM Connector. If the connection fails, ensure your Azure Databricks SCIM Connector account has Admin permissions and try again. |
| 96 | + |
| 97 | +  |
| 98 | + |
| 99 | +6. 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. |
| 100 | + |
| 101 | +  |
| 102 | + |
| 103 | +7. Select **Save**. |
| 104 | + |
| 105 | +8. Under the **Mappings** section, select **Synchronize Azure Active Directory Users to Azure Databricks SCIM Connector**. |
| 106 | + |
| 107 | +9. Review the user attributes that are synchronized from Azure AD to Azure Databricks SCIM Connector in the **Attribute-Mapping** section. The attributes selected as **Matching** properties are used to match the user accounts in Azure Databricks SCIM Connector for update operations. If you choose to change the [matching target attribute](https://docs.microsoft.com/azure/active-directory/manage-apps/customize-application-attributes), you will need to ensure that the Azure Databricks SCIM Connector API supports filtering users based on that attribute. Select the **Save** button to commit any changes. |
| 108 | + |
| 109 | + |Attribute|Type| |
| 110 | + |---|---| |
| 111 | + |userName|String| |
| 112 | + |displayName|String| |
| 113 | + |active|Boolean| |
| 114 | + |
| 115 | +10. Under the **Mappings** section, select **Synchronize Azure Active Directory Groups to Azure Databricks SCIM Connector**. |
| 116 | + |
| 117 | +11. Review the group attributes that are synchronized from Azure AD to Azure Databricks SCIM Connector in the **Attribute-Mapping** section. The attributes selected as **Matching** properties are used to match the groups in Azure Databricks SCIM Connector for update operations. Select the **Save** button to commit any changes. |
| 118 | + |
| 119 | + |Attribute|Type| |
| 120 | + |---|---| |
| 121 | + |displayName|String| |
| 122 | + |members|Reference| |
| 123 | + |
| 124 | +11. Under the **Mappings** section, select **Synchronize Azure Active Directory Groups to Azure Databricks SCIM Connector**. |
| 125 | + |
| 126 | +12. To enable the Azure AD provisioning service for Azure Databricks SCIM Connector, change the **Provisioning Status** to **On** in the **Settings** section. |
| 127 | + |
| 128 | +  |
| 129 | + |
| 130 | +13. Define the users and/or groups that you would like to provision to Azure Databricks SCIM Connector by choosing the desired values in **Scope** in the **Settings** section. |
| 131 | + |
| 132 | +  |
| 133 | + |
| 134 | +14. When you are ready to provision, click **Save**. |
| 135 | + |
| 136 | +  |
| 137 | + |
| 138 | +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. |
| 139 | + |
| 140 | +## Step 6. Monitor your deployment |
| 141 | +Once you've configured provisioning, use the following resources to monitor your deployment: |
| 142 | + |
| 143 | +* Use the [provisioning logs](https://docs.microsoft.com/azure/active-directory/reports-monitoring/concept-provisioning-logs) to determine which users have been provisioned successfully or unsuccessfully |
| 144 | +* Check the [progress bar](https://docs.microsoft.com/azure/active-directory/manage-apps/application-provisioning-when-will-provisioning-finish-specific-user) to see the status of the provisioning cycle and how close it is to completion |
| 145 | +* If the provisioning configuration seems to be in an unhealthy state, the application will go into quarantine. Learn more about quarantine states [here](https://docs.microsoft.com/azure/active-directory/manage-apps/application-provisioning-quarantine-status). |
| 146 | + |
| 147 | +## Troubleshooting tips |
| 148 | +* Databricks always converts their username values to lower case when saving to their directory regardless of the capitalization we send to them via SCIM. |
| 149 | +* Currently GET requests against Azure Databricks’ SCIM API for users are case sensitive, so if we query for [email protected] it will come up with 0 results as they store it as [email protected]. |
| 150 | + |
| 151 | +## Additional resources |
| 152 | + |
| 153 | +* [Managing user account provisioning for Enterprise Apps](../manage-apps/configure-automatic-user-provisioning-portal.md) |
| 154 | +* [What is application access and single sign-on with Azure Active Directory?](../manage-apps/what-is-single-sign-on.md) |
| 155 | + |
| 156 | +## Next steps |
| 157 | + |
| 158 | +* [Learn how to review logs and get reports on provisioning activity](../manage-apps/check-status-user-account-provisioning.md) |
0 commit comments