|
| 1 | +--- |
| 2 | +title: "System for Cross-domain Identity Management (SCIM) Configuration Guide" |
| 3 | +hidden: true |
| 4 | +--- |
| 5 | + |
| 6 | +The SCIM specification is designed to make managing user identities in cloud-based applications like Segment easier. SCIM allows your Identity Provider (IdP) to manage users and groups within your Segment workspace. |
| 7 | + |
| 8 | +SCIM is offered by most IdPs and compliments SAML. You can think of SAML as a way for your employees to authenticate and SCIM as a way to make sure they have the appropriate permissions. |
| 9 | + |
| 10 | +## Requirements |
| 11 | + |
| 12 | +Before you start, remember that SSO is only available to Business Tier customers and that SSO connections can only be configured by a workspace owner. |
| 13 | + |
| 14 | +To setup SCIM, you must first create an SSO connection. Once you [create your SSO connection](https://segment.com/docs/segment-app/iam/sso/), log back into Segment using SSO. |
| 15 | + |
| 16 | +## Configuration Instructions |
| 17 | + |
| 18 | +Segment officially supports Okta, Azure AD, and OneLogin. However, you may still be able to use SCIM with another Identity Provider (IdP) by adapting the following instructions. If using a supported provider, start by searching for Segment in your provider's app catalog. |
| 19 | + |
| 20 | +When you enable SCIM, your IdP asks for two values. One is the “base URL”, the Segment base URL is: https://scim.segmentapis.com/scim/v2 |
| 21 | + |
| 22 | +The other value needed is an API key or Authorization Header. To generate one, go to **Settings > Advanced Settings** in the Segment app, and find the SSO Sync section. Click **Generate SSO Token** and copy the generated token. Use this token for the API key or Authorization Header in your IdP. |
| 23 | + |
| 24 | +This page is located as part of the settings sidebar: https://app.segment.com/CUSTOMER_WORKSPACE_SLUG/settings/advanced |
| 25 | + |
| 26 | + |
| 27 | + |
| 28 | +## Features |
| 29 | + |
| 30 | +It is important to remember that Segment has a multi-tenant user/workspace relationship, meaning that users can be part of multiple workspaces. In most cases these workspaces will all be related to a single customer (for example, a single company might have individual workspaces for different brands or subsidiaries). However, some users can be members of workspaces for different Segment customers, such as with contractors or consultants. |
| 31 | + |
| 32 | +Because of this, Segment must balance the autonomy of our users with the desired level of control of a workspace owner. |
| 33 | + |
| 34 | +## Creating Users |
| 35 | + |
| 36 | +Even though Segment users exist separately from workspaces, your IdP can create a new Segment user or add an existing Segment user to your workspace using the same IdP workflow. This process is transparent to the IdP and to you as the customer. In other words, you don't need to know if a user exists before adding them to your workspace. |
| 37 | + |
| 38 | +If the person you want to add does not have a Segment account, your IdP will create one. If the person already has a Segment account, you can still add them to your Workspace using your IdP, but it **does not create a new Segment account**. |
| 39 | + |
| 40 | +You can create new users and set their `userName` (email) and `displayName` (single value field that represents a user’s full name) using your IdP. |
| 41 | + |
| 42 | +If a user already has a Segment account, you can add them using their email address using your IdP. However, the `displayName` sent by the IdP is ignored by Segment because we respect the name chosen by the user when they created their account. |
| 43 | + |
| 44 | +## Updating User Attributes |
| 45 | + |
| 46 | +Segment user profiles only contain a `userName` (email) and `displayName`. Once you create a user, these attributes cannot be updated using SCIM. They can only be updated by the user through the Segment UI. |
| 47 | + |
| 48 | +## Deleting or Deactivating Users |
| 49 | + |
| 50 | +Segment workspace owners **cannot** delete Segment workspace member accounts using SCIM, the web UI, or the Segment API. A user must delete their own account using the Segment app. Workspace owners **can** remove members from the workspace using SCIM, the web UI, or the Segment API. |
| 51 | + |
| 52 | +Some IdPs want to set users as “inactive” or “active.” Segment does not have an “inactive” state for user accounts. Similar functionality can be achieved by removing a user from your workspace. Setting an existing Segment user to “active” is similar to adding that user to the workspace. |
| 53 | + |
| 54 | +When your IdP updates a user to set `active: false` or attempts to delete a user, Segment removes the user from your Segment workspace. If your IdP attempts to create a user with an existing email, or set `active: true`, the existing user account is added to your workspace. |
| 55 | + |
| 56 | +Any Segment group memberships **must be reassigned** when a user is removed and re-added from your workspace. Newly added workspace users have the “Minimal Workspace Access” permission by default. The “Minimal Workspace Access” role does not have access to any sources, destinations, etc. |
| 57 | + |
| 58 | +## Creating Groups |
| 59 | + |
| 60 | +Your IdP can create new groups in Segment using SCIM. All groups are created via SCIM start with “Minimal Workspace Access." The “Minimal Workspace Access” permission does not have access to any sources, destinations, etc. To add more permissions to a group you must use the Segment web app. |
| 61 | + |
| 62 | +## Updating Groups |
| 63 | + |
| 64 | +Your IdP can add or remove workspace members from existing groups via SCIM. Your IdP can also update Segment group names. |
| 65 | + |
| 66 | +## Deleting Groups |
| 67 | + |
| 68 | +Your IdP can use SCIM to delete groups from your Segment workspace. Deleting a group within Segment does **not** remove its members from your workspace. You need to unassign users from Segment within your IdP for them to be removed from the workspace. |
| 69 | + |
| 70 | +## Importing Users and Groups |
| 71 | + |
| 72 | +Segment groups and users can be imported to your IdP if your IdP supports this feature. |
0 commit comments