-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add automatic team provisioning instructions #27413
base: master
Are you sure you want to change the base?
Changes from 3 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -2,6 +2,10 @@ | |||||
title: Configure SCIM with Okta | ||||||
algolia: | ||||||
tags: ["scim", "identity provider", "IdP", "Okta"] | ||||||
further_reading: | ||||||
- link: '/account_management/scim/' | ||||||
tag: 'Documentation' | ||||||
text: 'User Provisioning with SCIM' | ||||||
--- | ||||||
|
||||||
See the following instructions to synchronize your Datadog users with Okta using SCIM. | ||||||
|
@@ -31,9 +35,9 @@ When using SAML and SCIM together, Datadog strongly recommends disabling SAML ju | |||||
## Configure automatic user provisioning | ||||||
|
||||||
1. In the application management screen, select **Provisioning** in the left panel | ||||||
2. Click **Configuration API integration**. | ||||||
2. Click **Configure API integration**. | ||||||
3. Select **Enable API integration**. | ||||||
3. Complete the **Credentials** section as follows: | ||||||
4. Complete the **Credentials** section as follows: | ||||||
- **Base URL**: `https://{{< region-param key="dd_full_site" >}}/api/v2/scim` **Note:** Use the appropriate subdomain for your site. To find your URL, see [Datadog sites][3]. | ||||||
- **API Token**: Use a valid Datadog application key. You can create an application key on [your organization settings page][4]. To maintain continuous access to your data, use a [service account][5] application key. | ||||||
|
||||||
|
@@ -47,12 +51,79 @@ When using SAML and SCIM together, Datadog strongly recommends disabling SAML ju | |||||
- **Deactivate Users** | ||||||
8. Under **Datadog Attribute Mappings**, find the mapping of Okta attributes to Datadog attributes already pre-configured. You can re-map them if needed, but map the Okta values to the same set of Datadog values. | ||||||
|
||||||
### Group attributes | ||||||
## Configure automatic team provisioning | ||||||
|
||||||
Group mapping is not supported. | ||||||
{{< callout url="/help/" header="false" >}} | ||||||
The Managed Teams feature is turned off by default. Request access by contacting support. | ||||||
{{< /callout >}} | ||||||
|
||||||
With [Managed Teams][6], you control the core provisioning of a Datadog Team — its name, handle, and membership — through the identity provider. The setup process differs depending on whether the team already exists in Datadog. | ||||||
|
||||||
**Note:** Users must exist in Datadog before you can add them to a team. Therefore, you must assign users to the Datadog app in Okta to ensure that they are created in Datadog through SCIM. Assign the Datadog application to your Okta group to ensure that all team members are created in Datadog automatically. | ||||||
|
||||||
### Create a new team | ||||||
|
||||||
1. In your Datadog application in Okta, navigate to the **Push Groups** tab. | ||||||
{{< img src="/account_management/scim/okta/pushed-groups.png" alt="Okta pushed groups configuration interface">}} | ||||||
1. Click the **Push Groups** button. The pushed groups interface opens. | ||||||
1. Select the Okta group you want to push to Datadog. | ||||||
1. In the **Match result & push action** column, ensure **Create group** is selected | ||||||
1. Click **Save**. | ||||||
|
||||||
To verify that the operation completed successfully, navigate to the [Teams list][7]. Search for a Datadog team matching the Okta group you configured. Verify that the team exists in Datadog and is managed externally. | ||||||
|
||||||
{{< img src="/account_management/scim/okta/managed-externally.png" alt="Datadog team list showing a team called Cool group that is managed externally.">}} | ||||||
|
||||||
### Synchronize an existing Datadog Team with an Okta group | ||||||
|
||||||
You can map an existing Datadog Team to an Okta group. Establishing a link from the Okta group to the Datadog Team causes the Datadog Team to be managed by Okta going forward. | ||||||
|
||||||
**Note:** In order to synchronize an existing Datadog Team with an Okta group, the two names must match exactly. | ||||||
|
||||||
1. In your Datadog application in Okta, navigate to the **Push Groups** tab. | ||||||
1. Click the **Push Groups** button. The pushed groups interface opens. | ||||||
1. Select the Okta group you want to synchronize with a Datadog Team. | ||||||
1. In the **Match result & push action** column, ensure **Create group** is selected | ||||||
1. Click **Save**. | ||||||
|
||||||
**Note:** Okta may display a **No match found** message, because it only returns managed groups. You can ignore this message and proceed with creating the group to establish synchronization. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
### Delete the connection between an Okta group and a Datadog Team | ||||||
|
||||||
You have two options for disconnecting an Okta group from a Datadog Team, with different impacts on the Datadog Team membership. | ||||||
|
||||||
#### Keep team members in Datadog | ||||||
|
||||||
This procedure enables you to manage team membership in Datadog instead of Okta. The team members stay unchanged. | ||||||
|
||||||
1. In your Datadog application in Okta, navigate to the **Push Groups** tab. | ||||||
1. Click the **Push Groups** button. The pushed groups interface opens. | ||||||
1. Select the Okta group you want to unlink from its Datadog Team. | ||||||
1. In the **Match result & push action** column, select **Unlink Pushed Group**. A dialog box appears. | ||||||
1. Select **Leave the group in the target app**. | ||||||
1. Click **Unlink**. | ||||||
1. Click **Save**. | ||||||
|
||||||
#### Remove team members from Datadog | ||||||
|
||||||
This procedure enables you to manage team membership in Datadog instead of Okta and removes the team members from the Datadog Team. | ||||||
|
||||||
1. In your Datadog application in Okta, navigate to the **Push Groups** tab. | ||||||
1. Click the **Push Groups** button. The pushed groups interface opens. | ||||||
1. Select the Okta group you want to unlink from its Datadog Team. | ||||||
1. In the **Match result & push action** column, select **Unlink Pushed Group**. A dialog box appears. | ||||||
1. Select **Delete the group in the target app (recommended)**. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Okta asked us to call out in our documentation that this option will not actually delete the team within Datadog. This is a potential point of confusion because the user is told to select "Delete the group in the target app" but within Datadog what we actually do is just remove the managed relationship and remove all members of the Team. This is because the Team in Datadog may be associated with other data and assets within Datadog, so we are conservative and do not actually delete it, to avoid doing something destructive to the data/configuration of the org's Datadog setup (for instance, breaking notifications that were using the Team as a routing destination that is forwarding notifications to a Slack channel). I'm not sure of the best way to call this out here; in a way, the docs here are already clear on that, because you say above that
I think maybe just an extra clarification on this line could be helpful. Something like:
Suggested change
Maybe there's a better/more clear option that you can think of 🤷 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Maybe a better suggestion: follow the same format as the "no match found" note from line 92, and put a separate note after the list of numbered steps like:
|
||||||
1. Click **Unlink**. | ||||||
1. Click **Save**. | ||||||
|
||||||
## Further Reading | ||||||
|
||||||
{{< partial name="whats-next/whats-next.html" >}} | ||||||
|
||||||
[1]: /account_management/scim/ | ||||||
[2]: /account_management/scim/#using-a-service-account-with-scim | ||||||
[3]: /getting_started/site | ||||||
[4]: https://app.datadoghq.com/organization-settings/application-keys | ||||||
[5]: /account_management/org_settings/service_accounts | ||||||
[6]: /account_management/teams/manage/#manage-teams-through-an-identity-provider | ||||||
[7]: https://app.datadoghq.com/teams |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.