Skip to content

Commit bd9a0f0

Browse files
updating scim page
1 parent 2e336bd commit bd9a0f0

File tree

1 file changed

+40
-45
lines changed

1 file changed

+40
-45
lines changed

docs/source/guide/scim_setup.md

Lines changed: 40 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -12,66 +12,62 @@ parent: "admin_auth"
1212
parent_enterprise: "admin_auth"
1313
---
1414

15-
System for Cross-domain Identity Management (SCIM) is a popular protocol to manage access for services and applications across an organization. This guide helps to set up SCIM integration to manage access to Label Studio Enterprise in your organization.
15+
System for Cross-domain Identity Management (SCIM) is a popular protocol to manage access for services and applications across an organization.
1616

17-
Using SCIM provider, you can manage access to Label Studio Enterprise workspaces, grant roles to individual users and groups.
17+
Using a SCIM provider, you can manage access to Label Studio Enterprise workspaces, and grant roles to individual users and groups.
1818

1919
## Requirements
2020

21-
SCIM interacts with your SSO integration.
22-
23-
!!! note
24-
Okta or similar SSO providers have SCIM integration based on SSO.
25-
26-
27-
!!! attention "important"
28-
If you do not have SSO set up yet, then follow [Set up SSO](auth_setup.html).
21+
Label Studio Enterprise uses the SCIM Version 2.0 standard.
2922

23+
Label Studio Enterprise follows [SCIM RFC 5741](https://datatracker.ietf.org/doc/html/rfc7644#section-3.2) and can be integrated with any access management services that support the standard.
3024

31-
!!! attention "important"
32-
Only owner's access token can be used for SCIM Identity Provider.
25+
For more information on SCIM workflows, see [How SCIM works with Label Studio Enterprise](scim_workflow).
3326

27+
## Prerequisites
3428

35-
Label Studio Enterprise uses SCIM Version 2.0 standard. As an example, this page uses integration with [Okta](https://www.okta.com/integrate/). However, Label Studio Enterprise follows [SCIM RFC 5741](https://datatracker.ietf.org/doc/html/rfc7644#section-3.2) and can be integrated with any access management services that support the standard.
29+
* SCIM interacts with your SSO integration. Before you begin, you must have SSO already configured. If you do not have SSO set up yet, then follow [Set up SSO](auth_setup.html).
3630

37-
For more information on how SCIM workflows, see [How SCIM works with Label Studio Enterprise](scim_workflow).
31+
!!! note
32+
Okta or similar SSO providers have SCIM integration based on SSO.
3833

39-
## Set up SCIM integration
34+
* You will need to provide a [Legacy token](access_tokens#Legacy-tokens), and it must be associated with the Owner role of your organization.
4035

41-
<i>Check this video tutorial about SCIM and Okta setup.</i>
36+
## Set up SCIM integration with Okta
4237

4338
!!! attention "important"
4439
This video demonstrates the use of `userName` in the 'Unique Identifier Field for Users' field. It is essential to use `email` as the unique identifier instead of `userName`; otherwise, SCIM will not function correctly with users who were created prior to the SCIM integration.
4540

4641
<iframe width="560" height="315" src="https://www.youtube.com/embed/MA3de3gu18A" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
4742

48-
To manage access to Label Studio Enterprise, add the application to your SCIM provider (Okta). Okta uses Bearer (request header should be `Authorization: Bearer <token>`) token to interact with REST API endpoints of the application to provision and deprovision access.
43+
To manage access to Label Studio Enterprise, add the application to your SCIM provider (Okta).
44+
45+
Okta uses a Bearer (request header should be `Authorization: Bearer <token>`) token to interact with REST API endpoints of the application to provision and deprovision access.
4946

50-
### Add Label Studio Enterprise (if not complete)
47+
### Add Label Studio Enterprise as an application (if not complete)
5148

52-
1. Navigate to **Applications Applications** in Okta. Click **Create App Integration**.
53-
2. Select **SAML 2.0**. Fill App name (for example, _Label Studio Enterprise_).
54-
3. On the next step **Configure SAML** set up SAML integration following the instructions to [Set up SSO guide](auth_setup.html).
49+
1. Navigate to **Applications > Applications** in Okta. Click **Create App Integration**.
50+
2. Select **SAML 2.0**. Enter an app name (for example, _Label Studio Enterprise_).
51+
3. Under **Configure SAML**, set up the SAML integration following the steps outlined in [Set up SSO guide](auth_setup.html).
5552
4. Make sure Label Studio Enterprise appears in the list of active applications.
5653

5754
### Enable SCIM provisioning
5855

59-
1. Navigate to **Applications Applications** in Okta.
56+
1. Navigate to **Applications > Applications** in Okta.
6057
2. Select **Label Studio Enterprise**.
61-
3. Go to **General** tab and check **Enable SCIM provisioning**.
62-
4. Switch to **Provisioning** tab.
58+
3. Select the **General** tab and select **Enable SCIM provisioning**.
59+
4. Select the **Provisioning** tab.
6360
5. Select **Integration** in the left menu.
6461
6. Click **Edit** in the right corner.
6562

66-
Fill in the fields:
67-
- **SCIM connector base URL**: `https://<LABEL_STUDIO_BASE_URL>/scim/v2/` where `<LABEL_STUDIO_BASE_URL>` is the base URL of your Label Studio Enterprise instance.
68-
- **Unique identifier field for users**: Use `email`. Label Studio Enterprise uses email as user identifier in this field.
69-
- **Supported provisioning actions**: Select the following items:
70-
- Import New Users and Profile Updates
71-
- Push New Users
72-
- Push Profile Updates
73-
- Push Groups
74-
- **HTTP Header → `Authorization: Bearer <token>`**: Put the Bearer token from the LSE owner's account profile. In case of Label Studio `Token` and `Bearer` are the same tokens. However, it's important to use `Bearer` instead of `Token` in the request header.
63+
Complete the following fields:
64+
65+
| Field | Value/Description |
66+
|-------|-------------------|
67+
| **SCIM connector base URL** | `https://<LABEL_STUDIO_BASE_URL>/scim/v2/` where `<LABEL_STUDIO_BASE_URL>` is the base URL of your Label Studio Enterprise instance. |
68+
| **Unique identifier field for users** | Use `email`. Label Studio Enterprise uses email as user identifier in this field. |
69+
| **Supported provisioning actions** | Select the following items:<br>- Import New Users and Profile Updates<br>- Push New Users<br>- Push Profile Updates<br>- Push Groups |
70+
| **HTTP Header → `Authorization: Bearer <token>`** | Enter the [Legacy token](access_tokens#Legacy-tokens) associated with the Owner account in Label Studio. <br />For Label Studio, `Token` and `Bearer` are the same tokens. However, it's important to use `Bearer` instead of `Token` in the request header. |
7571

7672
### SCIM settings and application triggers
7773

@@ -81,7 +77,7 @@ Fill in the fields:
8177
- Update User Attributes
8278
- Deactivate Users
8379

84-
## Assign the application to a single user
80+
### Assign the application to a single user
8581

8682
You can assign the application on both the **user** page and **application** page.
8783

@@ -92,24 +88,21 @@ You can assign the application on both the **user** page and **application** pag
9288

9389
After you click **Done**, Okta will send the requests to create users accordingly in the Label Studio Enterprise.
9490

95-
## Unassigning the application for users
91+
### Unassigning the application for users
9692

9793
1. On the application page navigate to **Assignments** tab.
9894
2. Select **People** in the left menu.
9995
3. Click the delete cross against the user you would like to unassign.
10096
4. Confirm the unassignment.
10197

102-
## Assign the application to a group
98+
### Assign the application to a group
10399

104100
The most convenient way to manage access to the application is via groups. You can assign Label Studio to groups and manage the groups in Okta. The changes will be propagated to the application.
105101

106-
### Set up group mapping
102+
### Set up group mapping in Label Studio
107103

108104
1. In Label Studio, click the menu in the upper left and select **Organization**.
109105

110-
![Screenshot of Organization in the Label Studio menu](/images/general/menu_organization.png)
111-
112-
If you do not see the option to select **Organization**, you are not logged in with the appropriate role.
113106
2. Select **SCIM** in the upper right.
114107
3. Update roles and workspaces mapping. Ensure the group name you enter is the same as the group name being sent by your SCIM provider.
115108

@@ -125,8 +118,6 @@ The most convenient way to manage access to the application is via groups. You c
125118

126119
If you select **Inherit**, the group will inherit the role set above under **Organization Roles to Groups Mapping.** If the group is inheriting the Not Activated role, the users are mapped to the project, but they are not actually assigned to the project until the group is synced (meaning that the user authenticates first).
127120

128-
129-
130121
### Assign a group to the application
131122

132123
1. Using Okta, navigate to the **application** page and open the **Assignments** tab.
@@ -145,7 +136,7 @@ After saving the group assignment, the update will be queued and sent to Label S
145136
3. Find the group you would like to sync to Label Studio.
146137
4. 4. Choose either **Create Group** or **Link Group**, if you already have a workplace with the same name as specified on the **SCIM** >> **Settings** page.
147138

148-
## Unassigning the application for groups
139+
### Unassigning the application for groups
149140

150141
To unassign a group from the application, follow the steps for [Unassigning the application for users](#Unassigning-the-application-for-users).
151142

@@ -188,9 +179,13 @@ Label Studio Enterprise supports a limited set of SCIM user attributes for provi
188179
2. Select your enterprise application.
189180
3. Select **Provisioning** in the left menu.
190181
4. Set the **Tenant URL** to `https://<LABEL_STUDIO_BASE_URL>/scim/v2/`.
191-
5. Set the **Secret Token** to the Bearer token from the Label Studio owner's account profile.
182+
5. Set the **Secret Token** to the [Legacy token](access_tokens#Legacy-tokens) associated with the Owner account in Label Studio.
183+
184+
This must be the Legacy token, not the Personal Access Token. It must also be associated with the user in the Owner role.
192185
6. Under **Mappings**, open **Provision Microsoft Entra ID Users**.
193-
7. Remove all attribute mappings except the supported ones listed above. Keep:
186+
7. Remove all attribute mappings except the supported ones listed above.
187+
188+
Keep:
194189
* `emails[type eq "work"].value``userPrincipalName`
195190
* `userName``userPrincipalName`
196191
* `active``Switch([IsSoftDeleted], , "False", "True", "True", "False")`

0 commit comments

Comments
 (0)