2024-04-17 19:18:45 +05:30
---
2024-05-21 09:13:04 +05:30
title: "SCIM Integration: MS Entra and DataHub"
2024-04-17 19:18:45 +05:30
hide_title: true
---
2025-04-16 16:55:51 -07:00
2024-04-17 19:18:45 +05:30
import FeatureAvailability from '@site/src/components/FeatureAvailability ';
2024-05-21 09:13:04 +05:30
## SCIM Integration: MS Entra and DataHub
2025-04-16 16:55:51 -07:00
2024-04-17 19:18:45 +05:30
< FeatureAvailability saasOnly / >
2024-05-21 09:13:04 +05:30
## Overview
2025-04-16 16:55:51 -07:00
2024-05-21 09:13:04 +05:30
On completion of this setup the MS Entra will automatically manage the groups/users/roles from MS Entra to DataHub.
2025-04-16 16:55:51 -07:00
Consider following configuration in MS Entra
- A group `governance-team` group
2024-05-21 09:13:04 +05:30
- And it has two memeber `john` and `sid`
- And the group has role `Reader`
If you configure the `governance-team` for auto provisioning, MS Entra will creates the `governance-team` group and it's member automatically on DataHub and set the `Reader` roles on users.
If you remove `john` from group `governance-team` then MS Entra will automatically removes the `john` from DataHub's `governance-team` group.
If you permanently deletes a user or group from MS Entra then MS Entra will automatically deletes the user or group from the DataHub.
> MS Entra doesn't send the user's password on user creation and hence DataHub Admin need to reset their password to be able to login into the DataHub.
> Only Admin, Editor and Reader roles are supported in DataHub. These roles are preconfigured/created on DataHub
## Configuring User/Group/Roles provisioning from MS Entra to DataHub
2024-04-17 19:18:45 +05:30
2025-04-16 16:55:51 -07:00
1. **Generate Personal Access Token** :
Generate a personal access token from [DataHub ](../../docs/authentication/personal-access-tokens.md#creating-personal-access-tokens ).
2024-04-17 19:18:45 +05:30
2. **Integrate DataHub With MS Entra** : Follow steps [Integrate your SCIM endpoint with the Microsoft Entra provisioning service ](https://learn.microsoft.com/en-gb/entra/identity/app-provisioning/use-scim-to-provision-users-and-groups#integrate-your-scim-endpoint-with-the-microsoft-entra-provisioning-service ) to integrate DataHub SCIM endpoint into MS Entra.
2025-04-16 16:55:51 -07:00
a. Set the `Tenant URL` to `https://<hostname>/gms/openapi/scim/v2` . Replace `<hostname>` with your DataHub instance hostname.
b. Set the `Secret Token` to Personal Access Token created in Step 1.
3. **Update Attribute Mapping For Role** :
2024-04-17 19:18:45 +05:30
2025-04-16 16:55:51 -07:00
a. Go to `Provisioning` section inside the App and click on `Provision Microsoft Entra ID Users` as shown in below image
2024-04-17 19:18:45 +05:30
2025-04-16 16:55:51 -07:00
< p >
< img width = "70%" src = "https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/scim/provisioning.png" / >
< / p >
2024-04-17 19:18:45 +05:30
2025-04-16 16:55:51 -07:00
b. Click on `Add Mapping`
2024-04-17 19:18:45 +05:30
2025-04-16 16:55:51 -07:00
< p >
< img width = "70%" src = "https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/scim/add-new-mapping.png" / >
< / p >
2024-04-17 19:18:45 +05:30
2025-04-16 16:55:51 -07:00
c. Fill detail as shown in below image
2024-04-17 19:18:45 +05:30
2025-04-16 16:55:51 -07:00
Fill listed fields
2024-04-17 19:18:45 +05:30
2025-04-16 16:55:51 -07:00
- Set `Mapping type` to `Expression`
- Set `Expression` to `SingleAppRoleAssignment([appRoleAssignments])`
- Set `Target attribute` to `roles[primary eq "True"].value`
- Set `Match objects using this attribute` to `No`
- Set `Apply this mapping` to `Always`
2024-04-17 19:18:45 +05:30
2025-04-16 16:55:51 -07:00
< p >
< img width = "70%" src = "https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/scim/edit-mapping-form.png" / >
< / p >
2024-05-21 09:13:04 +05:30
2025-04-16 16:55:51 -07:00
d. **Create Role** : Go back to the app created in Step #1 and go to the Provisioning section and click on application registration. to create the role
2024-04-17 19:18:45 +05:30
2025-04-16 16:55:51 -07:00
< p >
< img width = "70%" src = "https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/scim/application-registration.png" / >
< / p >
2024-04-17 19:18:45 +05:30
2025-04-16 16:55:51 -07:00
Create three roles having `Display Name` and `Value` as mentioned below
2024-04-17 19:18:45 +05:30
2025-04-16 16:55:51 -07:00
- Admin
- Editor
- Reader
2024-04-17 19:18:45 +05:30
2025-04-16 16:55:51 -07:00
Only these three roles are supported in DataHub.
2024-04-17 19:18:45 +05:30
2025-04-16 16:55:51 -07:00
e. While creating the App Role set `Allowed member types` to `Users/Groups`
2024-05-21 09:13:04 +05:30
2025-04-16 16:55:51 -07:00
4. **Add Users/Groups/Roles in the App** : Go to application created in step #1 and click on `Add user/group` as shown in below image
2024-04-17 19:18:45 +05:30
2025-04-16 16:55:51 -07:00
< p >
< img width = "70%" src = "https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/scim/add-user-group.png" / >
< / p >
2024-04-17 19:18:45 +05:30
2025-04-16 16:55:51 -07:00
On the screen choose
2024-04-17 19:18:45 +05:30
2025-04-16 16:55:51 -07:00
- Group/User
- And role for the Group/User. The role should be one of the role created in Step 3