ADFS (Active Directory) (SAML)#
Bitte erstellen Sie vor jeder Änderung an einer Schnittstelle/Import einen vollständiges Backup. Falls das Ergebnis nicht zufriedenstellend ist kann dieses dann wiederhergestellt werden
In dieser Anleitung beschreiben wir die Einrichtung von Single-Sign-On (SSO) für i-doit mit Hilfe von SAML. In diesem Beispiel nutzen wir Mellon als Authenticator gegen LDAP-AD-FS.
Vorbereitungen#
Wir nutzen für die Beispielkonfiguration zwei Server, einen Windows Server mit Domäne/AD und FS und einen Debian 11 Server mit Apache und Mellon:
FQDN | IP | Rolle | OS |
---|---|---|---|
tu2-dc2.tu-synetics.test | 10.10.60.22 | AD, FS | Windows |
tu2-samlsso.synetics.test | 10.10.60.108 | Apache+Mellon | Debian11 |
Basiskonfiguration#
✔ Der Windows-Server muss ein konfiguriertes AD haben, welches die Rolle AD-FS beinhaltet.
✔ i-doit ist bereits vorinstalliert und nutzbar.
Pakete Installieren#
1 |
|
Als Systemarchitektur sollte ein x86 in 64bit zum Einsatz kommen
Mellon Konfiguration#
Wir erstellen hierzu ein Verzeichnis unter /etc/apache2
und legen hier unsere Konfigurationsdaten ab.
1 2 |
|
Mit folgendem Befehl erstellen wir unsere Mellon Metadaten "URLs bitte anpassen"
1 |
|
Dies erstellt nun folgende Dateien
https\_tu2\_samlsso.synetics.test\_.cert
https\_tu2\_samlsso.synetics.test\_.key
https\_tu2\_samlsso.synetics.test\_.xml
Nun müssen wir die AD-FS metadaten von unserem AD abholen "URLs bitte anpassen"
1 |
|
Nun müssen wir unsere Mellon Konfiguration anlegen.
1 |
|
Folgende Direktiven werden anhand des Beispiels eingefügt:
1 2 3 4 5 6 7 8 |
|
Apache2 Konfiguration#
Zuerst erstellen wir ein selbst signiertes Zertifikat "Name kann individuell sein"
1 |
|
Beispiel:
1 2 3 4 5 6 7 |
|
VHost erstellen:
1 |
|
Beispiel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
In diesem Beispiel wird unter /var/www/html
nur das Verzeichnis via Mellon geschützt. Wir können also später noch eine weitere VHost Konfiguration anlegen, um z.B. i-doit zu installieren.
Anlegen des Verzeichnisses:
1 |
|
Anlegen einer Beispiel html um den Aufruf später zu testen:
1 |
|
Beispiel:
1 2 3 4 5 6 7 8 |
|
Config testen:
1 |
|
Mods, Configs aktivieren:
1 2 3 4 |
|
Zeit synchronisieren:
1 |
|
An dieser Stelle sind wir vorerst mit der Konfiguration des Linux Servers fertig und können uns jetzt unserem AD widmen.
Konfiguration AD-FS#
Zuerst via z.B. WinSCP die mellon_metadata.xml
vom Linux Server herunterladen und speichern.
Anschließend öffnen wir das AD-FS Management und legen ein neuen Relying Party Trust an
Claims aware bleibt aktiv und dann auf Start
Im Nächsten Schritt wählen wir "import data …." aus und navigieren zu unserer vorher gesicherten XML
Folgender Hinweis kann ignoriert werden, wenn er auftaucht.
Nun tragen wir den FQDN von unserem Linux-Server ein.
Im nächsten Schritt können wir Zugriffe steuern, der Einfachheit halber belassen wir es zunächst auf Permit everyone.
Das nächste Fenster können wir auch außer Acht lassen und klicken einfach auf next.
Zum Schluss dann nur noch Close und der Party Trust ist angelegt
Nun müssen wir Claim Issuance Policies definieren, damit unser User sich auch via Mail anmelden kann.
Nun öffnet sich ein Fenster und wir klicken auf Add Rule.
Nun wählen wir Send LDAP Attributes as Claim aus und klicken auf Next
Wir geben der Rule einen eindeutigen Namen und fügen das Mapping wie angezeigt hinzu.
Dann erstellen wir eine weitere Regel und wählen Transform an Incoming Claim
Bitte die Konfiguration wie folgt vornehmen:
Nun haben wir einen voll konfigurierten Relying Party Trust und können nun einmal die Authentifizierung testen.
Test SAML-SSO#
Einmal im Browser die URL vom Server öffnen Beispiel: https://mywebserver.example.com/protected
Nach der erfolgreichen Anmeldung sollten wir folgende Ausgabe erhalten.
Installation i-doit#
Die Installation kann wie im KB-Artikel für Debian beschrieben installiert werden.
Anmeldung SSO für i-doit#
Hierzu müssen wir einmal in die Administration -> System settings und passen die Konfiguration wie folgt an. Wichtige Information zu Kontakten:Es muss zwingend die E-Mail Adresse des jeweiligen Benutzers als Login im i-doit hinterlegt sein!
Da wir aktuell nach unserer Anleitung bzw. KB vorgegangen sind, müssen wir die VHost Konfiguration anpassen damit wir uns nun via SSO anmelden können
i-doit VHost Konfiguration deaktivieren
1 |
|
Zu Beginn angelegte Mellon VHost Konfiguration anpassen
1 |
|
Beispiel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
Zum Schluss den Apache neustarten
1 |
|
Fertig!
Wenn wir nun die URL wieder in unserem Browser öffnen und uns anmelden, gelangen wir direkt zu i-doit
Fallback auf Anmeldemaske
Sollte sich ein Benutzer anmelden, der in i-doit noch nicht vorhanden ist, dann wird dieser automatisch auf die Anmeldemaske von i-doit weitergeleitet und kann sich mit einem lokalen Benutzer anmelden.