Zum Inhalt springen
ERP Preflight

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

  1. 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).
  2. Tragen Sie Issuer-URL, Client-ID und bei einem vertraulichen Client das Client-Secret ein. Beim Speichern ruft ERP Preflight <issuer>/.well-known/openid-configuration ab und prüft das Dokument; der Issuer muss von ERP Preflight aus erreichbar sein.
  3. Übernehmen Sie die voreingestellten Scopes openid email profile oder passen Sie sie an; openid ist Pflicht.
  4. Wählen Sie die Rolle für Just-in-Time bereitgestellte Benutzer: VIEWER (Standard), AUDITOR, MIGRATION_CONSULTANT oder LEAD_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:

  1. Fügen Sie die Domäne (z. B. example.com) unter Verifizierte Domänen hinzu.
  2. Legen Sie den dort angezeigten DNS-TXT-Eintrag an: Name _erppreflight-challenge.<domain>, Wert erppreflight-domain-verification=<token>.
  3. 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 enforceSso gesetzt, 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 ein PUT ohne enforceSso — 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.

  1. 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.
  2. Konfigurieren Sie Ihren Identitätsanbieter mit der SCIM-2.0-Basis-URL https://<Ihr-API-Host>/api/v1/scim/v2 und dem Header Authorization: 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 aus userName. name (formatted oder givenName und familyName) und displayName werden nur beim Anlegen des Kontos übernommen. PUT aktualisiert userName, externalId und active; eine Änderung der E-Mail-Adresse wird abgewiesen. PATCH unterstützt die Operationen add und replace für active.
  • Groups: displayName, externalId und members (IDs von Benutzern dieser Organisation; andere IDs werden ignoriert). PATCH unterstützt add, replace und remove auf members, das Entfernen über members[value eq "<id>"] sowie das Ändern von displayName.
  • Filter (URL-kodiert): Benutzer nach userName eq, externalId eq oder emails eq, Gruppen nach displayName eq. Benutzerlisten werden mit startIndex und count seitenweise 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.

SSO & SCIM — ERP Preflight Docs