Authentifizierungs-Anbieter

In diesem Artikel zeigen wir euch, wie ihr Single Sign-On (SSO) mit SAML oder OpenID in Haiilo einrichtet.

Haiilo Home ermöglicht die Einrichtung mehrerer Authentifizierungs-Anbieter und unterstützt die Protokolle SAML2.0 und OpenID. Wir unterstützen alle IDPs, die diese beiden gängigen Authentifizierungsprotokolle verwenden. Dadurch wird ermöglicht, sich automatisch durch die Windows-integrierte Authentifizierung (SAML) oder bei Netzwerken, wie z. B. LinkedIn (OpenID), zu authentifizieren. Über SAML just-in-time können Benutzer zudem bei der ersten Anmeldung importiert werden, wenn sie noch nicht in Haiilo existieren.

Hinweis:

Haiilo unterstützt keine 2-Faktor-Authentifizierung. Ihr könnt jedoch einen SAML-Service verwenden. Ihr müsst dabei sicherstellen, dass der Dienst ein Zertifikat einer vertrauenswürdigen Zertifizierungsstelle und TLS 1.2 verwendet.

Erstellen eines Authentifizierungs-Anbieters

Meldet euch bei eurem Haiilo als Administrator an und wechselt in die Administration. Beim Öffnen des Bereiches "Authentifizierung" seht ihr folgenden Ausschnitt:

Authentifizierungsanbieter.png

Klickt auf "Authentifizierungs-Anbieter erstellen", wählt den gewünschten "Typ" aus (SAML oder OpenID) und setzt den Haken auf "aktiv". Wählt die automatische Anmeldung, um eine automatische Umleitung nach 3 Sekunden von der Haiilo Home Login Seite auf euren IDP einzurichten.

Authentifizierungsanbieter_erstellen.png

Erstellen eines Authentifizierungs-Anbieters: SAML

Um SAML einzurichten, solltet ihr die Entity-ID, Endpunkte, Zertifikate und vieles mehr in der metadata.xml eures Identity Providers (IDP) finden.

Allgemeines

Jetzt ist es an der Zeit, euren SAML-Authentifizierungs-Anbieter zu konfigurieren. Im Screenshot seht ihr eine exemplarische Konfiguration für ein ADFS. Folgende Punkte sind wichtig:

  • Aktiviert "ADFS" nur, wenn euer Microsoft Active Directory "Federation Services" verwendet.
  • "Entity-ID", "Authentifizierungs-URL" und "Logout-URL" werden in der metadata.xml eures IDP aufgelistet.
  • "Logout Methode" definiert, ob die Haiilo-Abmeldung den Nutzer lokal (nur Haiilo) oder global (SAML-Abmeldung) abmeldet.
  • "Antwortgültigkeit" definiert den Zeitraum für Anfragen. Wir empfehlen die üblichen 300 Sekunden.
  • "Benutzerverzeichnis" definiert, für welche Nutzer ihr diesen Authentifizierungs-Anbieter verwenden möchtet.
Die lokalen Haiilo-Endpunkte und damit auch die Metadaten XML werden nach dem Aktivieren  und Speichern generiert.
Authentifizierungsanbieter_erstellen_step_2.png

Anfragesignierung

Aktiviert diese Funktion, indem ihr "Anfragen signieren" auswählt. Es ist möglich, den SAML-Antrag von Haiilo mit einem Zertifikat und seinem privaten Schlüssel zu signieren. Fügt einfach beide hier ein und achtet darauf, das PEM-Format zu verwenden. Ihr könnt ein selbstsigniertes Zertifikat verwenden. Das Zertifikat muss dann auf dem ADFS-Server in den Einstellungen der Vertrauensstellung unter "Signierung" hinzugefügt werden.

Authentifizierungsanbieter_erstellen_Anfragesignierung.png

Antwortvalidierung

Neben der Unterzeichnung der Haiilo-Anfragen ist es auch möglich, die Antwort des SAML-Servers zu überprüfen. Dafür könnt Ihr hier einfach das Token-Signing Zertifikat des IDP-Server hinterlegen. Deaktivieren, um die Validierung zu überspringen.

Authentifizierungsanbieter_erstellen_Antwortvalidierung.png

Just-in-Time-Bereitstellung (optional)

Falls ihr SAML nicht zum importieren von Nutzern verwenden wollt, könnt ihr mit dem nächsten Schritt fortfahren.

Haiilo Home beitet auch den Import von Nutzern bei der ersten Anmeldung über SAML an. Dazu wählt ihr als Typ SAML just-in-time. Im Tab Just-in-Time-Bereitstellung müsst ihr die Attribute definieren, welche für die Nutzer importiert werden. Ihr erhaltet die benötigten Werte, wenn ihr danach in eurer FederationMetadata.xml sucht.

Bildschirmfoto_2020-05-28_um_10.19.06.png

Es ist außerdem möglich Profilfelder zu synchronisieren. Dazu wählt ihr bei der JIT-Bereistellung die Profilfelder aus und ordnet sie entsprechend den Werten der FederationMetadata.xml zu.

saml_jit_profilfelder.png

Vertrauensstellung hinzufügen

Wenn ihr damit fertig seid, müsst Ihr Haiilo in euren IDP aufnehmen. Für Microsoft ADFS heißt das Management-Tool ADFS. Haiilo macht lediglich einen Redirect zum ADFS Server und erwartet dann eine "SAML Assertion", bei welcher der Login-Name (z. B. die E-Mail-Adresse) als "Name-ID"("Namens-ID" auf Deutsch) übergeben wird. Im ADFS wird das unter Claim Issuance eingerichtet:

Bildschirmfoto_2020-07-02_um_14.36.00.png

Für SAML Just-In-Time müssen zusätzlich die Attribute, welche bereitgestellt werden, dort Konfiguriert werden:

Bildschirmfoto_2020-09-28_um_15.57.34.png

Beachtet, dass die Outgoing Claims auf einem deutschsprachigen Server anders betitelt sind.

Test der Verbindung

Ihr habt nun einen vollständig konfigurierten SAML IDP, der bei der Anmeldung bei Haiilo verwendet werden kann. Als Letztes probiert ihr die Anmeldung einfach mit einem Nutzer, des von euch konfigurierten Benutzerverzeichnisses, aus.

Erstellen eines Authentifizierungs-Anbieters: Open ID

Im Gegensatz zu SAML ist die OpenID-Authentifizierung bei Aktivierung immer für alle Haiilo-Nutzer verfügbar und nicht auf eines der Haiilo Benutzerverzeichnisse beschränkt. Um OpenID zu konfigurieren, lest bitte die OpenID-Handbücher des Identitätsanbieters.

In diesem Artikel zeigen wir euch ein Beispiel für eine Konfiguration für Microsoft 365. Folgende Punkte sind wichtig:

  • Die "Mapping-ID" ist der Parameter der Antwort des IDP, der mit dem Anmeldenamen des Haiilo-Nutzers übereinstimmen muss. Der "eindeutige_Name" sollte in diesem Fall mit der E-Mail des Haiilo-Nutzers übereinstimmen. 
  • Um die "Client-ID" und "Client-Secret" zu erstellen, müsst ihr Haiilo als Webanwendung in der Administration eures IDP registrieren. Ihr werdet nach der Anmelde-URL von Haiilo gefragt. Diese Redirect-URL wird beim Speichern eurer Konfiguration des Authentifizierungs-Anbieters in Haiilo generiert. 
  • Die URLs für "Authentifizierung", "Access-Token" und "User-Info" werden in der App-Registrierung eures IDP definiert.

Im Screenshot findet ihr das gemeinsame Schema für Microsoft 365 mit seinem Azure-Tenant. "Anwendungsbereich" sind die Berechtigungen, die ihr benötigt, um auf die URL der Nutzerinformation zuzugreifen. "Token Schema" und "Authentifizierungsschema" werden vom IDP definiert.

Authentifizierungsanbieter_open_id.png

FAQ

Muss für jedes Benutzerverzeichnis auch ein neuer Authentifizierungs-Anbieter angelegt werden?

Im Falle von SAML, ja. Beim Erstellen eines SAML Authentifizierungs-Anbieters in der Administration von Haiilo, muss genau ein Benutzerverzeichnis angegeben werden und dieser Log-in gilt nur für Nutzer von diesem Benutzerverzeichnis.

OpenID hingegen gilt für sämtliche Nutzer in eurem Haiilo.

Nutzt Haiilo eine integrierte Authentifizierung oder nur formularbasierte Authentifizierung über ADFS?

Unsere SAML-Schnittstelle unterstützt die Benutzerauthentifizierung nach dem SAML Protokoll. Eine Provisionierung der Nutzer über diese Schnittstelle ist somit nicht möglich.

Falls ihr in Richtung WIA (Windows Integrated Authentication) geht, dann ist dies möglich. Dies müsst ihr jedoch nicht in Haiilo, sondern im ADFS System konfigurieren. Haiilo macht lediglich einen Redirect zum ADFS Server und erwartet dann eine "SAML Assertion", bei welcher der Login-Name (z. B. die E-Mailadresse) als "Name-ID" übergeben wird.

In Haiilo gibt es bei der Konfiguration von SSO die Option "Automatische Anmeldung". Können sich die Nutzer dennoch manuell anmelden?

Bei der Konfiguration der Option "Automatische Anmeldung" werden die Nutzer automatisch zum entsprechenden Authentifizierungsanbieter weitergeleitet. Die Login-Seite leitet dann nach drei bis fünf Sekunden auf den ADFS Server weiter.

Sollen die Nutzer nicht zum ADFS Server weitergeleitet werden? Kein Problem! Dann habt ihr vor dem Redirect die Chance, auf das Feld "Als lokaler Benutzer anmelden" zu klicken, um zur bekannten Anmeldemaske zu gelangen.

War dieser Beitrag hilfreich?