SAML-Sicherheitsanbieter im Jitterbit App Builder
Die SAML Single Sign-On (SSO) Authentifizierung ist in den folgenden Dokumenten definiert:
- Assertions and Protocols for the 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.
- 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 Sicherheitsanbieter, der für die SP-Rolle verwendet wird. In dieser Rolle delegiert der App Builder die Authentifizierung an einen Drittanbieter-IdP. Unterstützte IdPs sind:
Für die IdP-Rolle siehe den SAML-Identitätsanbieter.
Flows
Die SAML Single Sign-On (SSO) Spezifikation definiert mehrere Flows. Der SAML 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 zum App Builder und versucht, auf eine eingeschränkte Seite zuzugreifen. Der App Builder leitet den Benutzer über die SAML Redirect-Bindung (HTTP GET
) zum Identity Provider (IdP) weiter. Nach der Authentifizierung leitet der IdP den Benutzer über die SAML Post-Bindung (HTTP POST
) zurück zum App Builder. Der App Builder validiert die SAML-Antwort, ordnet den Namensbezeichner einem lokalen App Builder-Benutzerkonto zu und gewährt die mit dem Benutzerkonto verbundenen Rechte.
Beachten Sie, dass der App Builder, bevor er den Benutzer zum IdP weiterleitet, die URL der Seite aufzeichnet, auf die der Benutzer zugreifen wollte. Sobald der Benutzer authentifiziert ist, leitet der App Builder den Benutzer zurück zur ursprünglich angeforderten Seite. Dies ermöglicht Deep Linking.
Identity Provider (IdP) initiiert
Im Identity Provider (IdP) Flow navigiert ein Benutzer direkt zum IdP. Nach der Authentifizierung wird der Benutzer über das SAML Post Binding (HTTP POST
) zu App Builder umgeleitet. Wie beim SP-initiierten Flow validiert App Builder die SAML-Antwort, ordnet den Namensbezeichner einem lokalen App Builder-Benutzerkonto zu und gewährt die mit dem Benutzerkonto verbundenen Rechte.
Typischerweise wird App Builder den Benutzer nach erfolgreichem Anmelden auf seine Startseite umleiten. Der IdP kann jedoch einen Deep Link durchführen, indem er die URI im SAML Response RelayState-Parameter übergibt. Siehe den AllowRelayStateRedirects-Parameter unten.
Konfiguration
Tokens
- Issuer: Der Aussteller der SAML-Assertion. Standardmäßig auf das Publikum gesetzt.
- Audience: Einschränkung des Publikums der SAML-Assertion. Der Wert muss eine syntaktisch gültige URI sein.
- Recipient: Der Empfänger der SAML-Assertion. Dieser Wert muss eine syntaktisch gültige URI sein. Standardmäßig auf die Assertion Consumer Service URI gesetzt (z. B. https://example.com/Vinyl/signin-SAML).
Vorsicht
Aus historischen Gründen ist Audience standardmäßig auf die Anwendungsstamm-URL (z. B. https://example.com/Vinyl/) gesetzt. Es wird dringend empfohlen, dass Sie die Audience explizit festlegen, anstatt sich auf den Standard zu verlassen.
Endpunkte
Typ | Beschreibung |
---|---|
Metadata Endpoint | SAML Single Sign-On (SSO) Dienstmetadaten-Endpunkt. Dieser Parameter ist erforderlich, wenn die Parameter Request Redirect Endpoint oder SigningCertificate undefiniert sind. |
RelayState URI | Erlaubte RelayState-Umleitungs-URI für eine SAML Identity Provider (IdP) initiierten Anfrage. Siehe den AllowRelayStateRedirects-Parameter für zusätzliche Informationen. |
Request Redirect Endpoint | SAML Single Sign-On (SSO) Authentifizierungsanforderungsendpunkt für das Redirect Binding. Dieser Parameter ist erforderlich, wenn der Metadata Endpoint undefiniert ist. |
Zertifikate
Zweck | Typ | Format | Beschreibung |
---|---|---|---|
Signaturvalidierung | X.509-Zertifikat |
|
X.509-Zertifikat, das zur Validierung von SAML Single Sign-On (SSO) Antwortsignaturen verwendet wird. Das Signaturvalidierungszertifikat ist erforderlich, wenn der Metadata Endpoint nicht definiert ist. |
Eigenschaften
Der SAML-Sicherheitsanbieter definiert die folgenden zusätzlichen Parameter:
Parameter | Standard | Beschreibung |
---|---|---|
AllowRelayStateRedirects | False |
Gibt an, ob ein von einem SAML-Identitätsanbieter (IdP) initiierter Anmeldevorgang eine Umleitungs-URI im RelayState-Parameter enthalten darf. Die Umleitungs-URI ist der Ort, zu dem der Benutzer nach der Anmeldung umgeleitet wird. Standardmäßig darf der RelayState-Parameter keine Umleitungs-URI enthalten. Auf True setzen, um Umleitungs-URIs im RelayState-Parameter zuzulassen. Um sich gegen offene Relay-Angriffe abzusichern, muss die URI mit dem RelayState URI-Endpunkt übereinstimmen. |
IgnoreTlsErrors | False |
Gibt an, ob der App Builder HTTPS-Zertifikatfehler ignorieren soll, wenn er Back-Channel-Anfragen zur Abrufung der Dienstmetadaten stellt. Diese Einstellung dient nur zu Einrichtungs- und Testzwecken. Aktivieren Sie diese Einstellung nicht in einem laufenden System. |
SignatureRequirement | AssertionOrResponse |
Gibt an, ob die SAML-Antwort, die Assertion oder beide signiert sein müssen. Optionen sind: - AssertionOrResponse - Entweder die Assertion oder die Antwort muss signiert sein. - Assertion - Die Assertion muss signiert sein. - Response - Nur die Antwort muss signiert sein. Die Assertion erbt die Antwortsignatur. - AssertionAndResponse - Sowohl die Assertion als auch die Antwort müssen signiert sein. |
LogPII | False |
Gibt an, dass personenbezogene Daten (PII) protokolliert werden sollen. Diese Einstellung tritt beim Start in Kraft. |
Ansprüche
SAML-Assertions enthalten Attribute. Attribute sind mehrwertige Schlüssel/Wert-Paare. Der App Builder behandelt SAML-Assertionsattribute als Ansprüche. Der Attributname wird einem Anspruchsbezeichner zugeordnet.
Zum Beispiel, gegeben eine SAML-Assertion mit dem folgenden Attribut:
<Attribute AttributeName="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name">
<AttributeValue>Arthur.Dent</AttributeValue>
</Attribute>
Das Zuordnen des Identifikators http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
zur Name
-Eigenschaft setzt den Benutzernamen auf "Arthur.Dent", wenn das Benutzerkonto bereitgestellt wird.
Die folgende Tabelle beschreibt die Standardansprüche-Zuordnungen:
Identifikator | Zweck | Beschreibung |
---|---|---|
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier | Name Identifier | Einzigartiger, unveränderlicher Identifikator, der verwendet wird, um die Identität eines Drittanbieters einem App Builder-Benutzer zuzuordnen. |
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name | Name | Benutzername. |
http://schemas.xmlsoap.org/claims/Group | Gruppe | Mitgliedschaft in einer Sicherheitsgruppe. |
http://schemas.zudy.com/identity/claims/fullname | Vollständiger Name | Vollständiger Name. |
http://schemas.zudy.com/identity/claims/displayname | Anzeigename | Freundlicher Name. |
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress | E-Mail-Adresse | E-Mail-Adresse. |
http://schemas.zudy.com/identity/claims/phonenumber | Telefonnummer | Telefonnummer. |
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/thumbprint | X.509-Zertifikat Daumenabdruck. | |
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/x500distinguishedname | X.509-Zertifikat Distinguished Name. | |
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/dns | X.509-Zertifikat DNS-Name. |
Integration
Assertion Consumer Service
Der SAML-Sicherheitsanbieter stellt einen einzelnen Endpunkt zur Verfügung. Der Endpunkt empfängt SAML-Antworten. Dies wird als Assertion Consumer Service bezeichnet. Eine URL für den Assertion Consumer Service des App Builders könnte folgendermaßen aussehen:
https://example.com/Vinyl/signin-SAML
Die URL setzt sich aus den folgenden Teilen zusammen:
Komponente | Beschreibung |
---|---|
https://example.com/Vinyl/ | Absolute URL des Anwendungsverzeichnisses des App Builders. |
SAML | URL-kodierter Name des SAML-Sicherheitsanbieters. Der Wert ist groß- und kleinschreibungsempfindlich. |
Fehlersuche
Fehler "Die AudienceRestrictionCondition war nicht gültig, da die angegebene Audience nicht in AudienceUris vorhanden ist."
Dieser Fehler zeigt an, dass die Audience-URI nicht übereinstimmt. Stellen Sie sicher, dass die Audience-Eigenschaft explizit festgelegt wurde. Wenn sie nicht festgelegt ist, wird sie standardmäßig auf die aktuelle URL gesetzt, die je nach Benutzer variieren kann. Der Wert ist groß- und kleinschreibungsempfindlich.
Bekannte Probleme und Einschränkungen
Der SAML Single Sign-On (SSO) Sicherheitsanbieter des App Builders hat die folgenden Einschränkungen:
- Es kann nur eine einzige Audience-Einschränkung validiert werden.
- Das Artifact-Resolution-Protokoll wird nicht unterstützt.
- Das Logout-Protokoll wird nicht unterstützt.