Maximo Application Suite — Konfiguration der SCIM-Benutzersynchronisierung und allgemeine Herausforderungen erklärt


Synchronizing users and groups between an Identity Provider (IdP) such as Azure Entra ID and the Maximo Application Suite (MAS) is a critical step in enabling centralized identity and access management. MAS supports SCIM 2.0 for provisioning, but several nuances — and a few pitfalls — can impact the sync process if not understood clearly.
This blog walks through:
SCIM provisioning from Azure Entra ID to MAS requires a JWT token, which is derived from a MAS API Key.
Note: MAS does not allow recovery of authentication token details.
If lost, you must generate a new API key.
Once the API key and token are created, you must issue a GET request to generate a JWT. You can use postman to generate the token with details below.
GET https://api.%3cmasdomain%3e/v1/authenticate]https://api.<masdomain>/v1/authenticate
The response returns a JWT token that will be used by Azure Entra SCIM provisioning.
A SCIM profile controls how identities and entitlements sync from the IdP. To create a profile, hit the following URL POST request with body as the below.
https://api.%3cmasdomain%3e/scim/v2/Profiles]https://api.<masdomain>/scim/v2/Profiles
Reference: User synchronization with SCIM 2.0 - IBM Documentation
{
"id": "MasProfile1",
"version": 1,
"identities": [
{ "id": "default-saml",
"type": "saml",
"samlId": "externalId"
}
],
"entitlement": {
"application": "BASE"
},
"runtimeConfigs": {
"useGroupDisplayNameAsGroupId": true
},
"workspaces": [
{ "id": "test",
"applications": ["manage"]
}
]
}
{
"id": "MasProfile2",
"version": 2,
"identities": [
{
"id": "default-saml",
"type": "saml",
"samlId": "externalId"
}
],
"entitlement": {
"application": "BASE"
},
"workspaces":
[
{
"id": "uat",
"applications": ["manage"]
}
],
"runtimeConfigs": {
"useGroupDisplayNameAsGroupId": true
}
}
Maximo-Sicherheitsgruppen und ihre Mitgliedschaft können im Azure Entra-Projekt verwaltet werden, während Anwendungsautorisierungen in Maximo Manage verwaltet werden. Wenn Gruppen über SCIM synchronisiert werden, wird die Gruppen-ID (z. B. AP_Maximo_Supervisors_TYHNTB) als Gruppenname in Maximo zugeordnet, wodurch eine neue Gruppe erstellt wird, anstatt eine Verknüpfung mit der vorhandenen AP_MAXIMO_SUPERVISORS-Gruppe herzustellen. Da AP_Maximo_Supervisors_TYHNTB die SCIM-Gruppen-ID ist, können wir sie nicht entfernen oder neu zuordnen.
Wenn Gruppen von Azure AD → MAS Core synchronisiert werden:
Dies verursacht eine neue Gruppe muss in Maximo erstellt werden, anstatt der vorhandenen Maximo-Sicherheitsgruppe zugeordnet zu werden.
Fügen Sie beim Erstellen des SCIM-Profils das folgende Tag hinzu.
„useGroupDisplayNameAsGroupId“: wahr
Dadurch wird sichergestellt, dass MAS die Anzeigename als Gruppen-ID und vermeidet unerwünschte Suffixe.
Hinweis: Wenn Sie ein vorhandenes Profil in MAS ändern, erhöhen Sie die „Versionsnummer“. MAS wird nur aktualisiert, wenn sich die Version ändert.
Wenn Sie einen Benutzer aus der Azure Entra-Gruppe entfernen, sendet Entra die folgende Patch-Anfrage an MAS, wodurch MAS gezwungen wird, alle Benutzer aus der Gruppe zu löschen, anstatt einen bestimmten Benutzer.
Die in den MAS Core-Protokollen protokollierte Patch-Anfrage:
PATCH: /scim/v2/masstgprofileext/groups/maximo-SecGroup
{
'schemas': [...],
'Operations': [
{
'op': 'Remove',
'path': 'members',
'value': [{'value': 'userid'}]
}
]
}
Das ist NICHT SCIM-konform.
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{
"op": "remove",
"path": "members[value eq \"userid\"]"
}
]
}
Azure Entra bietet eine SCIM-Kompatibilitätsmodus.
Aktivieren Sie es, indem Sie diesen Parameter an die SCIM-URL anhängen:
? A adoptiert CIM 06 2020
Dies behebt:
Referenz:
Erfahren Sie alles, was Sie wissen müssen, um Ihre Vermögensverwaltungsstrategie zu modernisieren.
Darin erfährst du:

ActiveG, BPD Zenith, EAM Swiss, InterPro Solutions, Lexco, Peacock Engineering, Projetech, Sharptree, and ZNAPZ have united under one brand: Naviam.
You’ll be redirected to the most relevant page at Naviam.io in a few seconds — or you can
go now.