SCIM provisioning | Pathfinder

SCIM 2.0 provisioning lets Pathfinder automate user and group lifecycle management from an external identity provider. Instead of creating and maintaining users manually, administrators can connect Pathfinder to a SCIM-capable identity provider and let that provider create, update, deactivate, and manage assigned users.

SCIM provisioning complements, but does not replace, authentication methods such as SAML or AD/LDAP. In a typical deployment, the identity provider provisions the account with SCIM and the user authenticates with SSO.

Prerequisites

  • Administrator access in Pathfinder
  • Confirm your IdP supports SCIM 2.0 client provisioning
  • Confirm if you will provision users only, or users and groups.
  • If you plan to use SAML for sign-in, confirm your SAML configuration is complete or planned.

Supported IdPs

  • Okta
  • Microsoft Entra ID
  • SailPoint IdentityNow

Generate a SCIM token

  1. Sign into app.beyondtrust.io.
    The BeyondTrust Home page displays.
  2. Select your site name to display a drop-down menu.
  3. Select Administration.
    The BeyondTrust Platform Administration page displays.
  4. Select ☰ > Administration > SCIM Tokens.
    The SCIM Tokens page displays.
  5. Enter a name.
  6. Select an expiration date from the list.
  7. Click Create Token.

Important

Treat the SCIM token like a secret. Store it securely and rotate it according to your organization's credential management standards.

Configure the SCIM connector

SailPoint IdentityNow

Step 1: Create a SCIM 2.0 source

In the SailPoint admin console: Admin → Connections → Sources → Create → SCIM 2.0

OptionValue
Source NameBeyondTrust Nomine (Test)
SCIM Base URLhttps://<cloudfront-distribution>.cloudfront.net/scim/v2
Authentication TypeBearer Token
TokenSCIM_<token>
Unique Identifier AttributeuserName

Click Test Connection. Expect HTTP 200.

Step 2: Configure provisioning policies

Under the source's Provisioning Policies tab, enable and configure:

PolicyPurpose
Create AccountTriggers POST /scim/v2/Users
Update AccountTriggers PUT /scim/v2/Users/{id}
Delete AccountTriggers DELETE /scim/v2/Users/{id}
Disable AccountTriggers PATCH active=false
Enable AccountTriggers PATCH active=true

Map the following attributes in each policy: userName (email), name.givenName, name.familyName, active, roles.

Step 3: Trigger each SCIM operation

OperationIDP Action
POST /scim/v2/UsersAssign an identity to the source via Identity → Provisioning → Add Entitlement, or trigger a lifecycle state change that targets this source
PUT /scim/v2/Users/{id}Edit an identity's attributes (e.g. last name) in SailPoint → SailPoint detects the delta and sends a full replace
PATCH active=falseSet the identity's lifecycle state to Terminated or Inactive (whichever is mapped to disable on this source), or manually click Disable Account on the account
PATCH rolesChange the identity's role/entitlement assignment for this source in SailPoint
DELETE /scim/v2/Users/{id}Set lifecycle state to one that triggers deprovision + delete, or click Delete Account on the account under the source

Use Admin → Identities → [identity] → Accounts → [this source] → Manage to manually trigger individual operations without changing lifecycle state.

Step 4: Force a sync

To trigger provisioning immediately rather than waiting for the scheduled cycle:

Admin → Connections → Sources → [source] → Accounts → Refresh

Or for a single identity: Identity → Provisioning → Refresh


Okta

Step 1: Create a SCIM app in Okta

In Okta Admin: Applications → Browse App Catalog → search "SCIM 2.0 Test App (Bearer Token)" → Add Integration

If the catalog app is not available, create a custom app:
Applications → Create App Integration → SWA → after creation, enable SCIM under the Provisioning tab.

Step 2: Configure the SCIM connector

Under the app's Provisioning → Integration tab:

OptionValue
SCIM connector base URLhttps://<cloudfront-distribution>.cloudfront.net/scim/v2
Unique identifier field for usersuserName
Authentication ModeHTTP Header
AuthorizationBearer SCIM_<token>

Click Test API Credentials — expect success.

Step 3: Enable provisioning operations

Under Provisioning → To App, enable:

SettingTriggers
Create UsersPOST /scim/v2/Users
Update User AttributesPUT /scim/v2/Users/{id}
Deactivate UsersPATCH active=false

Step 4: Configure attribute mappings

Under Provisioning → To App → Attribute Mappings, ensure these are mapped:

Okta attributeSCIM attribute
user.loginuserName
user.firstNamename.givenName
user.lastNamename.familyName
user.emailemails[primary eq true].value
App-level role or grouproles (map to a custom attribute or group push)

Step 5: Trigger each SCIM operation

OperationIdP Action
POST /scim/v2/UsersAssignments → Assign → Assign to People → select a user → Save. Okta provisions immediately if auto-provisioning is on, or click Push Now
PUT /scim/v2/Users/{id}Edit the assigned user's profile (e.g. last name) in Okta. Okta sends a full PUT on the next push cycle, or force with Push Now
PATCH active=false (deactivation)Assignments → [user] → Unassign, or go to the user's Okta profile and Suspend or Deactivate the user. Requires "Deactivate Users" enabled in Step 3
PATCH active=true (reactivation)Re-assign the user to the app, or reactivate/unsuspend the user in Okta
PATCH rolesChange the user's group membership or app-level role in Okta (if roles are mapped via group push)
DELETE /scim/v2/Users/{id}Okta sends DELETE only if the app is configured to delete (not just deactivate) on removal. Go to Provisioning → To App → Deactivate Users and set the option to Delete instead of deactivate, then unassign the user

Note

Okta defaults to PATCH active=false for deactivation, not DELETE. To get a hard delete, the app provisioning option must explicitly be set to delete.

Step 6: Force a sync

To trigger provisioning immediately:

  • Per-user: Assignments → [user] → Push Now
  • All users: Push Now button on the Assignments tab

Microsoft Entra ID

Step 1: Create an enterprise application

In Azure Portal: Entra ID → Enterprise Applications → New Application → Create your own application

  • Name: BeyondTrust Nomine SCIM (Test)
  • Select: "Integrate any other application you don't find in the gallery"

Step 2: Configure the SCIM provisioning connector

Under the app: Provisioning → Get started → Provisioning Mode: Automatic

Under Admin Credentials:

OptionValue
Tenant URLhttps://<cloudfront-distribution>.cloudfront.net/scim/v2
Secret TokenSCIM_<token>

Click Test Connection — expect success. Save.

Step 3: Configure attribute mappings

Under Provisioning → Mappings:

Provision Azure Active Directory Users — ensure these are active:

Azure AD attributeSCIM attribute
userPrincipalNameuserName
givenNamename.givenName
surnamename.familyName
mailemails[type eq "work"].value
accountEnabledactive

Provision Azure Active Directory Groups — ensure this mapping is active (required for group sync).

Step 4: Configure scope and settings

Under Provisioning → Settings:

SettingRecommended value
Provisioning ScopeSync only assigned users and groups
Notification Emailyour test email

Step 5: Assign users and groups to the app

Under Users and Groups → Add user/group:

  • Assign individual users to test user operations
  • Assign groups to test group sync operations

Step 6: Trigger each SCIM operation

OperationIdP action
POST /scim/v2/UsersAssign a user to the app under Users and Groups → use Provision on demand (see Step 7) to trigger immediately
PUT or PATCH /scim/v2/Users/{id}Edit the user's profile attributes in Azure AD (e.g. surname) → use Provision on demand to push the change immediately
PATCH active=False (deactivation)Block sign-in for the user in Azure AD (accountEnabled = false), or remove the user from the app assignment. Use Provision on demand to trigger immediately
PATCH active=True (reactivation)Re-enable the user in Azure AD or re-assign to the app
DELETE /scim/v2/Users/{id}Hard-delete the user from Azure AD, or configure the provisioning app to delete on removal under Provisioning → Settings → Action when out of scope
POST /scim/v2/GroupsAssign a group (not just user) to the app under Users and Groups → Entra creates the group in the target via POST /scim/v2/Groups
PATCH /scim/v2/Groups — add memberAdd a user to the Entra group that is assigned to the app
PATCH /scim/v2/Groups — remove memberRemove a user from the Entra group that is assigned to the app

Note

Entra's default deprovisioning action is PATCH active=False, not DELETE. To get a hard delete, go to Provisioning → Settings → Action when out of scope and set to Delete.

Step 7: Provision on demand (recommended for testing)

Rather than waiting for the 40-minute auto-sync cycle, use Provision on demand to test a specific user or group immediately:

Provisioning → Provision on demand → select user or group → Provision

Entra shows the full provisioning log including the exact SCIM request and response — useful for debugging.

Supported provisioning operations

ActionObject typeDescription
CreateUserCreates a new Pathfinder user when the user is assigned from the identity provider.
UpdateUserUpdates supported user attributes such as name or email address.
DeactivateUserDisables a user in Pathfinder when the assignment is removed or the user is deprovisioned.
Create or updateGroupCreates or maintains groups and membership information where group provisioning is supported.
RemoveGroupRemoves group relationships or group objects where supported by the implementation.

User lifecycle behavior

SCIM-provisioned users are managed primarily from the external identity provider.

  • When a user is assigned in the identity provider, Pathfinder creates the user record.
  • When user attributes change in the identity provider, Pathfinder updates the corresponding attributes.
  • When the user is unassigned or deprovisioned, Pathfinder deactivates the account based on supported behavior.

Existing users and identity conflicts

If a SCIM-provisioned user matches an existing Pathfinder account, Pathfinder may attempt to link the record or may require administrator review, depending on the implementation.

Review duplicate or conflicting accounts before broad rollout.

Group provisioning

If group provisioning is supported, the IdP can send group objects and membership changes to Pathfinder.

  • Use groups to simplify assignment and access management.
  • Review how Pathfinder maps provisioned groups to roles, permissions, or application access.
  • Confirm whether nested groups are supported in your release and provider combination.

©2003-2026 BeyondTrust Corporation. All Rights Reserved. Other trademarks identified on this page are owned by their respective owners. BeyondTrust is not a chartered bank or trust company, or depository institution. It is not authorized to accept deposits or trust accounts and is not licensed or regulated by any state or federal banking authority.