Skip to content

Commit 3655bfe

Browse files
authored
DOCS-693 - SCIM provisioning (#5174)
* Stub out articles * Start Okta draft * Continue * Continue Okta * Finish Okta draft * Start Entra ID draft * Draft for Microsoft Entra ID * Add release note * OneLogin draft * Add roles doc for Microsoft Entra ID * Add process to 'About SCIM provisioning' * Fix typos * Updates from Kevin Keech review * Remove RSS logo * Updates from review by Gahana Jain * Update scim API URL * Change release note date to May 9 2025 * Change release note date to May 8 2025
1 parent 4498ad3 commit 3655bfe

File tree

67 files changed

+609
-4
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+609
-4
lines changed

blog-service/2025-05-08-manage.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
title: SCIM Provisioning (Manage)
3+
image: https://help.sumologic.com/img/sumo-square.png
4+
keywords:
5+
- manage
6+
- saml
7+
hide_table_of_contents: true
8+
---
9+
10+
import useBaseUrl from '@docusaurus/useBaseUrl';
11+
12+
We're excited to announce provisioning for Sumo Logic using SCIM (System for Cross-domain Identity Management). Now you can automatically provision and deprovision users in Sumo Logic with an identity provider like Microsoft Entra ID, Okta, or OneLogin.
13+
14+
[Learn more](/docs/manage/security/scim/).

docs/api/index.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,14 +196,19 @@ Use the Sumo Logic Application Programming Interfaces (APIs) to interact with ou
196196
</div>
197197
<div className="box smallbox card">
198198
<div className="container">
199-
<a href="/docs/api/scan-budget"><img src={useBaseUrl('img/icons/general/calendar.png')} alt="Thumbnail icon" width="50"/><h4>Scan Budget</h4></a>
199+
<a href="/docs/api/scan-budget"><img src={useBaseUrl('img/icons/operations/data-volume.png')} alt="Thumbnail icon" width="50"/><h4>Scan Budget</h4></a>
200200
</div>
201201
</div>
202202
<div className="box smallbox card">
203203
<div className="container">
204204
<a href="/docs/api/scheduled-views"><img src={useBaseUrl('img/icons/general/calendar.png')} alt="Thumbnail icon" width="50"/><h4>Scheduled Views</h4></a>
205205
</div>
206206
</div>
207+
<div className="box smallbox card">
208+
<div className="container">
209+
<a href="/docs/api/scim-user"><img src={useBaseUrl('img/icons/general/session.png')} alt="Thumbnail icon" width="50"/><h4>SCIM User</h4></a>
210+
</div>
211+
</div>
207212
<div className="box smallbox card">
208213
<div className="container">
209214
<a href="/docs/api/search-job"><img src={useBaseUrl('img/icons/search.png')} alt="Thumbnail icon" width="50"/><h4>Search Job</h4></a>

docs/api/scim-user.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
id: scim-user
3+
title: SCIM User Management APIs
4+
sidebar_label: SCIM User
5+
description: Use HTTP endpoints to manage your SCIM configuration.
6+
---
7+
8+
import useBaseUrl from '@docusaurus/useBaseUrl';
9+
import ApiIntro from '../reuse/api-intro.md';
10+
import ApiRoles from '../reuse/api-roles.md';
11+
12+
<img src={useBaseUrl('img/icons/general/session.png')} alt="Thumbnail icon" width="50"/>
13+
14+
The SCIM User Management API allows you to provision users to Sumo Logic from [SCIM provisioning providers](/docs/manage/security/scim/).
15+
16+
## Documentation
17+
18+
<ApiIntro/>
19+
20+
| Deployment | Documentation URL |
21+
|:------------|:---------------------------------------------------------------------|
22+
| AU | https://api.au.sumologic.com/docs/#tag/scimUserManagement |
23+
| CA | https://api.ca.sumologic.com/docs/#tag/scimUserManagement |
24+
| DE | https://api.de.sumologic.com/docs/#tag/scimUserManagement |
25+
| EU | https://api.eu.sumologic.com/docs/#tag/scimUserManagement |
26+
| FED | https://api.fed.sumologic.com/docs/#tag/scimUserManagement |
27+
| IN | https://api.in.sumologic.com/docs/#tag/scimUserManagement |
28+
| JP | https://api.jp.sumologic.com/docs/#tag/scimUserManagement |
29+
| KR | https://api.kr.sumologic.com/docs/#tag/scimUserManagement |
30+
| US1 | https://api.sumologic.com/docs/#tag/scimUserManagement |
31+
| US2 | https://api.us2.sumologic.com/docs/#tag/scimUserManagement |
32+
33+
## Required role capabilities
34+
35+
<ApiRoles/>
36+
37+
* Security
38+
* Manage SAML
39+
* User Management (all role capabilities)
40+

docs/manage/security/saml/set-up-saml.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,15 +36,15 @@ The provisioning process works as follows:
3636

3737
This section has key information about SAML in Sumo.
3838

39-
## Access keys are not controlled by SAML
39+
### Access keys are not controlled by SAML
4040

4141
This means that if a user has been turned off on the SSO side, their access keys would still be valid. For this reason, administrators should audit users regularly and disable access keys when necessary.
4242

43-
## SAML does not provide a deprovisioning mechanism 
43+
### SAML does not provide a deprovisioning mechanism 
4444

4545
This means that if a user is deleted or disabled in the SSO database, it will not be reflected in Sumo Logic. However, these users would no longer be able to login to Sumo Logic via SSO. Administrators can delete these users from the **Administration > Users and Roles > Users** page in Sumo Logic. For information about what happens when a user is deleted, and transferring a deleted user's content to another user, see [Delete a User](../../users-roles/users/delete-user.md).
4646

47-
## Only one certificate for each SAML configuration is currently supported
47+
### Only one certificate for each SAML configuration is currently supported
4848

4949
Only one token-signing ADFS X.509 for each SAML configuration is currently supported. When you need to do a certificate refresh on the ADFS server, you must update the Sumo certificate afterwards.
5050

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
---
2+
id: about-scim-provisioning
3+
title: About SCIM Provisioning
4+
sidebar_label: About
5+
description: Learn about provisioning users into Sumo Logic using SCIM.
6+
---
7+
8+
import useBaseUrl from '@docusaurus/useBaseUrl';
9+
10+
You can utilize Sumo Logic [SCIM User Management APIs](/docs/api/scim-user/) to automatically provision and deprovision users in Sumo Logic when users are created or removed within your identity provider. Sumo Logic can be integrated with any identity provider that is [SCIM 2](https://scim.cloud/) compliant.
11+
12+
## Directions for specific providers
13+
14+
This article contains general guidance on setting up identity providers to provision with Sumo Logic.
15+
16+
See the following articles for directions to configure specific providers:
17+
* [Provision with Microsoft Entra ID](/docs/manage/security/scim/provision-with-microsoft-entra-id/)
18+
* [Provision with Okta](/docs/manage/security/scim/provision-with-okta/)
19+
* [Provision with OneLogin](/docs/manage/security/scim/provision-with-onelogin/)
20+
21+
## General process to configure provisioning for Sumo Logic
22+
23+
Although the process will differ depending on your provider, following are the general steps to configure your provider to provision with Sumo Logic.
24+
25+
### Prerequisites
26+
27+
#### Create an access key
28+
29+
Before configuring a provider, create an [access key](/docs/manage/security/access-keys/). (We recommend using a service account to create the access key.) This access key will provide authorization to provision users from the provider into Sumo Logic.
30+
31+
When you create the access key, copy its access ID and access key values. You will enter these when you set up provisioning to use one of the following authorization methods:
32+
* Basic authentication
33+
* Username: Access ID
34+
* Password: Access key
35+
* Bearer token<br/>Use [Base64 encoding](https://www.base64encode.org/) to Base64 encode `<access ID>:<access key>`.
36+
37+
#### Set up SAML
38+
39+
[Set up SAML for single sign-on](/docs/manage/security/saml/set-up-saml/) in the Sumo Logic instance where you will provision users. This will allow connection to Sumo Logic for provisioning. Copy the single sign-on URL (Assertion Consumer URL) and entity ID from your Sumo Logic SAML configuration to set up single sign-on in your provider.
40+
41+
<img src={useBaseUrl('img/security/provision-sumo-logic-saml-settings.png')} alt="ACS and entity ID from Sumo Logic" style={{border: '1px solid gray'}} width="800" />
42+
43+
### Step 1: Create an app
44+
45+
Create an application in your provider. You will configure this app in the following steps.
46+
47+
### Step 2: Set up single sign-on
48+
49+
Set up single sign-on for the app to connect to Sumo Logic. Copy the Assertion Consumer URL and entity ID from the SAML configuration in Sumo Logic to use in the configuration. (See [Set up SAML](#set-up-saml) above.)
50+
51+
### Step 3: Set up roles
52+
53+
Set up roles in your app to match roles in Sumo Logic (for example, Administrator and Analyst). When users assigned these roles in your app are provisioned, the roles are automatically assigned to the provisioned users in Sumo Logic.
54+
55+
### Step 4: Assign users to your app
56+
57+
Assign users to your app. All users assigned to the app will be provisioned.
58+
59+
### Step 5: Set up provisioning
60+
61+
When you set up provisioning for the app, provide a Sumo Logic access key to authorize access to Sumo Logic. (See [Create an access key](#create-an-access-key) above.)
62+
63+
For the SCIM base URL, provide the Sumo Logic [API endpoint for your deployment](/docs/api/getting-started/#sumo-logic-endpoints-by-deployment-and-firewall-security) for the [SCIM User Management APIs](/docs/api/scim-user/) using the format `<api-endpoint>/v1/scim/`. For example, `https://api.sumologic.com/api/v1/scim/`.
64+
65+
### Step 6: Verify provisioning
66+
67+
Test provisioning to ensure that users assigned to the app are provisioned correctly into Sumo Logic. Verify in your provider's logs and in the Sumo Logic UI.
68+
69+

docs/manage/security/scim/index.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
slug: /manage/security/scim
3+
title: SCIM Provisioning
4+
description: Learn how to provision users in Sumo Logic using SCIM.
5+
---
6+
7+
import useBaseUrl from '@docusaurus/useBaseUrl';
8+
9+
Learn how to provision and deprovision users in Sumo Logic using SCIM (System for Cross-domain Identity Management).
10+
11+
This section contains the following articles:
12+
13+
<div className="box-wrapper" >
14+
<div className="box smallbox card">
15+
<div className="container">
16+
<a href="/docs/manage/security/scim/about-scim-provisioning"><img src={useBaseUrl('img/icons/general/session.png')} alt="icon" width="40"/><h4>About SCIM Provisioning</h4></a>
17+
<p>Learn about provisioning users in Sumo Logic using SCIM.</p>
18+
</div>
19+
</div>
20+
<div className="box smallbox card">
21+
<div className="container">
22+
<a href="/docs/manage/security/scim/provision-with-microsoft-entra-id"><img src={useBaseUrl('img/icons/general/session.png')} alt="icon" width="40"/><h4>Provision with Microsoft Entra ID</h4></a>
23+
<p>Learn how to provision users in Sumo Logic with Microsoft Entra ID (formerly Azure Active Directory).</p>
24+
</div>
25+
</div>
26+
<div className="box smallbox card">
27+
<div className="container">
28+
<a href="/docs/manage/security/scim/provision-with-okta"><img src={useBaseUrl('img/icons/general/session.png')} alt="icon" width="40"/><h4>Provision with Okta</h4></a>
29+
<p>Learn how to provision users in Sumo Logic with Okta</p>
30+
</div>
31+
</div>
32+
<div className="box smallbox card">
33+
<div className="container">
34+
<a href="/docs/manage/security/scim/provision-with-onelogin"><img src={useBaseUrl('img/icons/general/session.png')} alt="icon" width="40"/><h4>Provision with OneLogin</h4></a>
35+
<p>Learn how to provision users in Sumo Logic with OneLogin</p>
36+
</div>
37+
</div>
38+
</div>
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
---
2+
id: provision-with-microsoft-entra-id
3+
title: Provision with Microsoft Entra ID
4+
sidebar_label: Provision with Microsoft Entra ID
5+
description: Learn how to provision users in Sumo Logic with Microsoft Entra ID (formerly Azure Active Directory).
6+
---
7+
8+
import useBaseUrl from '@docusaurus/useBaseUrl';
9+
10+
This article describes how to provision users in Sumo Logic with Microsoft Entra ID (formerly Azure Active Directory).
11+
12+
## Prerequisites
13+
14+
### Create an access key
15+
16+
Create an [access key](/docs/manage/security/access-keys/). (We recommend using a service account to create the access key.) This access key will provide authorization to provision users from Microsoft Entra ID into Sumo Logic.
17+
18+
When you create the access key, copy its access ID and access key values. You will enter these when you use [Base64 encoding](https://www.base64encode.org/) to Base64 encode `<access ID>:<access key>` to generate a token.
19+
20+
## Configure provisioning with Microsoft Entra ID
21+
22+
### Step 1: Create the app
23+
24+
1. Log in to [Microsoft Azure](http://portal.azure.com/) as an administrator.
25+
1. Navigate to Microsoft Entra ID. (You can use the search bar to locate it.)
26+
1. Navigate to **Manage > Enterprise Applications**.
27+
1. Click **New application**.<br/><img src={useBaseUrl('img/security/provision-azure-new-app.png')} alt="Create new application" style={{border: '1px solid gray'}} width="800" />
28+
1. Click **Create your own application**.<br/><img src={useBaseUrl('img/security/provision-azure-create-your-own-app.png')} alt="Create your own application" style={{border: '1px solid gray'}} width="400" />
29+
1. Enter a name for the app, select **Integrate any other application you don't find in the gallery (Non-gallery)**. <br/><img src={useBaseUrl('img/security/provision-azure-name-app.png')} alt="Name your application" style={{border: '1px solid gray'}} width="400" />
30+
1. Click **Create**. The app displays in Entra ID.<br/><img src={useBaseUrl('img/security/provision-azure-app.png')} alt="App in Entra ID" style={{border: '1px solid gray'}} width="600" />
31+
32+
### Step 2: Set up single sign-on
33+
34+
Follow the directions in [Configure Sumo as an Enterprise App in Azure AD](/docs/manage/security/saml/integrate-sumo-with-azure-ad/#configure-saml-in-sumo-logic) beginning with the step where you select **Set up single sign on**.
35+
36+
<img src={useBaseUrl('img/security/provision-azure-set-up-sso.png')} alt="Set up single sign on" style={{border: '1px solid gray'}} width="600" />
37+
38+
When you [configure SAML in Sumo Logic](/docs/manage/security/saml/integrate-sumo-with-azure-ad/#configure-saml-in-sumo-logic):
39+
* Select **Disable Requested Authentication Context**.
40+
* Do not select the **On Demand Provisioning** checkbox. You will set up provisioning later.
41+
42+
### Step 3: Add roles
43+
44+
Create roles that the users will have in Sumo Logic (for example, `Analyst` and `Administrator`).
45+
46+
1. In the app, select **Manage > Users and groups**.
47+
1. Select **application registration**.<br/><img src={useBaseUrl('img/security/provision-azure-app-registration.png')} alt="Add users" style={{border: '1px solid gray'}} width="700" />
48+
1. Click **Create app role**.<br/><img src={useBaseUrl('img/security/provision-azure-create-app-role.png')} alt="Create app role" style={{border: '1px solid gray'}} width="700" />
49+
1. Create the role:
50+
1. In **Display name**, enter the name to be displayed in the UI (for example, `Analyst`).
51+
1. For **Allowed member types** select **Both**.
52+
1. For **Value** enter the value of the role in Sumo Logic (for example, `Analyst`).
53+
1. For **Description** enter a description of the role.
54+
1. Click **Apply**.<br/><img src={useBaseUrl('img/security/provision-azure-create-app-role-dialog.png')} alt="Create app role dialog" style={{border: '1px solid gray'}} width="400" />
55+
56+
### Step 4: Assign users to the app
57+
58+
1. In the app, select **Manage > Users and groups**.
59+
1. Select **Add user/group**.<br/><img src={useBaseUrl('img/security/provision-azure-add-users.png')} alt="Add users" style={{border: '1px solid gray'}} width="600" />
60+
1. Under **Users**, click **None Selected**.<br/><img src={useBaseUrl('img/security/provision-azure-add-assignment.png')} alt="Add Assignment" style={{border: '1px solid gray'}} width="400" />
61+
1. From the list of available users, select users to add to the app and click **Select**.
62+
1. Under **Select a role** click **None Selected**.
63+
1. From the list of available roles, select a role (for example, **Analyst**).
64+
1. Click **Assign**.
65+
66+
### Step 5: Set up provisioning
67+
68+
1. In the app select **Manage > Provisioning**.<br/><img src={useBaseUrl('img/security/provision-azure-provisioning.png')} alt="Connect your application" style={{border: '1px solid gray'}} width="600" />
69+
1. For **Provisioning Mode**, select **Automatic**.
70+
1. Enter **Admin Credentials**:
71+
1. In **Tenant URL**, enter the [API endpoint for your deployment](/docs/api/getting-started/#sumo-logic-endpoints-by-deployment-and-firewall-security) for the [SCIM User Management APIs](/docs/api/scim-user/) using the format `<api-endpoint>/v1/scim/`. For example, `https://api.sumologic.com/api/v1/scim/`.
72+
1. For **Secret Token**, use [Base64 encoding](https://www.base64encode.org/) to encode `<access ID>:<access key>` (see [Prerequisites](#prerequisites)). Enter the resulting value into the **Secret Token** field.
73+
1. Click **Test Connection**. If successful, a message like this appears: **Testing connection to `<app name>`. The supplied credentials are authorized to enable provisioning**.
74+
1. Set up mappings:
75+
1. Select **Mappings** and **Provision Microsoft Entra Users**.<br/><img src={useBaseUrl('img/security/provision-azure-mappings.png')} alt="Provision mappings" style={{border: '1px solid gray'}} width="600" />
76+
1. At the bottom of the **Attribute Mapping** dialog, select **Add New Mapping**.
77+
1. Fill out the **Edit Attribute** dialog:
78+
1. For **Mapping type** select **Expression**.
79+
1. For **Expression** enter `AppRoleAssignments([appRoleAssignments])`.
80+
1. For **Target attribute** select `roles[primary eq "True"].value`.
81+
1. Click **OK**.<br/><img src={useBaseUrl('img/security/provision-azure-role-attribute.png')} alt="Edit attribute" style={{border: '1px solid gray'}} width="600" />
82+
1. On the **Attribute Mapping** dialog, delete all the attributes except:
83+
* userName
84+
* active
85+
* emails[type eq "work"].value
86+
* name.givenName
87+
* name.familyName
88+
* roles[primary eq "True"].value
89+
1. Click **Save**.<br/><img src={useBaseUrl('img/security/provision-azure-attribute-mappings.png')} alt="Attribute mappings" style={{border: '1px solid gray'}} width="600" />
90+
1. Click the **Home > `<app name>` | Provisioning** link in the top left corner of the screen. This returns you to the **Provisioning** tab.
91+
1. Test provisioning:
92+
1. In the app, select **Manage > Provisioning**.
93+
1. For **Provisioning Status** select **On** to enable provisioning.
94+
1. Click **Save**.<br/><img src={useBaseUrl('img/security/provision-azure-provisioning-status.png')} alt="Provisioning status" style={{border: '1px solid gray'}} width="600" />
95+
1. Select **Overview**.
96+
1. Select **Provision on demand**.<br/><img src={useBaseUrl('img/security/provision-azure-provision-on-demand.png')} alt="Provision on demand" style={{border: '1px solid gray'}} width="600" />
97+
1. Users assigned the app will be provisioned into Sumo Logic.
98+
99+
As long as the app's provisioning status is on, the app runs auto provisioning every 40 minutes.
100+
101+
### Step 6: Verify provisioning
102+
103+
Users assigned to the app are provisioned into Sumo Logic.
104+
105+
1. Verify in Microsoft Entra ID:
106+
1. In the app, select **Provisioning** and then select the **Monitoring** tab.
107+
1. The tab should show provisioning status. Click **View Provisioning Logs** for details.
108+
1. Verify in Sumo Logic:
109+
1. Log in to the Sumo Logic instance that you linked to the provisioning app in Step 2 when you provided the Assertion Consumer URL and entity ID.
110+
1. [**Classic UI**](/docs/get-started/sumo-logic-ui-classic). In the main Sumo Logic menu, select **Administration > Users and Roles > Users**. <br/>[**New UI**](/docs/get-started/sumo-logic-ui). In the top menu select **Administration**, and then under **Users and Roles** select **Users**. You can also click the **Go To...** menu at the top of the screen and select **Users**.
111+
1. Search for the users provisioned from Microsoft Entra ID.
112+
1. You should see the users listed, and with the role given to them when you assigned them to the app in Microsoft Entra ID.
113+
114+
## Syncing between Microsoft Entra ID and Sumo Logic
115+
116+
When you modify the name, email, or role of a user assigned the app in Microsoft Entra ID, the changes will be synced to the corresponding user in Sumo Logic.
117+
118+
If you unassign a user from the app in Microsoft Entra ID, the corresponding user is deactivated in Sumo Logic. (If you later try to reassign that same user to the app, it will result in an error in Sumo Logic. You must delete the old user from Sumo Logic first so that the user can be provisioned once again from Microsoft Entra ID.)

0 commit comments

Comments
 (0)