Zum Hauptinhalt springen
Version: 4.1 (2026-H2)

SCIM


Überblick

In primedocs steht eine SCIM-Schnittstelle (System for Cross-domain Identity Management) zur Verfügung.
SCIM ist ein offener Standard, um Benutzer- und Gruppendaten zwischen Identitätsprovidern (z. B. Microsoft Entra ID) und Anwendungen konsistent zu synchronisieren. Ziel ist es, Identitätsinformationen standardisiert bereitzustellen und den Verwaltungsaufwand zu reduzieren.

Wir nutzen SCIM als Alternative zum Entra ID Application Permission Zugriff, um Benutzer und Gruppen zu synchronisieren. Dadurch lässt sich feingranular einstellen, welche Benutzer im Produkt sichtbar sind und welche nicht.


Einsatzszenario

Diese Konfiguration ist insbesondere dann sinnvoll, wenn keine Entra ID Application Permission erteilt werden kann oder darf.
Die Provisionierung von Benutzern und Gruppen wird dann vollständig über die neue Entra ID App mit SCIM-Provisionierung gesteuert.


Konfiguration

Voraussetzungen

  1. Die primedocs.config muss angepasst werden:
  • Ein Eintrag für den gewünschten SCIM Tenant (scimTenants) muss konfiguriert werden.
  • Die entsprechende DataSource muss mit diesem SCIM Tenant ausgestattet sein.
  • Eine Beschreibung finden Sie hier: primedocs.config
  1. In Entra ID wird dafür eine neue zusätzliche App angelegt, die die SCIM-Provisionierung übernimmt. Die "App Registration"/"Enterprise Application" für die Authentifizierung kann Seitens Entra ID nicht für die Provisionierung genutzt werden.

SCIM Endpunkt

Der SCIM-Endpunkt ist Teil der WebApi und hat folgendes Schema:

https://[primedocs-instance]/webapi/scim-api/v1/[TENANT]/scim

Hat man in der primedocs.config den SCIM Tenant (...name="demo"...) samt Token (... token="TEST123456TEST!"...) konfiguriert ergibt sich der Endpunkt nach diesem Schema:

https://customer123.primedocs.io/webapi/scim-api/v1/demo/scim

Token: TEST123456TEST!


Unterstützte Eigenschaften

Die verfügbaren Eigenschaften können auch über den Schema-Endpunkt abgefragt werden.

Benutzer

In der Minimal-Konfiguration werden folgende Standardattribute unterstützt:

  • externalId
  • userName
  • active
  • displayName

Darüber hinaus können bis zu 16 zusätzliche optionale Felder synchronisiert werden:

  • urn:ietf:params:scim:schemas:extension:primedocs:2.0:User:customAttribute01
  • urn:ietf:params:scim:schemas:extension:primedocs:2.0:User:customAttribute02
  • urn:ietf:params:scim:schemas:extension:primedocs:2.0:User:customAttribute03
  • urn:ietf:params:scim:schemas:extension:primedocs:2.0:User:customAttribute04
  • urn:ietf:params:scim:schemas:extension:primedocs:2.0:User:customAttribute05
  • urn:ietf:params:scim:schemas:extension:primedocs:2.0:User:customAttribute06
  • urn:ietf:params:scim:schemas:extension:primedocs:2.0:User:customAttribute07
  • urn:ietf:params:scim:schemas:extension:primedocs:2.0:User:customAttribute08
  • urn:ietf:params:scim:schemas:extension:primedocs:2.0:User:customAttribute09
  • urn:ietf:params:scim:schemas:extension:primedocs:2.0:User:customAttribute10
  • urn:ietf:params:scim:schemas:extension:primedocs:2.0:User:customAttribute11
  • urn:ietf:params:scim:schemas:extension:primedocs:2.0:User:customAttribute12
  • urn:ietf:params:scim:schemas:extension:primedocs:2.0:User:customAttribute13
  • urn:ietf:params:scim:schemas:extension:primedocs:2.0:User:customAttribute14
  • urn:ietf:params:scim:schemas:extension:primedocs:2.0:User:customAttribute15
  • urn:ietf:params:scim:schemas:extension:primedocs:2.0:User:customAttribute16

Die Form der customAttribute wurde so gewählt um bei der Synchronisierung die nötige Flexibilität zu bieten. Die eigentliche Benutzersynchronisierung im primedocs System geschiet über die Benutzersynchronisation.

Im Entra ID sieht die Konfiguration u.A. so aus:

image-20250826-121224.png

Wichtig:

  • Passwörter werden nicht synchronisiert.
  • Die eigentliche Authentifizierung der Benutzer erfolgt ausschliesslich über die hinterlegte Entra ID App zur Authentifizierung: Entra ID Apps

Gruppen

Für Gruppen werden folgende Attribute unterstützt:

  • externalId
  • displayName
  • members (Liste der Benutzer-IDs, die zur Gruppe gehören)

Im Entra ID sieht dies so aus:

image-20250826-120119.png


Datenbereinigung

Der Prozess zur endgültigen Löschung von Benutzern mit dem Status active=false aus der Datenbank wird standardmässig 48 Stunden nach der Deaktivierung durch den JobHost gestartet.
Dieser Zeitraum kann über die Konfigurationsdatei primedocs.config mithilfe des Attributs deactivedUserRetentionHours angepasst werden.

hinweis

Erst durch die Löschung aus der SCIM-Datenbank, kann das reguläre Benutzer-Offboarding starten.


Technische Details

  • Alle SCIM-Daten werden in der Operations-Datenbank gespeichert.
  • Pro Instanz können mehrere SCIM Tenants hinterlegt werden.
  • Die DataSource wird mit einem SCIM Tenant verbunden. In diesem Fall arbeitet der PrincipalConnector im SCIM-Modus.
    • Benutzer und Gruppen in der Operations-Datenbank bilden dabei eine Art "Schatten-Entra ID".
  • Für die Benutzersynchronisierung steht eine SyncSource zur Verfügung:
    • SCIM (Benutzersynchronisation)
    • Diese sorgt dafür, dass die SCIM-Attribute (inkl. der bis zu 16 Zusatzfelder) auf die entsprechenden Benutzerfelder in der primedocs-Datenbank gemappt werden können.