Zum Inhalt springen

SAML-Identitätsanbieter im Jitterbit App Builder

Die SAML Single Sign-On (SSO) Authentifizierung ist in den folgenden Dokumenten definiert:

In einem SSO-Szenario gibt es drei Rollen:

  • Principal - Der Benutzer, der auf einen eingeschränkten Dienst zugreift.
  • Service Provider (SP) - Bietet Zugang zu eingeschränkten Diensten.
  • Identity Provider (IdP) - Authentifiziert Benutzer.

Der App Builder kann entweder als SP oder IdP mit dem entsprechenden Sicherheitsanbieter konfiguriert werden. Dieses Dokument behandelt den SAML IdP Sicherheitsanbieter. Der SAML IdP Sicherheitsanbieter authentifiziert Benutzer im Auftrag eines Drittanbieter-SP. Typischerweise ist der Drittanbieter eine andere Instanz des App Builders.

Für die SP-Rolle siehe den SAML Sicherheitsanbieter.

Flows

Die SAML Single Sign-On (SSO) Spezifikation definiert mehrere Flows. Der SAML IdP Sicherheitsanbieter unterstützt die folgenden SAML SSO Flows:

  • Vom Service Provider (SP) initiiert
  • Vom Identity Provider (IdP) initiiert

Vom Service Provider (SP) initiiert

Im vom Service Provider (SP) initiierten Flow navigiert ein Benutzer zu einem Drittanbieterdienst und versucht, auf eine eingeschränkte Ressource zuzugreifen. Der Drittanbieterdienst leitet den Benutzer über die SAML Redirect-Bindung (HTTP GET) zum App Builder um. Wenn der Benutzer sich noch nicht authentifiziert hat, leitet der App Builder den Benutzer zum Anmeldeformular weiter.

Sobald der Benutzer authentifiziert ist, leitet der App Builder den Benutzer über die SAML Post-Bindung (HTTP POST) zurück zum Drittanbieterdienst. Der Drittanbieterdienst validiert die SAML-Antwort, ordnet den Namensbezeichner einem lokalen Benutzerkonto zu und gewährt die mit diesem Benutzerkonto verbundenen Rechte.

Im vom SP initiierten Flow zeichnet der Drittanbieterdienst typischerweise die URL auf, auf die der Benutzer vor der Umleitung zuzugreifen versuchte. Sobald der SAML SSO-Prozess abgeschlossen ist, leitet der SP den Benutzer zu dieser URL weiter. Dies ermöglicht Deep Links.

Identity Provider (IdP) initiiert

Im Identity Provider (IdP) initiierten Ablauf folgt ein Benutzer einem Link zum Single Sign-On Service. Wenn der Benutzer sich noch nicht authentifiziert hat, leitet der App Builder den Benutzer zum Anmeldeformular weiter.

Sobald der Benutzer sich authentifiziert hat, leitet der App Builder den Benutzer mithilfe der SAML Post-Bindung (HTTP POST) zurück zum Drittanbieter-Service. Wie beim SP-initiierten Ablauf validiert der Drittanbieter-Service die SAML-Antwort, ordnet den Namensbezeichner einem lokalen Benutzerkonto zu und gewährt die mit diesem Benutzerkonto verbundenen Rechte.

Da der IdP-Ablauf nicht vom Drittanbieter-SP initiiert wird, wird der Benutzer typischerweise auf eine Standardseite umgeleitet, sobald der SAML SSO-Prozess abgeschlossen ist. Einige SPs erlauben es jedoch dem IdP, den Benutzer an einen beliebigen Ort umzuleiten, indem eine URL im RelayState-Parameter übergeben wird.

Konfiguration

Tokens

  • Issuer: SAML-Assertionsaussteller.
  • Audience: Einschränkung der SAML-Assertionszielgruppe. Der Wert muss eine syntaktisch gültige URI sein.
  • Recipient: SAML-Assertionsempfänger. Der Wert muss eine syntaktisch gültige URI sein. Standardmäßig auf den Assertion Consumer Service gesetzt.
  • Entity ID: SAML-Entitätsbezeichner. Der Wert muss eine syntaktisch gültige URI sein. Standardmäßig auf den Issuer gesetzt.
  • Subject: SAML NameId. Standardmäßig auf den aktuellen Benutzernamen gesetzt.

Endpunkte

Typ Beschreibung
Assertion Consumer Service Endpunkt des Drittanbieter-Service Providers (SP), der SAML-Antwort (SAMLResponse) Nachrichten empfängt.
Single Sign-On Service Endpunkt, der Authentifizierungsanforderungen (AuthNRequest) Nachrichten empfängt. Standardmäßig basierend auf der aktuellen URL. Siehe unten Single Sign-On Service.

Zertifikate

Zweck Typ Format Beschreibung
Signatur X.509-Zertifikat mit privatem Schlüssel PKCS#12 (PFX), passwortgeschützt, base64-kodiert X.509-Zertifikat mit privatem Schlüssel. Wird verwendet, um die SAML Single Sign-On (SSO) Antwort zu signieren.

Wie oben erwähnt, benötigt der App Builder ein base64-kodiertes PKCS#12-Signaturzertifikat mit privatem Schlüssel. Der Prozess zur Erstellung eines Zertifikats liegt außerhalb des Umfangs dieses Dokuments. Zu Illustrationszwecken zeigen die folgenden Befehle, wie man ein kompatibles Zertifikat mit dem OpenSSL-Befehlszeilenprogramm generiert.

Der folgende Befehl generiert einen privaten Schlüssel (key.pem) und ein selbstsigniertes Zertifikat (cert.pem):

$ openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -nodes -days 1095 -subj "/CN=localhost/O=App Builder"

Der folgende Befehl generiert ein PKCS#12-Archiv (cert.pfx), das den privaten Schlüssel und das Zertifikat enthält:

$ openssl pkcs12 -export -in cert.pem -inkey key.pem -out cert.pfx

Sie werden aufgefordert, ein Passwort einzugeben. Der App Builder benötigt dieses Passwort, um den privaten Schlüssel zu entschlüsseln.

Schließlich kodiert der folgende Befehl das PKCS#12-Archiv in base64:

$ openssl base64 -in cert.pfx -out cert.txt -A

Kopieren Sie den Inhalt von cert.txt und fügen Sie ihn in den App Builder ein.

Eigenschaften

Der SAML IdP-Sicherheitsanbieter definiert die folgenden zusätzlichen Parameter:

Parameter Standard Beschreibung
AllowRelayStatePassthrough False Gibt an, ob beliebige RelayState-Werte, die vom Client empfangen werden, an den SAML-Dienstanbieter (SP) weitergegeben werden sollen.

Beachten Sie, dass dies nur für eine vom Identitätsanbieter (IdP) initiierte Anmeldung gilt: Bei einer vom SP initiierten Anmeldung bestimmt der SP den Wert des RelayState-Parameters.

Standardmäßig gibt der SAML IdP den RelayState-Wert nicht an den SP weiter. Setzen Sie ihn auf True, um RelayState-Werte an den SP weiterzugeben.
CacheDuration Dauer des SAML IdP-Metadaten-Caches in Sekunden.
RelayState Wert, der im RelayState-Parameter an den SAML-Dienstanbieter (SP) übergeben wird.

Beachten Sie, dass dies nur für eine vom Identitätsanbieter (IdP) initiierte Anmeldung gilt: Bei einer vom SP initiierten Anmeldung bestimmt der SP den Wert des RelayState-Parameters.

Akzeptable Werte variieren je nach Implementierung. Einige SAML SP-Implementierungen akzeptieren eine Umleitungs-URI.
ValidUntil Ablaufdatum der SAML IdP-Metadaten. Erwartet ein im ISO 8601-Format formatiertes Datum wie:
  • 2025-06-09
  • 2025-06-09T16:13:52+00:00
  • 2025-06-09T16:13:52Z

Ansprüche

Der SAML IdP-Sicherheitsanbieter ordnet Benutzerattribute den Ansprüchen zu. Die Ansprüche sind als Attribute in der SAML-Assertion eingebettet. Der Attributname entspricht dem Anspruchsbezeichner.

Wenn beispielsweise die Name-Eigenschaft dem Anspruchsbezeichner http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name zugeordnet wurde, würde die SAML-Assertion das folgende Attribut enthalten:

<Attribute AttributeName="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name">
  <AttributeValue>Arthur.Dent</AttributeValue>
</Attribute>

Die Group-Eigenschaft kann verwendet werden, um die Mitgliedschaft in Sicherheitsgruppen zu übermitteln. Standardmäßig enthalten SAML-Assertions keine Gruppen. Sie müssen die Gruppen, die einbezogen werden sollen, ausdrücklich registrieren.

Um die Gruppenmitgliedschaft einzuschließen, erstellen Sie eine Sicherheitsanbieterguppe und ordnen Sie sie einer App Builder-Gruppe zu. Wenn der Benutzer Mitglied der App Builder-Gruppe ist, wird die Sicherheitsanbieterguppe der Assertion hinzugefügt. Der Bezeichner der Sicherheitsanbieterguppe wird verwendet. Wenn der Bezeichner null ist, wird der Name verwendet.

Integration

Der SAML IdP-Sicherheitsanbieter stellt die folgenden Endpunkte zur Verfügung:

  • Single Sign-On-Dienst
  • Metadaten-Endpunkt

Single Sign-On-Dienst

Der Single Sign-On-Dienst empfängt SAML-Anforderungsnachrichten (AuthNRequest). Die URL des Single Sign-On-Dienstes hat folgende Form:

https://example.com/Vinyl/signin-SAMLIDP

Die URL setzt sich aus den folgenden Teilen zusammen:

Komponente Beschreibung
https://example.com/Vinyl/ Absolute URL des App Builder-Anwendungsverzeichnis.
SAMLIDP URL-kodierter Name des SAML IdP-Sicherheitsanbieters. Der Wert ist groß- und kleinschreibungsempfindlich.

Metadaten-Endpunkt

Der Metadaten-Endpunkt veröffentlicht ein Metadokument (Metadata). Die URL des Metadaten-Endpunkts hat folgende Form:

Komponente Beschreibung
https://example.com/Vinyl/ Absolute URL des App Builder-Anwendungsverzeichnisses.
SAMLIDP URL-kodierter Name des SAML IdP-Sicherheitsanbieters. Der Wert ist groß- und kleinschreibungsempfindlich.

Bekannte Probleme und Einschränkungen

Der SAML IdP-Sicherheitsanbieter des App Builders hat folgende Einschränkungen:

  • Es darf nur eine einzige Zielgruppenbeschränkung angegeben werden.
  • SAML-Antworten dürfen nicht verschlüsselt sein.
  • SAML-Antworten dürfen nicht signiert sein.
  • SAML-Assertions sind immer signiert.
  • Das Artifact-Resolution-Protokoll wird nicht unterstützt.
  • Das Logout-Protokoll wird nicht unterstützt.