Zum Inhalt springen

SAML-Sicherheitsanbieter in Jitterbit App Builder

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

In einem SSO-Szenario gibt es drei Rollen:

  • Principal - Der Benutzer, der auf einen eingeschränkten Service zugreift.
  • Service Provider (SP) - Bietet Zugriff auf eingeschränkte Services.
  • Identity Provider (IdP) - Authentifiziert Benutzer.

App Builder kann mit dem entsprechenden Sicherheitsanbieter als SP oder IdP konfiguriert werden. Dieses Dokument behandelt den SAML-Sicherheitsanbieter, der für die SP-Rolle verwendet wird. In dieser Rolle delegiert App Builder die Authentifizierung an einen IdP eines Drittanbieters. Unterstützte IdPs sind:

Für die IdP-Rolle siehe SAML-Identitätsanbieter.

Flows

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

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

Service Provider (SP) initiiert

Im Service Provider (SP) initiierten Flow navigiert ein Benutzer zu App Builder und versucht, auf eine eingeschränkte Seite zuzugreifen. 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 zu App Builder. App Builder validiert die SAML Response, ordnet die Namenskennung einem lokalen App Builder-Benutzerkonto zu und gewährt die mit dem Benutzerkonto verbundenen Rechte.

Beachten Sie, dass App Builder vor der Weiterleitung des Benutzers zum IdP die URL der Seite speichert, auf die der Benutzer zugreifen wollte. Nach der Authentifizierung leitet 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 die SAML Post-Bindung (HTTP POST) zu App Builder weitergeleitet. Wie beim SP-initiierten Flow validiert App Builder die SAML Response, ordnet die Namenskennung einem lokalen App Builder-Benutzerkonto zu und gewährt die mit dem Benutzerkonto verbundenen Rechte.

In der Regel leitet App Builder den Benutzer nach erfolgreicher Anmeldung auf seine Startseite weiter. Der IdP kann jedoch ein Deep Link durchführen, indem er den URI im SAML Response RelayState-Parameter übergibt. Siehe den AllowRelayStateRedirects-Parameter unten.

Konfiguration

Tokens

  • Issuer: Der SAML-Assertion-Aussteller. Standardmäßig die Audience.
  • Audience: SAML-Assertion-Audience-Einschränkung. Der Wert muss ein syntaktisch gültiger URI sein.
  • Recipient: Der SAML-Assertion-Empfänger. Dieser Wert muss ein syntaktisch gültiger URI sein. Standardmäßig der Assertion Consumer Service URI (z. B. https://example.com/Vinyl/signin-SAML).

Vorsicht

Aus Gründen der Abwärtskompatibilität wird Audience standardmäßig auf die Anwendungs-Root-URL gesetzt (z. B. https://example.com/Vinyl/). Es wird dringend empfohlen, Audience explizit zu setzen, anstatt sich auf den Standard zu verlassen.

Endpoints

Typ Beschreibung
Metadata Endpoint SAML Single Sign-On (SSO)-Service-Metadaten-Endpoint. Dieser Parameter ist erforderlich, wenn die Parameter Request Redirect Endpoint oder SigningCertificate nicht definiert sind.
RelayState URI Zulässiger RelayState-Weiterleitungs-URI für eine von SAML Identity Provider (IdP) initiierte Anfrage. Siehe den AllowRelayStateRedirects-Parameter für weitere Informationen.
Request Redirect Endpoint SAML Single Sign-On (SSO)-Authentifizierungsanfrage-Endpoint für die Redirect-Bindung. Dieser Parameter ist erforderlich, wenn der Metadata Endpoint nicht definiert ist.

Zertifikate

Zweck Typ Format Beschreibung
Signaturvalidierung X.509-Zertifikat
  • PEM (CERTIFICATE)
  • PKCS#12 (PFX), base64-codiert
X.509-Zertifikat zur Validierung von SAML Single Sign-On (SSO)-Antwortsignaturen.

Das Signaturvalidierungszertifikat ist erforderlich, wenn der Metadaten-Endpunkt nicht definiert ist.

Eigenschaften

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

Parameter Standard Beschreibung
AllowRelayStateRedirects False Gibt an, ob eine von einem SAML-Identitätsanbieter (IdP) initiierte Anmeldung einen Umleitungs-URI im Parameter RelayState enthalten darf. Der Umleitungs-URI ist der Ort, zu dem der Benutzer nach der Anmeldung umgeleitet wird.

Standardmäßig darf der Parameter RelayState keinen Umleitungs-URI enthalten. Setzen Sie den Wert auf True, um Umleitungs-URIs im Parameter RelayState zuzulassen.

Um sich vor Open-Relay-Angriffen zu schützen, muss der URI mit dem Endpunkt RelayState URI übereinstimmen.
IgnoreTlsErrors False Gibt an, ob App Builder HTTPS-Zertifikatsfehler ignorieren soll, wenn Back-Channel-Anfragen zum Abrufen der Servicemetadaten gestellt werden.

Diese Einstellung ist nur für Setup- und Testzwecke vorgesehen. Aktivieren Sie diese Einstellung nicht auf einem laufenden System.
SignatureRequirement AssertionOrResponse Gibt an, ob die SAML-Antwort, die Assertion oder beide signiert sein müssen. Die 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 wird beim Start wirksam.

Ansprüche

SAML-Assertions enthalten Attribute. Attribute sind mehrwertige Schlüssel-Wert-Paare. App Builder behandelt SAML-Assertion-Attribute als Ansprüche. Der Attributname wird einem Anspruchsbezeichner zugeordnet.

Beispiel: Bei einer SAML-Assertion mit dem folgenden Attribut:

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

Wenn der Bezeichner http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name der Eigenschaft Name zugeordnet wird, wird der Benutzername auf „Arthur.Dent" gesetzt, wenn das Benutzerkonto bereitgestellt wird.

Die folgende Tabelle beschreibt die Standard-Anspruchszuordnungen:

Bezeichner Zweck Beschreibung
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier Namensbezeichner Eindeutige, unveränderliche Kennung zur Zuordnung der Drittanbieter-Identität zu einem App Builder-Benutzer.
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name Name Benutzername.
http://schemas.xmlsoap.org/claims/Group Gruppe Sicherheitsgruppenmitgliedschaft.
http://schemas.zudy.com/identity/claims/fullname Vollständiger Name Vollständiger Name.
http://schemas.zudy.com/identity/claims/displayname Anzeigename Anzeigename.
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-Fingerabdruck.
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-Responses. Dies wird als Assertion Consumer Service bezeichnet. Eine App Builder Assertion Consumer Service URL könnte beispielsweise so aussehen:

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

Die URL setzt sich aus den folgenden Komponenten zusammen:

Komponente Beschreibung
https://example.com/Vinyl/ Absolute URL des App Builder-Anwendungsstammverzeichnisses.
SAML SAML-Sicherheitsanbieter-Schema. Der Wert ist case-sensitiv. Sonderzeichen müssen URL-codiert werden.

Benutzer bereitstellen

Nach der Konfiguration des SAML-Sicherheitsanbieters müssen Sie sicherstellen, dass Benutzer entsprechende Identitäten in App Builder haben, um sich erfolgreich anzumelden.

Manuelle Bereitstellung

Benutzer können von einem Administrator manuell dem SAML-Sicherheitsanbieter zugeordnet werden:

  1. Navigieren Sie zu IDE > Benutzerverwaltung.

  2. Klicken Sie im Panel Identitäten auf + Identität, um eine neue Identität zu erstellen.

  3. Wählen Sie bei der Konfiguration der neuen Identität SAML als Sicherheits-Anbieter aus und geben Sie die Kennung ein, die dem IdP-Benutzernamen des Benutzers entspricht (normalerweise die E-Mail oder NameID).

Automatische Bereitstellung

Um die Massenaufnahme von Benutzern ohne manuelle Eingabe zu bewältigen, können Sie die Funktion Vorhandenen Benutzer abgleichen aktivieren. Dies ist nützlich, wenn Sie bereits eine Liste von Benutzern in App Builder haben und diese bei ihrer ersten Anmeldung automatisch mit ihren SAML-Identitäten verknüpfen möchten.

  1. Navigieren Sie zu IDE > Sicherheitsanbieter.

  2. Falls Ihr SAML-Sicherheitsanbieter bereits vorhanden ist, suchen Sie ihn im Panel Benutzerauthentifizierung und doppelklicken Sie auf das Erweiterungssymbol am Ende seiner Zeile. Falls er noch nicht vorhanden ist, klicken Sie auf + Benutzerauthentifizierung.

  3. Suchen Sie im angezeigten Konfigurationsbildschirm die Feldgruppe Bereitstellung und aktivieren Sie das Kontrollkästchen Benutzerbereitstellung. Dadurch wird das Kontrollkästchen Vorhandenen Benutzer abgleichen angezeigt. Aktivieren Sie es.

Wenn diese Funktion aktiviert ist, prüft App Builder bei einem Anmeldungsversuch eines Benutzers über SAML, ob bereits ein lokales Benutzerkonto mit einem Benutzernamen vorhanden ist, der dem SAML-Namensbezeichner entspricht. Wenn eine Übereinstimmung gefunden wird, erstellt das System während des Anmeldungsvorgangs automatisch die Identitätsverknüpfung für diesen Benutzer und gewährt ihm sofort Zugriff.

Fehlerbehebung

Fehler „The AudienceRestrictionCondition was not valid because the specified Audience is not present in AudienceUris."

Dieser Fehler zeigt an, dass der Audience-URI nicht übereinstimmt. Stellen Sie sicher, dass die Eigenschaft Audience explizit festgelegt wurde. Falls nicht festgelegt, wird standardmäßig die aktuelle URL verwendet, die je nach Benutzer unterschiedlich sein kann. Der Wert ist case-sensitiv.

Bekannte Probleme und Einschränkungen

Der App Builder SAML Single Sign-On (SSO)-Sicherheitsanbieter hat die folgenden Einschränkungen:

  • Es kann nur eine einzelne Audience-Einschränkung validiert werden.
  • Das Artifact Resolution Protocol wird nicht unterstützt.
  • Das Logout-Protokoll wird nicht unterstützt.