Zum Inhalt springen

SAML-Sicherheitsanbieter 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 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
  • PEM (CERTIFICATE)
  • PKCS#12 (PFX), base64-codiert
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.