SCIM Integration
🚀 Cloud EnterpriseSCIM Integration is only available on Lightdash Enterprise plans. For more information on our plans, visit our pricing page.
Summary​
This document describes the steps required to integrate Azure or Okta SCIM protocol into your Enterprise instance. This provides a connection for Azure or Okta to manage users and groups within your organization.
SCIM Setup within Lightdash​
Sign into your Lightdash instance, click your initials at the top-right, and select User Settings.
In the sidebar, select SCIM Access Tokens.
Click Generate new token.
- Give it a name and an optional expiration date.
Once generated, copy and save it in a safe place, as it cannot be viewed again once the modal is closed.
Note: Now you will also be able to see your SCIM URL at the top of the page. You will need this when connecting an external SCIM service, such as Okta or Azure.
Okta Integration​
You'll need administrative permissions to configure SCIM for your organization
Step 1 - Add or Create Application in Okta​
You can skip this step if you have Azure SSO already configured. An application will already be present.
Visit your Okta account and sign in.
In the sidebar, click Applications > Browse App Catalog.
Search for "SCIM" and select SCIM 2.0 Test App (Header Auth).
Click + Add Integration.
Give it a friendly name and click Next.
Change Application username format to email.
Save your configuration by clicking Done.
Step 2 - Connect SCIM to Lightdash from Okta​
In the sidebar, click Applications > Applications.
Select your application and go to the Provisioning tab.
Select Configure API Integration.
Check the Enable API integration checkbox.
Fill in the following fields:
- Base URL:
https://YOUR_APP_URL/api/v1/scim/v2/
- API Token:
Bearer YOUR_SCIM_TOKEN
(See SCIM Setup within Lightdash above for generating a token)
- Base URL:
Save your configuration.
More options should be available. In Provisioning > To App, select Edit.
- Enable Create Users.
- Enable Update User Attributes.
- Enable Deactivate Users.
- Click Save.
Test the integration by clicking Assignments. Select Assign > Assign to people. Choose a user and click Assign > Save and Go Back. This user should be created in your Lightdash instance.
Lightdash will sync the active status from Okta to Lightdash. For example, if a user is provisioned as inactive or is deactivated in Okta, that user will still exist in Lightdash marked as inactive, meaning they will be unable to use the platform.
Azure Integration​
You'll need Hybrid identity administrator
permissions to configure SCIM for your organization
Step 1 - Connect SCIM to Lightdash from Azure​
Visit Entra ID and sign in.
In the sidebar, click Applications > Enterprise applications.
Select + New Registration.
At the top of the page, select + Create Your own application.
- Add a friendly title.
- Leave the default "Non-gallery" option selected.
- Click Test Connection to verify the credentials are correct.
Save your configuration by clicking Create.
Step 2 - Connect SCIM to Lightdash from Azure​
Navigate to Applications > Enterprise applications and select your application.
Select Users and groups > + Add user/group.
Click None selected, which will open a modal.
- Select any users and groups you want to provision and then close the modal with Select.
Click Assign to save.
Select Provision > Start provisioning.
After a few minutes, your users and groups will be synced.
Lightdash will sync the active status from Azure to Lightdash. For example, if a user is provisioned as inactive or is deactivated in Azure, that user will still exist in Lightdash marked as inactive, meaning they will be unable to use the platform.
Rotating a SCIM access token​
To maintain security, you may want to rotate your SCIM access tokens periodically. Follow these steps to rotate an existing token.
Requirements for Rotation
- Token UUID: To rotate a token, you’ll need its unique identifier (UUID), which you can find on the tokens page in your organization settings.
- Expiration Date: You must specify a new expiration date when rotating a token. Tokens without an expiration cannot be rotated.
- Time Interval: Tokens can only be rotated once per hour.
Use the following curl command to rotate a SCIM access token. Replace <scim-access-token-uuid>
with the UUID of the token you wish to rotate,
and <personal-access-token>
with your personal access token.
This process will invalidate the previous token and return a new token with the specified expiration date.
curl --location --request PATCH 'https://my.lightdash.com/api/v1/scim/organization-access-tokens/<personal-access-token-uuid>/rotate' \
--header 'Content-Type: application/json' \
--header 'Authorization: ApiKey <personal-access-token>' \
--data '{
"expiresAt": "2025-12-13T16:10:04.976Z"
}'
Example response:
{
"status": "ok",
"results": {
"uuid": "bf677698-502e-4ed6-aa90-02a17999c379",
"organizationUuid": "172a2270-000f-42be-9c68-c4752c23ae51",
"description": "rotate token",
"createdAt": "2024-11-18T13:50:21.241Z",
"expiresAt": "2025-12-13T16:10:04.976Z",
"lastUsedAt": "2024-11-18T14:24:41.367Z",
"rotatedAt": "2024-11-18T15:15:24.361Z",
"token": "scim_204b5ccaf4d11e656efbf1f68986028a"
}
}
To get a token metadata, use the following curl command:
curl --location 'http://localhost:3000/api/v1/scim/organization-access-tokens/<personal-access-token-uuid>' \
--header 'Authorization: ApiKey <personal-access-token>'
Example response:
{
"status": "ok",
"results": {
"uuid": "bf677698-502e-4ed6-aa90-02a17999c379",
"organizationUuid": "172a2270-000f-42be-9c68-c4752c23ae51",
"description": "Okta SCIM token",
"createdAt": "2024-11-18T13:50:21.241Z",
"expiresAt": "2025-12-13T16:10:04.976Z",
"lastUsedAt": "2024-11-18T14:24:41.367Z",
"rotatedAt": "2024-11-18T14:10:51.460Z"
}
}
To list all tokens, use the following curl command:
curl --location 'http://localhost:3000/api/v1/scim/organization-access-tokens' \
--header 'Authorization: ApiKey <personal-access-token>'
Example response:
{
"status": "ok",
"results": [
{
"uuid": "bf677698-502e-4ed6-aa90-02a17999c379",
"organizationUuid": "172a2270-000f-42be-9c68-c4752c23ae51",
"description": "Okta SCIM token",
"createdAt": "2024-11-18T13:50:21.241Z",
"expiresAt": "2025-12-13T16:10:04.976Z",
"lastUsedAt": "2024-11-18T14:24:41.367Z",
"rotatedAt": "2024-11-18T14:10:51.460Z"
}
]
}