Microsoft AD FS SAML2 SSO
Einführung
Microsoft AD FS (Active Directory Federation Services) ist ein von Microsoft entwickelter Identity Provider (IdP), der eine Windows-basierte, selbst gehostete On-Premise-Version bereitstellt. Sie können eine Unternehmensanwendung über SAML2 mit AD FS verbinden und verwalten, wer sich per Single Sign-On in der verbundenen Anwendung anmelden darf. Außerdem können Sie definieren, welche Nutzerattribute zwischen AD FS und der verbundenen Anwendung synchronisiert werden sollen. Flexopus unterstützt eine Microsoft AD FS-Integration über SAML für Single Sign-On.
SAML2-Anleitung
SCHRITT 1 - Relying Party Trust einrichten
- Öffnen Sie als
AD FS-AdministratorIhreMicrosoft AD FS-Verwaltungskonsole. - Wählen Sie den Ordner
Relying Party Trustsaus. - Klicken Sie in der
Aktionen-Seitenleiste auf die StandardeinstellungRelying Party Trustund anschließend aufStart. Dadurch öffnet sich derAdd Relying Party Trust Wizard. - Wählen Sie im Popup die erste Option als Datenquelle aus:
Import data about the relying party published online or on a local network.
https://{your-flexopus-domain}/internal-api/auth/integrations/saml2/metadata

Um Ihre Federation-Metadatenadresse zu finden, gehen Sie wie folgt vor:
- Navigieren Sie zu Ihrer Flexopus-Instanz.
- Gehen Sie zu
Dashboard > Globale Einstellungen > Authentifizierung. - Klicken Sie auf
Anbieter hinzufügen. - Die
Metadata URLfinden Sie oben auf der Seite.

- Display Name: Geben Sie Flexopus ein.
- Choose Access Control Policy: Wählen Sie Permit Everyone aus.
(Je nach Ihren internen Richtlinien können Sie eine passendere Richtlinie auswählen.) - Ready to add Trust: Sie können diesen Schritt und die nächsten beiden Schritte überspringen.
- Schließen Sie den Assistenten anschließend ab.
SCHRITT 2/A - „Claim Rule“ einrichten
- Wählen Sie auf der rechten Seite
Edit Claim Issuance Policyaus. - Klicken Sie auf
Add rule. - Wählen Sie die Option
Send Claims Using a Custom Rule.

Geben Sie als Regelname Basic Attributes ein und setzen Sie die folgende benutzerdefinierte Regel:
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]=> issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", "jobtitle", "department"), query = ";userPrincipalName,displayName,givenName,sn,mail,title,department;{0}", param = c.Value);
Klicken Sie auf Finish.
Wiederholen wir die Schritte:
- Wählen Sie auf der rechten Seite Edit Claim Issuance Policy aus.
- Klicken Sie auf Add rule.
- Wählen Sie die Option Send Claims Using a Custom Rule.
- Geben Sie als Regelname NameIDFormat ein.
- Setzen Sie die folgende benutzerdefinierte Regel:
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"] => issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent");
- Klicken Sie auf Finish.
SCHRITT 2/B - Manuelle Einrichtung der Zuordnungen
- Wählen Sie auf der rechten Seite Edit
Claim Issuance Policyaus. - Klicken Sie auf
Add rule. - Wählen Sie als
Custom Rule Type: Send LDAP Attributes as Claims.

- Geben Sie als Regelname
basic attributesein. - Wählen Sie als
Attribute Store: Active Directory. - Legen Sie die Attributzuordnungen wie unten aufgeführt fest.
(Hinweis:jobtitleunddepartmentsind optional, wir empfehlen jedoch, diese zu verbinden.)
Diese Einrichtung stellt sicher, dass die Nutzerattribute aus Active Directory korrekt zu Flexopus zugeordnet werden.
| LDAP-Attribut | Ausgehender Claim | Hinweis |
|---|---|---|
| User-Principal-Name | UPN | erforderlich |
| Display-Name | Name | erforderlich |
| Given-Name | Given Name | erforderlich |
| Surname | Surname | erforderlich |
| E-Mail-Address | E-Mail Address | erforderlich |
| Department | Department | optional |
| Jobtitle | Jobtitle | optional |
- Wählen Sie anschließend erneut
Add ruleaus. - Wählen Sie
Transform an Incoming Claim. - Legen Sie im letzten Schritt die
Name ID-Zuordnungfest:- Incoming claim type: UPN
- Outgoing claim type: Name ID
- Outgoing Name ID format: Persistent Identifier

Klicken Sie auf Finish.
SCHRITT 3 - Flexopus für SSO konfigurieren
- Navigieren Sie zu
AD FS > Service > Endpoints. - Kopieren Sie die
Federation Metadatabzw. den metadata-endpoint-path. - Basierend auf diesem Pfad erstellen Sie Ihre Metadata URL. Diese sieht wie folgt aus:
https://<your-adfs-domain>/<metadata-endpoint-path>
https://{your-adfs-server-url}/{metadata-endpoint-path}

Navigieren Sie in Flexopus zu Dashboard > Globale Einstellungen > Authentifizierung und wählen Sie den zuvor erstellten SAML2-Anbieter aus. Fügen Sie die URL in das Feld Metadata URL ein und aktivieren Sie das SAML2-Modul.

Geben Sie den Namen des SAML2-Login-Buttons ein, der auf der Login-Seite angezeigt wird.
Empfehlung: Verwenden Sie SSO Login.
Optional: Aktivieren Sie die Synchronisierung der Felder, die Sie in den SAML2-Einstellungen konfiguriert haben, zum Beispiel jobtitle oder department.

Legen Sie in den Sicherheitseinstellungen die erlaubten Domains für SSO fest, indem Sie ein * (Stern) eingeben und ENTER drücken. Dadurch kann sich jeder Nutzer anmelden, der in Ihrem Active Directory konfiguriert ist.
Standardmäßig werden SAML2 SSO-Nutzer nach ihrem ersten Loginversuch automatisch registriert. Dies vereinfacht den Prozess, da Sie Nutzerprofile vor dem ersten Login nicht manuell erstellen müssen. Sie können diese Einstellung deaktivieren, dies wird jedoch nicht empfohlen.

Speichern Sie Ihre Einstellungen unten auf der Seite.
SCHRITT 4 - SSO testen
Öffnen Sie Flexopus in einem neuen Inkognito-Fenster und testen Sie den Login:https://{your-company}.flexopus.com/oder falls Sie eine individuelle Domain verwenden, öffnen Sie stattdessen Ihre individuelle Domain.
Sie sollten sich mit einem bestehenden oder neuen Nutzer anmelden können, abhängig davon, wie Sie die Zugriffsrechte in Ihrem Azure Active Directory und in Flexopus konfiguriert haben.
Sobald SAML2 SSO erfolgreich konfiguriert ist, können Sie optional den Login mit E-Mail und Passwort deaktivieren und Single Sign-On für alle Nutzer erzwingen. Navigieren Sie zu Dashboard > Globale Einstellungen > Authentifizierung. Dort finden Sie zwei Optionen:
- Passwort-Login deaktivieren: Dadurch werden alle Login-Formulare für E-Mail und Passwort deaktiviert.
- Login-Formular ausblenden: Dadurch wird das Login-Formular auf der Hauptseite ausgeblendet. Ein sekundäres Formular bleibt unter
../dashboard/auth/loginals Backup für Admin-Nutzer erreichbar.

(Optional): Gruppen senden
Microsoft AD FS bietet keine Möglichkeit, Nutzergruppen über die SCIM API zu synchronisieren. Sie können jedoch einen Workaround verwenden, indem Sie Gruppen über ein SAML2-Attribut senden. Sie können die mit einem Nutzer verbundenen Gruppen über das SAML2-Attribut memberOf senden. Dieses Attribut sendet ein Array von Gruppen, denen der Nutzer zugeordnet werden soll.
SCHRITT 1 - AD FS konfigurieren
- Wählen Sie die Option
Edit Claim Issuance Policy. - Klicken Sie auf
Add rule.
Falls Sie die Konfiguration mit Methode 2A durchgeführt haben:
Erstellen Sie eine Regel mit dem Namen group membership und fügen Sie die folgende Regel ein:
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => issue(store = "Active Directory", types = ("memberOf"), query = ";memberOf;{0}", param = c.Value);
Falls Sie die Konfiguration mit Methode 2B durchgeführt haben:
- Custom Rule Type: Wählen Sie
Send LDAP Attributes as Claims. - Erstellen Sie die Regel mit dem Namen
group membership. - Attribute Store: Wählen Sie
Active Directory. - Fügen Sie das folgende Attribut hinzu:
| LDAP-Attribut | Ausgehender Claim | Hinweis |
|---|---|---|
| Is-member-Of-DL | memberOf | erforderlich |

Ihre Issuance Transform Rules sollten wie folgt aussehen:

SCHRITT 2 - Flexopus konfigurieren
Um das zusätzliche Attribut in Flexopus zu empfangen und zu verarbeiten, gehen Sie wie folgt vor:
- Gehen Sie zu
Dashboard > Globale Einstellungen > Authentifizierung. - Wählen Sie den zuvor erstellten
SAML2 SSO-Anbieteraus. - Ändern Sie die Einstellung für die Option
Gruppen synchronisierenvonAusaufAD FS.

- Speichern Sie die Einstellung unten auf der Seite.
memberOf hat eine Obergrenze. Sie können keine unbegrenzte Anzahl an Gruppen über dieses Array senden. Wenn das Limit erreicht ist, werden keine Gruppen gesendet. Weitere Informationen finden Sie hier.Hinweis: Das Attribut memberOf hat eine Obergrenze. Sie können keine unbegrenzte Anzahl an Gruppen über dieses Array senden. Wenn das Limit erreicht ist, werden keine Gruppen gesendet. Weitere Informationen finden Sie hier.
SCHRITT 3 - Konfiguration testen
- Weisen Sie Ihrem Testnutzer in AD FS Gruppen zu. Die zugewiesenen Gruppen werden an Flexopus gesendet, wenn Sie sich mit Ihrem Nutzer anmelden.
- Öffnen Sie Flexopus in einem neuen Inkognito-Fenster und testen Sie den Login:
https://{your-company}.flexopus.com/oder verwenden Sie alternativ Ihre individuelle Domain, falls zutreffend. - Sie müssen einen neuen Login starten, damit die Gruppen übertragen werden. Das SAML2-Protokoll tauscht Daten zwischen Ihrem IdP und Flexopus nur während des Logins aus.
Nach dem Login werden die über memberOf empfangenen Gruppen den Nutzern als externe Gruppen zugewiesen. Alle zuvor zugewiesenen externen Gruppen werden getrennt. Die intern in Flexopus verwalteten Gruppen bleiben unverändert.
Gruppen werden anhand ihres Namens identifiziert, der immer eindeutig ist:
- Wenn Flexopus einen Gruppennamen erhält, der bereits als interne Gruppe existiert, wird die interne Gruppe in eine externe Gruppe umgewandelt.
- Wenn Flexopus einen neuen Gruppennamen erhält, wird die Gruppe als externe Gruppe erstellt.
Weitere Informationen zu Gruppen finden Sie hier:

Fehlerbehebung und FAQ
Metadaten können nicht außerhalb des Unternehmensnetzwerks und VPNs geteilt werden.
In manchen Fällen ist der AD FS-Server möglicherweise ausschließlich auf den Zugriff aus dem lokalen Netzwerk beschränkt. Wenn dies der Fall ist, kann die Konfiguration der Metadata URL in Flexopus zu 500-Serverfehlern führen, da der Flexopus-Server nicht auf die Informationen auf dem eingeschränkten Server zugreifen kann.
Um dies zu testen, versuchen Sie, die Metadata URL von Ihrem privaten Smartphone über ein mobiles Netzwerk zu öffnen. Die Datei sollte lesbar und zugänglich sein. Falls nicht, liegt dieses Problem vor.
In diesem Fall empfehlen wir, die Metadaten in Flexopus mit einer Datei statt mit einer URL zu konfigurieren. Das bedeutet jedoch, dass automatische Updates für Zertifikate und Signaturen nicht erfolgen. Wenn Änderungen an diesen vorgenommen werden, müssen Sie manuell eine neue Metadatendatei in Flexopus hochladen, um ein reibungsloses SSO-Erlebnis sicherzustellen.
Keine Sorge — dies geschieht typischerweise nur alle 3–5 Jahre, abhängig von Ihren IdP-Einstellungen, und kann bei Bedarf schnell behoben werden.
Ich erhalte einen 500-Serverfehler.
Bitte prüfen Sie die Konfigurationsschritte erneut. Wenn Sie das Problem nicht finden können, kontaktieren Sie uns. Für den 500-Serverfehler verfügen wir über Serverprotokolle, die helfen, das Problem schneller zu lokalisieren.
