SSO & SCIM
Single Sign-on mit OpenID Connect, verifizierte E-Mail-Domänen, Just-in-Time-Konten und SCIM-2.0-Bereitstellung von Mitgliedern und Gruppen.
Inhalt geprüft am 26. September 2026
Überblick
ERP Preflight unterstützt Single Sign-on mit OpenID Connect (Authorization Code Flow mit PKCE). Jede Organisation konfiguriert einen Identitätsanbieter. SAML 2.0 ist nicht verfügbar.
Organisationsinhaber und Security-Admins richten SSO und SCIM unter Integrationen → SSO & SCIM ein. Diese Einstellungen erfordern eine interaktive Anmeldung — API-Schlüssel können sie nicht ändern —, und jede Änderung wird im Audit-Log protokolliert.
Identitätsanbieter einrichten
- Registrieren Sie ERP Preflight bei Ihrem Identitätsanbieter als OIDC-Client mit der im Formular angezeigten Redirect-URI (sie endet auf
/api/v1/sso/callback). - Tragen Sie Issuer-URL, Client-ID und bei einem vertraulichen Client das Client-Secret ein. Beim Speichern ruft ERP Preflight
<issuer>/.well-known/openid-configurationab und prüft das Dokument; der Issuer muss von ERP Preflight aus erreichbar sein. - Übernehmen Sie die voreingestellten Scopes
openid email profileoder passen Sie sie an;openidist Pflicht. - Wählen Sie die Rolle für Just-in-Time bereitgestellte Benutzer:
VIEWER(Standard),AUDITOR,MIGRATION_CONSULTANToderLEAD_ARCHITECT. Inhaber- und Security-Admin-Rollen werden nie automatisch vergeben.
Das Client-Secret wird verschlüsselt gespeichert und nie wieder angezeigt; lassen Sie das Feld leer, um das gespeicherte Secret zu behalten. Mit Secret authentifiziert sich ERP Preflight am Token-Endpunkt per HTTP Basic; ohne Secret stützt sich der Ablauf allein auf PKCE.
E-Mail-Domänen verifizieren
SSO-Anmeldungen werden nur für E-Mail-Adressen aus Domänen angenommen, deren Besitz Ihre Organisation nachgewiesen hat:
- Fügen Sie die Domäne (z. B.
example.com) unter Verifizierte Domänen hinzu. - Legen Sie den dort angezeigten DNS-TXT-Eintrag an: Name
_erppreflight-challenge.<domain>, Werterppreflight-domain-verification=<token>. - Wählen Sie DNS prüfen. Wird der Eintrag gefunden, erhält die Domäne den Status
VERIFIED.
Eine verifizierte Domäne gehört zu genau einer Organisation.
Anmeldung, Bereitstellung und Erzwingung
Mitglieder öffnen die SSO-Anmeldeseite (/sso), geben ihre geschäftliche E-Mail-Adresse ein und werden zum Identitätsanbieter der Organisation weitergeleitet, die die Domäne verifiziert hat. Nach der Anmeldung prüft ERP Preflight das ID-Token — Signatur (JWKS), Issuer, Audience, Ablauf und Nonce — und verlangt, dass der Identitätsanbieter die E-Mail-Adresse als bestätigt ausweist (email_verified) und dass sie zu einer der verifizierten Domänen der Organisation gehört.
- Just-in-Time-Bereitstellung (standardmäßig aktiv): Bei der ersten SSO-Anmeldung wird ein fehlendes Konto angelegt und der Organisation mit der oben gewählten Rolle hinzugefügt. So angelegte Konten haben kein Passwort.
- Ohne Just-in-Time-Bereitstellung können sich nur bestehende Mitglieder der Organisation per SSO anmelden — etwa über SCIM bereitgestellte Benutzer.
- Eine SSO-Anmeldung erzeugt dieselbe serverseitige Sitzung wie eine Anmeldung mit Passwort; Abmelden und das Beenden von Sitzungen unter Einstellungen → Sicherheit funktionieren genauso.
- SSO erzwingen: Ist
enforceSsogesetzt, können sich Mitglieder, deren E-Mail-Adresse zu einer verifizierten Domäne gehört, nicht mehr mit Passwort oder E-Mail-Link anmelden; die Anmeldeseite bietet dann Mit Single Sign-on fortfahren an. Der Schalter wird über die Administrations-API gesetzt (PUT /api/v1/sso/admin/config); das Formular in der Web-App zeigt ihn nicht an, und das Speichern des Formulars — oder einPUTohneenforceSso— behält die aktuelle Einstellung bei.
SCIM-2.0-Bereitstellung
Mit SCIM 2.0 legt Ihr Identitätsanbieter Mitglieder und Gruppen der Organisation an, aktualisiert und deaktiviert sie.
- Wählen Sie unter Integrationen → SSO & SCIM die Aktion SCIM-Token erstellen. Das Bearer-Token beginnt mit
erppf_scim_und wird einmal angezeigt; ERP Preflight speichert nur seinen SHA-256-Hash. Tokens werden mit Präfix und letzter Nutzung aufgelistet und lassen sich widerrufen. - Konfigurieren Sie Ihren Identitätsanbieter mit der SCIM-2.0-Basis-URL
https://<Ihr-API-Host>/api/v1/scim/v2und dem HeaderAuthorization: Bearer erppf_scim_….
Die Bereitstellung wirkt auf die Mitgliedschaft in der Organisation. Das Anlegen oder Aktivieren eines Benutzers fügt die Mitgliedschaft hinzu; active: false oder DELETE entfernt sie, und der Zugriff endet sofort. Benutzerkonten sind global und werden über SCIM nie gelöscht. Neue Mitglieder erhalten die für die Just-in-Time-Bereitstellung konfigurierte Rolle (VIEWER, wenn kein Identitätsanbieter eingerichtet ist). SCIM vergibt nie die Inhaberrolle, und der letzte Organisationsinhaber kann nicht deprovisioniert werden.
Eine bereitgestellte Gruppe lässt sich mit PATCH /api/v1/sso/admin/scim-groups/{id} und einem Body wie {"role": "AUDITOR"} einer der Rollen VIEWER, AUDITOR, MIGRATION_CONSULTANT, LEAD_ARCHITECT oder SECURITY_ADMIN zuordnen (null entfernt die Zuordnung). Mitglieder einer zugeordneten Gruppe erhalten diese Rolle; Inhaber behalten ihre. Die Web-App bietet diese Zuordnung noch nicht an.
SCIM-Endpunkte und unterstützte Operationen
GET /api/v1/scim/v2/ServiceProviderConfig
GET /api/v1/scim/v2/ResourceTypes
GET /api/v1/scim/v2/Users?filter=userName eq "jane@example.com"&startIndex=1&count=100
POST /api/v1/scim/v2/Users
GET /api/v1/scim/v2/Users/{id}
PUT /api/v1/scim/v2/Users/{id}
PATCH /api/v1/scim/v2/Users/{id}
DELETE /api/v1/scim/v2/Users/{id}
GET /api/v1/scim/v2/Groups?filter=displayName eq "SAP-Architektur"
POST /api/v1/scim/v2/Groups
GET /api/v1/scim/v2/Groups/{id}
PUT /api/v1/scim/v2/Groups/{id}
PATCH /api/v1/scim/v2/Groups/{id}
DELETE /api/v1/scim/v2/Groups/{id}- Users: Die E-Mail-Adresse stammt aus dem primären
emails-Eintrag, sonst aus dem ersten Eintrag, sonst aususerName.name(formattedodergivenNameundfamilyName) unddisplayNamewerden nur beim Anlegen des Kontos übernommen.PUTaktualisiertuserName,externalIdundactive; eine Änderung der E-Mail-Adresse wird abgewiesen.PATCHunterstützt die Operationenaddundreplacefüractive. - Groups:
displayName,externalIdundmembers(IDs von Benutzern dieser Organisation; andere IDs werden ignoriert).PATCHunterstütztadd,replaceundremoveaufmembers, das Entfernen übermembers[value eq "<id>"]sowie das Ändern vondisplayName. - Filter (URL-kodiert): Benutzer nach
userName eq,externalId eqoderemails eq, Gruppen nachdisplayName eq. Benutzerlisten werden mitstartIndexundcountseitenweise geliefert (Standard 100, höchstens 200). - Nicht unterstützt: Bulk-Operationen, Sortierung, ETags, Passwortänderungen und der Endpunkt
/Schemas.
Antworten und Fehler verwenden application/scim+json und das SCIM-Fehlerschema. Anfragen einer gesperrten Organisation werden abgewiesen.