ADFS (Active Directory) (SAML)#
Bitte erstelle vor jeder Änderung an einer Schnittstelle/Import ein vollständiges Backup. Falls das Ergebnis nicht zufriedenstellend ist, kann dieses dann wiederhergestellt werden
Diese Anleitung beschreibt die Einrichtung von Single Sign-On (SSO) für i-doit mit SAML. Als Authenticator wird Mellon gegen AD FS (Active Directory Federation Services) eingesetzt.
Vorbereitungen#
Die Beispielkonfiguration verwendet zwei Server -- einen Windows Server mit Domaene/AD und FS sowie 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#
Erstelle ein Verzeichnis unter /etc/apache2 für die Konfigurationsdaten.
1 2 | |
Erstelle die Mellon-Metadaten mit folgendem Befehl (passe die URLs an deine Umgebung an):
1 | |
Dieser Befehl erstellt folgende Dateien:
https\_tu2\_samlsso.synetics.test\_.cert
https\_tu2\_samlsso.synetics.test\_.key
https\_tu2\_samlsso.synetics.test\_.xml
Hole die AD-FS-Metadaten von deinem AD ab (passe die URL an):
1 | |
Lege nun die Mellon-Konfiguration an:
1 | |
Fuege die folgenden Direktiven ein:
1 2 3 4 5 6 7 8 | |
Apache2 Konfiguration#
Erstelle zuerst ein selbst signiertes Zertifikat (der Name ist frei wählbar):
1 | |
Beispiel:
1 2 3 4 5 6 7 | |
Erstelle einen VHost:
1 | |
Beispiel-Konfiguration:
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 Unterverzeichnis /protected via Mellon geschützt. Du kannst später eine weitere VHost-Konfiguration anlegen, um z.B. i-doit einzubinden.
Lege das Verzeichnis an:
1 | |
Erstelle eine Beispiel-HTML-Datei, um den Aufruf später zu testen:
1 | |
Beispiel:
1 2 3 4 5 6 7 8 | |
Teste die Konfiguration:
1 | |
Aktiviere die benötigten Module und Configs:
1 2 3 4 | |
Synchronisiere die Systemzeit:
1 | |
Damit ist die Konfiguration des Linux-Servers vorerst abgeschlossen. Im nächsten Schritt richtest du AD FS ein.
Konfiguration AD-FS#
Lade zunächst die mellon_metadata.xml vom Linux-Server herunter (z.B. via WinSCP). Öffne dann das AD-FS Management und lege einen neuen Relying Party Trust an:
Lass Claims aware aktiv und klicke auf Start.
Wähle im nächsten Schritt Import data from a file und navigiere zur zuvor gesicherten XML-Datei.
Den folgenden Hinweis kannst du ignorieren, falls er erscheint.
Trage den FQDN deines Linux-Servers ein.
Im nächsten Schritt kannst du Zugriffe steuern. Für den Anfang belasse die Einstellung auf Permit everyone.
Das nächste Fenster kannst du überspringen -- klicke auf Next.
Klicke auf Close -- der Relying Party Trust ist damit angelegt.
Definiere nun die Claim Issuance Policies, damit sich Benutzer via E-Mail anmelden können.
Es öffnet sich ein Fenster -- klicke auf Add Rule.
Wähle Send LDAP Attributes as Claim und klicke auf Next.
Vergib der Rule einen eindeutigen Namen und fuege das Mapping wie angezeigt hinzu.
Erstelle eine weitere Regel und wähle Transform an Incoming Claim.
Nimm die Konfiguration wie folgt vor:
Der Relying Party Trust ist nun vollständig konfiguriert. Teste die Authentifizierung:
Test SAML-SSO#
Öffne die URL des Servers in deinem Browser: https://mywebserver.example.com/protected
Nach der erfolgreichen Anmeldung solltest du folgende Ausgabe sehen:
Installation i-doit#
Die Installation kann wie im KB-Artikel für Debian beschrieben installiert werden.
Anmeldung SSO für i-doit#
Öffne den Tab System settings im Admin-Center und passe 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!
Passe die VHost-Konfiguration an, damit die Anmeldung via SSO funktioniert.
Deaktiviere die i-doit-VHost-Konfiguration:
1 | |
Passe die zu Beginn angelegte Mellon-VHost-Konfiguration an:
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 | |
Starte den Apache neu:
1 | |
Die Einrichtung ist abgeschlossen. Wenn du die URL jetzt in deinem Browser öffnest und dich anmeldest, gelangst du 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.
















