Datenschutzhinweis

 

Beim Laden dieses Inhalts werden Nutzungsinformationen an Vimeo übertragen und dort ggf. verarbeitet.

 

             

SAML 2.0

Geändert am Do, 17 Aug, 2023 um 11:31 VORMITTAGS

Mit dem SAML 2.0 Login-Dienst kann ein SAML 2.0 Identity Provider (z.B. Shibboleth 2.0) an formcycle angebunden werden. Im folgenden werden die SAML 2.0 spezifischen Konfigurationsoptionen beschrieben. Für allgemeine Informationen zu den Grundeinstellungen und zum Anlegen von Login-Diensten siehe Login-Dienste.


Inhalt


Konfiguration


Konfiguration eines SAML Login-Dienstes.


Art der Identityprovider-Metadaten-Einbindung

SAML 2.0 Identity Provider (z.B. Shibboleth oder Keycloak) stellen Metadaten in Form einer XML-Datei zur Verfügung. Diese Metadaten enthalten verschiedene Informationen über den Identity Provider zur Konfiguration der Anbindung (Entitiy-ID, Endpunkte, Verschlüsselung, Signierung, etc.). Es gibt zwei Möglichkeiten die Metadaten des Identity Providers zu hinterlegen:


per Datei

  • Identityprovider-Metadaten hochladen / aktualisieren: Durch einen Klick auf diese Schaltfläche öffnet sich ein Dateiauswahldialog, mit dem die vom Identity Provider gelieferte Konfigurationsdatei ausgewählt werden kann. Durch das Bestätigen der Auswahl im Dialog wird die Datei hochgeladen.
  • Dateiname.xml: Nachdem eine Konfigurationsdatei hochgeladen und die Konfiguration gespeichert wurde, besteht die Möglichkeit, die Datei an dieser Stelle wieder herunterzuladen.

Konfiguration der Identity Provider Metadaten per Datei.


per URL

Die Metadaten des Identity Providers können auch per URL hinterlegt werden. Einige Identity Provider stellen ihre Matadaten über eine URL zur Verfügung. Formcycle liest diese Metadatan übr die angegebene URL in regelmäßigen Abständen aus. Um die Metadaten erneut vom Identity Provider auszulesen, muss auf die "Jetzt aktualisieren" Schaltfläche geklickt werden.

Konfiguration der Identity Provider Metadaten per URL.

  • Caching-Zeitraum in Stunden: Definiert den Zeitraum (in Stunden), wie lange die ermittelten Metadaten des Identityproviders zwischengespeichert werden sollen, bevor sie wieder neu ermittelt werden.
  • Connection-Timeout in Sekunden: Definiert ein Connection-Timeout (in Sekunden) für den Aufbau der Verbindung zum Ermitteln der Identityprovider Metadaten.
  • Read-Timeout in Sekunden: Definiert das Timeout (in Sekunden) wie lange auf das übermitteln der Metadaten des Identityproviders gewartet wird.
  • Proxy-Server: Definiert einen optionalen Proxy-Server per Host oder IP, der verwendet werden soll.


Art der Serviceprovider-Entity-ID

Die Serviceprovider-Entity-ID ist die Entity-ID von formcycle, welche sowohl in den formcycle Metadaten (Serviceprovider-Metadaten) als auch bei Authentifizierungsrequests verwendet wird. Die Entity-ID kann als fest oder dynamisch konfiguriert werden:

  • Fester Entity-ID (empfohlen): In der Regel ist eine feste Entity-ID zu bevorzugen, da Identity Provider die Entity-ID hinterlegen (z.B. über die Serviceprovider-Metadaten) und bei Authentifizierungsrequest prüfen. Die feste Entity-ID wird einmal über das Eingabgefeld festgelegt und wird dann sowohl in den formcycle Metadaten (Serviceprovider-Metadaten) als auch bei allen Authentifizierungsrequests verwendet.
  • Dynamische Entity-ID: Bei Verwendung einer dynamischen Entity-ID wird immer die Callback-URL des aktuellen Servers als Entity-ID verwendet.

Konfiguration einer festen Serviceprovier-Entity-ID.


Keystore verwalten

Für das Verwenden der SAML-Authentifizierungsrequests ist es nötig, dass ein Keystore mit einem Schlüsselpaar exisitiert. Der Das Schlüsselpaar des Keystores wird für die Signatur sowie für die Verschlüsselung der SAML-Authentifizierungsrequests verwendet. Standardmäßig wird von formcycle ein entsprechender Keystore erstellt. Durch klicken auf Keystore verwalten werden die Einstellungen für den Keystore sichtbar. Zunächst gibt es dort die beiden folgenden Schaltflächen:

  • Keystore neu erstellen: Erstellt einen neuen Keystore mit einem neuen Schlüsselpaar
  • Keystore-Datei aktualisieren: Öffnet einen Dateiauswahldialog, mit dem ein vorhandener Keystore ausgewählt und hochgeladen werden kann.

Nach dem Hochladen eines eigenen Keystores erscheinen zudem die folgenden Eingabelfelder:

  • Keystore-Passwort: Passwort des Keystores
  • Keypair-Passwort: Passwort des Schlüsselpaars

Der hochgeladene Keystore muss ein Schlüsselpaar beinhalten. Es sind das korrekte Passwort des Keystores sowie des Schlüsselpaars anzugeben, damit der Keystore für die Verschlüsselung sowie Signatur der Authentifizierungsrequests verwendet werden kann.


Verwendung eines automatisch erstellten Keystores.


Bei eigenen Keystores muss es sich um Java-Keystores vom Typ JKS handeln, welche ein entsprechendes 2048-Bit RSA-Schlüsselpaar enthalten. Ein solcher Keystore kann zum Beispiel mit dem Hilfsprogramm keytool für Zertifikatslebensdauer von ca. 10 Jahren (3650 Tagen) über den folgenden Befehl generiert werden: keytool -genkeypair -alias ihr-alias -keypass ihr-passwort -keystore samlKeystore.jks -storepass ihr-passwort -keyalg RSA -keysize 2048 -validity 3650

Weitere Einstellungen

Durch einem Klick auf Weitere Einstellungen können weitere Parameter für die Verbindung mit dem Identity Provider konfiguriert werden.


Weitere Einstellungen für die Anbindung eines SAML Identity Provider.


Force authentication

Legt fest, ob eine Anmeldung durch den Benutzer erzwungen werden soll, obwohl noch eine gültige Sitzung vorhanden ist.


Passive authentication

Legt fest, ob eine Anmeldung ohne Interaktion mit dem Benutzer versucht werden soll.


User name qualifier

Legt fest, ob bei Anmeldungsanfragen der NameQualifier mitgesendet werden soll. Dies ist im SAML-Standard nicht vorgesehen, jedoch bei einigen Identity Providern notwendig.


Authentication request signed

Legt fest, ob die Anmeldungsanfrage digital signiert werden soll.


Logout request signed

Legt fest, ob die Abmeldungsanfrage digital signiert werden soll.


Wants assertions signed

Legt fest, ob die SAML-Aussagen (Assertions) digital signiert erwartet werden.


Wants response signed

Legt fest, ob die SAML-Antworten digital signiert erwartet werden.


Max. authentication lifetime (Sekunden)

Maximale dauer einer bestehenden Anmeldung beim Identity Provider. Standardwert ist 3600 Sekunden.


Max. clock skew (Sekunden)

Maximal erlaubter Unterschied zwischen den Systemuhrzeiten von formcycle-Server und dem Identity Provider. Standardwert ist 300 Sekunden.


Assertion consumer service index

Legt den Index des Assertion Consuming Service fest, welcher bei der Anmeldungsanfrage verwendet werden soll. Standardwert ist -1, was dem Standard des Identity Providers entspricht.


Attribute consumer service index

Legt den Index des Attribute Consuming Service fest, welcher bei der Anmeldungsanfrage verwendet werden soll. Standardwert ist -1, was dem Standard des Identity Providers entspricht.


Authentication request binding type

Übermittlungstyp, mit welchem formcycle eine Anmeldung am Identity Provider anfragt.


Response binding type

Übermittlungstyp, mit welchem der Identity Provider auf eine Anmeldung von formcycle antwortet.


Logout request binding type

Übermittlungstyp, mit welchem formcycle eine Abmeldung am Identity Provider anfragt.


Logout response binding type

Übermittlungstyp, mit welchem der Identity Provider auf eine Abmeldung von formcycle antwortet.


Signature canonicalization algorithm

Legt den Algortithmus fest, welcher für die Umwandlung der signierten Anfrage in eine standrdisierte XML-Normalform verwendet werden soll. Standardmäßig wird http://www.w3.org/2001/10/xml-exc-c14n# verwendet.


Black listed signature signing algorithms

Für das Signieren verbotene Algorithmen.


Signature algorithms

Für das Signieren erlaubte Algorithmen.


Signature reference digest methods

Gibt die Hash-Algorithmen an, welche beim Signieren der SAML-Aussagen (Assertions) erlaubt sind.


Attributsmapping zu Benutzern

Durch klicken auf Attributsmapping zu Benutzern können die Konfigurationsfelder für das Mapping einzelner Attribute sichtbar gemacht werden. Die gemappten Attribute können über die Benutzerplatzhalter oder die XFC_METADATA in Formularen verwendet werden. Für die folgenden Daten können SAML-Attribute konfiguriert werden, wobei in jedem Fall der Name des saml:Attribute Knotens angegeben werden muss.

  • Vorname (firstName): Vorname des Benutzers
  • Nachname (familyName): Nachname des Benutzers
  • Anzeigename (displayName): Anzeigename des Benutzers
  • Benutzername (userName): Benutzername des Benutzers
  • E-Mail (mail): E-Mail-Adresse des Benutzers
  • Sprache (locale): Sprache des Benutzers
  • Standort (location): Standort des Benutzers
  • Bild-URL (pictureUrl): Bild-URL des Benutzers
  • Profil-URL (profileUrl): Profil-URL des Benutzers


Serviceprovider-Metadaten generieren

Die Serviceprovider-Metadaten sind die Metadaten des formcycle-Servers in Form einer XML-Datei und beeinhalten Informationen zum formcycle-Server, wie die Entity-ID, Endpunkte, Verschlüsselung, Signierung, etc.. Diese Informationen sind für den Identity Provider notwendig, um eine SAML-Anbindung zum formcycle System herzustellen. In der Regel kann die Metadaten-XML-Datei einfach an den Identity Provider weitergeben werden, damit dieser die Anbindung des formcycle-Servers registrieren kann.

Über die Schaltfläche Serviceprovider-Metadaten generieren kann die Metadaten-XML-Datei generiert werden. Sind Frontend-Server im formcycle System konfiguriert, können die Metadaten auch für die Frontend-Server generiert werden. Es erscheint ein Dialog mit einer Auswahl des Servers, für welchen die Metadaten generiert werden sollen. Bei Verwendung einer dynamischen Entity-ID (siehe oben) können die Metadaten nur für jeweils einen Server generiert werden. Bei Verwendung einer festen Entity-ID (siehe oben) können die Metadaten für mehere Server in einer Datei generiert werden.


Serverauswahl bei der Generierung der Metadaten eines SAML-Login-Dienstes.


Soll der Login-Dienst über einen Frontend-Server verwendet werden, so müssen die Metadaten auch für diesen generiert und beim Identity Provider eingereicht werden.

War dieser Artikel hilfreich?

Das ist großartig!

Vielen Dank für das Feedback

Leider konnten wir nicht helfen

Vielen Dank für das Feedback

Wie können wir diesen Artikel verbessern?

Wählen Sie wenigstens einen der Gründe aus
CAPTCHA-Verifikation ist erforderlich.

Feedback gesendet

Wir wissen Ihre Bemühungen zu schätzen und werden versuchen, den Artikel zu korrigieren