SAML Identitätsanbieter im Jitterbit App Builder
Die SAML Single Sign-On (SSO)-Authentifizierung ist in den folgenden Dokumenten definiert:
- Assertions und Protokolle für die OASIS Security Assertion Markup Language (SAML) V2.0
- SAML Version 2.0 Errata 05
In einem SSO-Szenario gibt es drei Rollen:
- Principal - Der Benutzer, der auf einen eingeschränkten Dienst zugreift.
- Dienstanbieter (SP) - Bietet Zugriff auf eingeschränkte Dienste.
- Identitätsanbieter (IdP) - Authentifiziert Benutzer.
App Builder kann mit dem entsprechenden Sicherheitsanbieter entweder als SP oder IdP konfiguriert werden. Dieses Dokument behandelt den Sicherheitsanbieter * SAML IdP*. Der Sicherheitsanbieter SAML IdP authentifiziert Benutzer im Auftrag eines Drittpartei-SP. In der Regel handelt es sich bei diesem Drittpartei um eine weitere Instanz von App Builder.
Informationen zur SP- Rolle finden Sie in SAML Sicherheitsanbieter.
Flüsse
Die SAML Single Sign-On (SSO)-Spezifikation definiert mehrere Abläufe. Der SAML IdP-Sicherheitsanbieter unterstützt die folgenden SAML SSO-Abläufe:
- Service Provider (SP) initiiert
- Identity Provider (IdP) initiiert
Serviceprovider (SP) initiiert
Im vom Service Provider (SP) initiierten Flow navigiert ein Benutzer zu einem Drittpartei und versucht, auf eine eingeschränkte Ressource zuzugreifen. Der Drittpartei leitet den Benutzer über die SAML App Builder (HTTP GET
). Wenn der Benutzer noch nicht authentifiziert ist, leitet App Builder den Benutzer zum Anmeldeformular weiter.
Sobald der Benutzer authentifiziert ist, leitet App Builder den Benutzer mithilfe der Drittpartei - Post-Bindung (HTTP POST
). Der Drittpartei validiert die SAML -Antwort, ordnet die Namenskennung einem lokalen Benutzerkonto zu und gewährt die mit diesem Benutzerkonto verknüpften Rechte.
Im SP-Initialisierungsablauf zeichnet der Drittpartei typischerweise die URL auf, auf die der Benutzer vor der Weiterleitung zugreifen wollte. Sobald der SAML -SSO-Prozess abgeschlossen ist, leitet der SP den Benutzer zu dieser URL weiter. Dies ermöglicht Deep Links.
Identitätsanbieter (IdP) initiiert
Im vom Identitätsanbieter (IdP) initiierten Ablauf folgt ein Benutzer einem Link zum Single Sign-On-Dienst. Sofern der Benutzer noch nicht authentifiziert ist, leitet App Builder ihn zum Anmeldeformular weiter.
Sobald der Benutzer authentifiziert ist, leitet App Builder den Benutzer mithilfe der Drittpartei - Post-Bindung (HTTP POST
). Wie beim SP-initiierten Flow validiert der Drittpartei die SAML Antwort, ordnet die Namenskennung einem lokalen Benutzerkonto zu und gewährt die mit diesem Benutzerkonto verknüpften Rechte.
Da der IdP-Flow nicht vom Drittpartei SP initiiert wird, wird der Benutzer nach Abschluss des SAML -SSO-Prozesses in der Regel auf eine Standardseite umgeleitet. Einige SPs erlauben dem IdP jedoch, den Benutzer an einen beliebigen Ort umzuleiten, indem sie eine URL im Parameter RelayState übergeben.
Konfiguration
Token
- Aussteller: Aussteller der SAML -Assertion.
- Zielgruppe: SAML -Assertion-Zielgruppenbeschränkung. Der Wert muss eine syntaktisch gültige URI sein.
- Empfänger: SAML -Assertion-Empfänger. Der Wert muss eine syntaktisch gültige URI sein. Standardmäßig wird der Assertion Consumer Service verwendet.
- Entitäts-ID: SAML -Entitätskennung. Der Wert muss eine syntaktisch gültige URI sein. Standardmäßig ist der Aussteller.
- Betreff: SAML Namens-ID. Standardmäßig der aktuelle Benutzername.
Endpoints
Typ | Beschreibung |
---|---|
Assertion Consumer Service | Endpoint eines Drittanbieter-Dienstanbieters (SP), der SAML Antwortnachrichten (SAMLResponse) empfängt. |
Single Sign-On-Dienst | Endpoint, der Authentifizierungsanfragen (AuthNRequest) empfängt. Standardeinstellungen basieren auf der aktuellen URL. Siehe Single Sign-On-Dienst weiter unten. |
Zertifikate
Zweck | Typ | Format | Beschreibung |
---|---|---|---|
Signieren | X.509-Zertifikat mit privatem Schlüssel | PKCS#12 (PFX), passwortgeschützt, Base64-codiert | X.509-Zertifikat mit privatem Schlüssel. Wird zum Signieren der SAML Single Sign-On (SSO)-Antwort verwendet. |
Wie bereits erwähnt, benötigt App Builder ein base64-kodiertes PKCS#12-Signaturzertifikat mit privatem Schlüssel. Die Erstellung eines Zertifikats geht über den Rahmen dieses Dokuments hinaus. Zur Veranschaulichung zeigen die folgenden Befehle jedoch, wie Sie mit dem OpenSSL-Befehlszeilenprogramm ein kompatibles Zertifikat erstellen.
Der folgende Befehl generiert einen privaten Schlüssel (key.pem
) und 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
) mit dem privaten Schlüssel und dem Zertifikat:
$ openssl pkcs12 -export -in cert.pem -inkey key.pem -out cert.pfx
Sie werden aufgefordert, ein Passwort einzugeben. App Builder benötigt dieses Passwort, um den privaten Schlüssel zu entschlüsseln.
Schließlich kodiert der folgende Befehl das PKCS#12-Archiv base64:
$ openssl base64 -in cert.pfx -out cert.txt-A
Kopieren und einfügen Sie den Inhalt von cert.txt
in den App Builder.
Eigenschaften
Der SAML IdP-Sicherheitsanbieter definiert die folgenden zusätzlichen Parameter:
Parameter | Standard | Beschreibung |
---|---|---|
AllowRelayStatePassthrough | False | Gibt an, ob beliebige vom Client empfangene RelayState-Werte an den SAML Dienstanbieter (SP) weitergegeben werden sollen. Dies gilt nur für vom Identitätsanbieter (IdP) initiierte Anmeldungen: Bei einer 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 diesen Wert auf True um die Übergabe von RelayState-Werten an den SP zu ermöglichen. |
CacheDuration | Dauer des SAML -IdP-Metadaten-Cache in Sekunden. | |
RelayState | Wert, der im Parameter RelayState 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 Parameters RelayState. Zulässige Werte variieren je nach Implementierung. Einige SAML SP-Implementierungen akzeptieren eine Umleitungs-URI. | |
ValidUntil | Ablaufdatum der SAML IdP-Metadaten. Erwartet ein Datum im ISO 8601-Format, wie etwa:
|
Ansprüche
Der SAML IdP-Sicherheitsanbieter ordnet Benutzereigenschaften Ansprüchen zu. Die Ansprüche sind als Attribute in die SAML -Assertion eingebettet. Der Attributname entspricht der Anspruchskennung.
Wenn beispielsweise die Eigenschaft Name der Anspruchskennung zugeordnet wurde http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
, 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>
Mit der Eigenschaft Gruppe können Sie die Mitgliedschaft in einer Sicherheitsgruppe angeben. SAML -Assertionen enthalten standardmäßig keine Gruppen. Sie müssen die einzuschließenden Gruppen explizit registrieren.
Um die Gruppenmitgliedschaft einzuschließen, erstellen Sie eine Sicherheitsanbietergruppe und ordnen Sie sie einer App Builder Gruppe zu. Wenn der Benutzer Mitglied der App Builder-Gruppe ist, wird die Sicherheitsanbietergruppe der Assertion hinzugefügt. Die Kennung der Sicherheitsanbietergruppe wird verwendet. Wenn die Kennung null ist, wird der Name verwendet.
Integration
Der SAML IdP-Sicherheitsanbieter stellt die folgenden Endpoints bereit:
Single Sign-On-Dienst Metadaten-Endpoint
Single-Sign-On-Dienst
Der Single Sign-On-Dienst empfängt SAML Anforderungsnachrichten (AuthNRequest). Die Single Sign-On-Dienst-URL hat folgendes Format:
https://example.com/App Builder/signin-SAMLIDP
Die URL besteht aus folgenden Teilen:
Komponente | Beschreibung |
---|---|
https://example.com/App Builder/ | Absolute URL des Stammverzeichnisses der App Builder-Anwendung. |
SAMLIDP | URL-codierter Name des SAML -IdP-Sicherheitsanbieters. Bei dem Wert wird zwischen Groß- und Kleinschreibung unterschieden. |
Endpoint
Der Endpoint veröffentlicht ein Metadatendokument (Metadaten). Die URL des Endpoint hat folgende Form:
https://example.com/App Builder/metadata-SAMLIDP
Die URL besteht aus folgenden Teilen:
Komponente | Beschreibung |
---|---|
https://example.com/App Builder/ | Absolute URL des Stammverzeichnisses der App Builder-Anwendung. |
SAMLIDP | URL-codierter Name des SAML -IdP-Sicherheitsanbieters. Bei dem Wert wird zwischen Groß- und Kleinschreibung unterschieden. |
Bekannte Probleme und Einschränkungen
Für den SAML IdP-Sicherheitsanbieter des App Builder gelten die folgenden Einschränkungen:
- Es darf nur eine einzige Zielgruppenbeschränkung angegeben werden.
- SAML -Antworten sind möglicherweise nicht verschlüsselt.
- SAML -Antworten dürfen nicht signiert werden.
- SAML -Assertionen sind immer signiert.
- Das Artefaktauflösungsprotokoll wird nicht unterstützt.
- Das Logout-Protokoll wird nicht unterstützt.