SCIM User Provisioning Through Okta
Features
- Create users Okta users will be created in the SparkPost application.
- Update user roles SparkPost user roles can be changed via Okta.
- Deactivate users Deactivating an Okta user will remove it in the SparkPost application.
- Import users Users created in SparkPost can be imported into Okta and either matched against existing Okta users or created as new Okta users.
Requirements
- You must be a premier or enterprise customer. See our pricing page for more details. Test accounts can also evaluate SCIM Provisioning.
- SAML SSO must be configured and enabled for your account. See instructions here.
- Only admin users can generate SCIM access tokens.
Configuration in SparkPost
-
From your SparkPost dashboard, navigate to your Account Settings page by clicking on your username at the upper right corner of the screen.
-
Under "Single Sign-On" click "Generate SCIM token".
-
Your token will be displayed. Copy it - you won't be able to see it again (don't worry, if you lose it you can generate a new one).
Configuration in Okta
-
From the Okta admin console, navigate to "Applications" and select the SparkPost app.
-
Select the "Sign On" tab. Ensure that under "Credentials Details", "Application username format" is set to "Email".
-
Click "View Setup Instructions" to setup SSO and get the Callback URL and Audience URI
-
Select the "Provisioning" tab, and from the "Integration" menu click "Configure API Integration".
-
Check "Enable API Integration"
-
In the "Base URL" field:
-
For US-hosted customers, enter
https://api.sparkpost.com/api/v1/users/scim/v2 -
For EU-hosted customers, enter
https://api.eu.sparkpost.com/api/v1/users/scim/v2 -
For Enterprise customers, enter
https://<host>.api.e.sparkpost.com/api/v1/users/scim/v2Enterprise customers: note that you must replace < host > with your SparkPost tenant name. Please see your TAM if you need assistance determining your callback URL.
-
-
In the "API Token" field, paste the SCIM token you generated.
-
Click "Test API Credentials" to verify settings are correct.
-
Click "Save".
-
In the "To App" section of the "Provisioning" tab, enable "Create Users", "Update User Attributes", and "Deactivate Users". Click "Save".
Import Existing SparkPost users
-
Select the "Import" tab and click "Import Now"
-
Verify "Okta User Assignments" match existing users or create new users.
-
Click "Confirm Assignments"
-
Verify changes and click "Confirm".
-
Verify users exist in SparkPost application.
Managing User Roles with Okta Groups
You can use Okta groups to automatically assign SparkPost roles to users provisioned via SCIM. Instead of setting each user's role individually, you create Okta groups that map to SparkPost roles and assign users to those groups. Role changes are pushed to SparkPost automatically when group membership changes.
Supported Roles
| Role | Description |
|---|---|
admin | Admins have all permissions and are the only users that can manage users, security, and billing settings. |
developer | Can create and edit API Keys and access all email-related account settings. |
templates | Can manage Templates, AB Tests, Recipient Lists, and Suppressions. View-only access to Domains, Subaccounts, IP Pools, and all reporting and analytics features. |
reporting | Access to all reporting features and view-only access to Domains, Subaccounts, and IP Pools. Cannot edit account or feature settings. |
If no role is specified, users default to reporting.
Step 1: Create Okta Groups
Create one Okta group per SparkPost role you want to manage. For example:
- SparkPost - Admin
- SparkPost - Developer
- SparkPost - Templates
- SparkPost - Reporting
Go to Directory > Groups and click Add Group to create each one.
Step 2: Assign Groups to the SparkPost Application
-
In the Okta admin console, go to Applications > SparkPost and select the Assignments tab.
-
Click Assign > Assign to Groups.
-
In the dialog, click Assign next to each SparkPost group you created.
-
For each group, set the
rolefield to the corresponding SparkPost role (e.g.,adminfor the "SparkPost - Admin" group). Click Save and Go Back. -
Repeat for each group, then click Done.
Step 3: Add Users to Groups
Add users to the appropriate Okta group. Go to Directory > Groups, select a group, and click Assign people. When provisioned, they will receive the corresponding SparkPost role.
Changing a User's Role
Move the user from one SparkPost group to another in Okta. The role change is pushed to SparkPost automatically via SCIM on the next sync.
Managing Group Priority
If a user belongs to multiple groups assigned to the SparkPost application, Okta uses group priority to determine which role is sent. The group with the highest priority (lowest number) wins.
To manage group priority:
- Go to Applications > SparkPost > Assignments and click on the Groups filter.
- Drag and drop the groups to reorder them. The group at the top (priority 1) takes precedence.
For example, if a user belongs to both "SparkPost - Admin" (priority 1) and "SparkPost - Reporting" (priority 3), they will be assigned the admin role.
Known Issues / Troubleshooting
- If you have questions or difficulties with your SparkPost/Okta SCIM integration, please submit a support ticket.