User synchronization with SCIM 2.0
Starting in Maximo® Application Suite 9.0, you can synchronize users and groups from an external identity provider by using the System for Cross-domain Identity Management (SCIM) 2.0 protocol.
SCIM 2.0 support simplifies user management by enabling external identity providers, such as Okta or Microsoft Entra, to synchronize users and groups through a push mechanism. The SCIM specification defines a common schema for user and group resources with a protocol that defines how operations are performed on those resources. SCIM facilitates the exchange of these resources across different services.
By using SCIM capabilities in Maximo Application Suite, existing users and groups that are defined in an identity provider are automatically synchronized with Maximo Application Suite when those resources are assigned access. Therefore, you do not need to manually add users or groups into the Suite. Also, updates or removal of access is automatically synchronized when the appropriate configuration is applied in the identity provider.
SCIM APIs
The Maximo Application Suite APIs are accessed by using the base URL: https://api.{mas-instance-id}.{domain}/scim/v2/{profileId}.
You can use the following endpoints to apply create, retrieve, update, and delete operations on user resources,
| Endpoint | Method | Description |
|---|---|---|
| /scim/v2/{profileId}/Users | POST |
Pushes a new user into Maximo Application Suite. |
| /scim/v2/{profileId}/Users | GET |
Retrieves users with filtering and paging. |
| /scim/v2/{profileId}/Users/{userId} | GET |
Retrieves a specific user. |
| /scim/v2/{profileId}/Users/{userId} | PUT |
Updates a specific user. |
| /scim/v2/{profileId}/Users/{userId} | PATCH |
Updates any changed fields for a specific user. |
| /scim/v2/{profileId}/Users/{userId} | DELETE | Deletes a specific user. |
You can use the following endpoints to apply create, retrieve, update, and delete operations on group resources.
| Endpoint | Method | Description |
|---|---|---|
| /scim/v2/{profileId}/Groups | POST |
Pushes a new group into Maximo Application Suite. |
| /scim/v2/{profileId}/Groups | GET |
Retrieves groups with filtering and paging. |
| /scim/v2/{profileId}/Groups/{groupId} | GET |
Retrieves a specific group. |
| /scim/v2/{profileId}/Groups/{groupId} | PUT |
Updates a specific group |
| /scim/v2/{profileId}/Groups/{groupId} | PATCH |
Updates any changed fields for a specific group |
| /scim/v2/{profileId}/Groups/{groupId} | DELETE |
Deletes a specific group |
Maximo Application Suite SCIM profiles
The {profileId} in the base URL is a user-selected ID for a Maximo Application Suite resource that is called the Maximo Application Suite SCIM profile.
A SCIM profile is a collection of Maximo Application Suite configurations that acts as a template to configure users and groups as they are added into Maximo Application Suite. You use a SCIM profile because the SCIM schema defines the general users and groups attributes and does not include specific Maximo Application Suite elements that are necessary for a functional user, such as the ability to log in, entitlements, and application permissions. This Maximo Application Suite SCIM profile is applied to the following configurations:
- Workspace access
- Application access
- Entitlement
- Identity configuration
The following fields are also included in the configuration:
- id
- The {profileId} that is used in the base URL and is how Maximo Application Suite identifies which profile to apply to incoming API requests.
- version
- The version of the profile model resource. The only valid value in Maximo Application Suite 9.0 is 1.
By including the {profileId} in the base URL that is used to configure an external identity provider SCIM integration, the provision requests that the identity provider are linked to a Maximo Application Suite SCIM profile. The configuration can be applied to the new users or groups at the point of synchronization. Synchronized users can then log in and access applications without the need for further manual administrative action.
The Maximo Application Suite SCIM profile is used to configure the user or group once, at the point that the user or group is created. The following rules are applied when you use the Maximo Application Suite SCIM profile:
- If the profile does not exist when a user or group is added, the configuration is not applied. Administrators must manually configure the users.
- If the profile is updated after a user or group is imported, those changes apply only to new users or groups that are created after the updates. Any changes are not retroactively applied to any existing users or groups.
- If an administrator updates a user or group in Maximo Application Suite, those changes are not modified or undone by the application of a Maximo Application Suite SCIM profile.
In Maximo Application Suite 9.0, you can configure the SCIM profile resource only by using APIs.
| Endpoint | Method | Description |
|---|---|---|
| /scim/v2/Profiles | POST |
Creates a Maximo Application SuiteSCIM profile. |
| /scim/v2/Profiles | GET |
Retrieves Maximo Application Suite SCIM profiles with paging. |
| /scim/v2/Profiles{profileId} | GET |
Retrieves a specific Maximo Application Suite SCIM profile. |
| /scim/v2/Profiles/{profileId} | PUT |
Updates a specific Maximo Application Suite SCIM profile. |
| /scim/v2/Profiles/{profileId} | DELETE |
Deletes a specific Maximo Application Suite SCIM profile. |
A Maximo Application Suite SCIM profile has the following structure:
{
"id": "myprofilename",
"version": 1,
"identities": [
{
"type": "local"
},
{
"id": "default-saml",
"type": "saml",
"samlId": "userName"
},
{
"id": "default-ldap",
"type": "ldap",
"ldapUsername": "userName"
}
],
"entitlement": {
"application": "BASE"
},
"workspaces": [
{
"id": "workspace1",
"applications": [
"manage"
]
}
]
}
You can provide the following main elements to the configuration:
Identities
Identities specify the authentication mechanisms that are configured when a new user is added to Maximo Application Suite. This mechanism is an array where multiple configurations can be added when necessary to enable multiple authentication options for users.
- local
- User authentication is managed by a local Maximo Application Suite username and password.
- Saml
- User authentication is managed by a SAML identity provider.
- Ldap
- User authentication that is managed by an LDAP identity provider.
Entitlement
Entitlement specifies the level of entitlement that is granted to the user. Starting in Maximo Application Suite 9.0, you can automate the assignment of application- level entitlement by using only this configuration.
- NONE
- SELF_SERVICE
- LIMITED
- BASE
- PREMIUM
For more information, see User entitlement and access in Maximo Application Suite in 9.0 and earlier.
Workspaces
You configure workspaces to specify access to Maximo Application Suite workspaces and applications. This configuration is applied to both users and groups when they are pushed into Maximo Application Suite.
- id
- The identity of the Maximo Application Suite workspace that the user or group is added to.
- applications
-
A list of applications, by ID, that the user or group is added to.
The applications are listed by Maximo Application Suite application IDs that a user is granted a USER role to or that a group is synchronized with.
You can query the application IDs by using a GET request with the following API:
https://api.{mas-instance-id}.{mas-domain}/applications.
For more information, see API reference get information about all applications.