Skip to main content

Microsoft Integrationen

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.

💡
Hinweis: Viele unserer Kunden verwenden eine sogenannte hybride Active Directory-Architektur, bei der die Hauptdaten auf den lokalen Servern des Unternehmens in Microsoft AD FS gespeichert und die Nutzerdaten mit Azure Active Directory synchronisiert werden. In diesen Fällen empfehlen wir, die Integration direkt mit dem cloudbasierten Azure Active Directory umzusetzen.

SAML2-Anleitung


SCHRITT 1 - Relying Party Trust einrichten

  1. Öffnen Sie als AD FS-Administrator Ihre Microsoft AD FS-Verwaltungskonsole.
  2. Wählen Sie den Ordner Relying Party Trusts aus.
  3. Klicken Sie in der Aktionen-Seitenleiste auf die Standardeinstellung Relying Party Trust und anschließend auf Start. Dadurch öffnet sich der Add Relying Party Trust Wizard.
  4. 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
Add Relying Party Trust

Um Ihre Federation-Metadatenadresse zu finden, gehen Sie wie folgt vor:

  1. Navigieren Sie zu Ihrer Flexopus-Instanz.
  2. Gehen Sie zu Dashboard > Globale Einstellungen > Authentifizierung.
  3. Klicken Sie auf Anbieter hinzufügen.
  4. Die Metadata URL finden Sie oben auf der Seite.
Konfigurations-URLs
  1. Display Name: Geben Sie Flexopus ein.
  2. Choose Access Control Policy: Wählen Sie Permit Everyone aus.
    (Je nach Ihren internen Richtlinien können Sie eine passendere Richtlinie auswählen.)
  3. Ready to add Trust: Sie können diesen Schritt und die nächsten beiden Schritte überspringen.
  4. Schließen Sie den Assistenten anschließend ab.
💡
Hinweis: Sie können selbst entscheiden, wie Sie die SAML2-Attributzuordnungen konfigurieren möchten. Sie können entweder Schritt 2/A oder Schritt 2/B durchführen.

SCHRITT 2/A - „Claim Rule“ einrichten

  • 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.
Claim Rule Wizard

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:

  1. Wählen Sie auf der rechten Seite Edit Claim Issuance Policy aus.
  2. Klicken Sie auf Add rule.
  3. Wählen Sie die Option Send Claims Using a Custom Rule.
  4. Geben Sie als Regelname NameIDFormat ein.
  5. 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");
  1. Klicken Sie auf Finish.

SCHRITT 2/B - Manuelle Einrichtung der Zuordnungen

  • Wählen Sie auf der rechten Seite Edit Claim Issuance Policy aus.
  • Klicken Sie auf Add rule.
  • Wählen Sie als Custom Rule Type: Send LDAP Attributes as Claims.
microsoft-ad-fs-claim-rules-2
Claim Rule Wizard
  1. Geben Sie als Regelname basic attributes ein.
  2. Wählen Sie als Attribute Store: Active Directory.
  3. Legen Sie die Attributzuordnungen wie unten aufgeführt fest.
    (Hinweis: jobtitle und department sind optional, wir empfehlen jedoch, diese zu verbinden.)

Diese Einrichtung stellt sicher, dass die Nutzerattribute aus Active Directory korrekt zu Flexopus zugeordnet werden.

LDAP-AttributAusgehender ClaimHinweis
User-Principal-NameUPNerforderlich
Display-NameNameerforderlich
Given-NameGiven Nameerforderlich
SurnameSurnameerforderlich
E-Mail-AddressE-Mail Addresserforderlich
DepartmentDepartmentoptional
JobtitleJobtitleoptional
  • Wählen Sie anschließend erneut Add rule aus.
  • Wählen Sie Transform an Incoming Claim.
  • Legen Sie im letzten Schritt die Name ID-Zuordnung fest:
    • Incoming claim type: UPN
    • Outgoing claim type: Name ID
    • Outgoing Name ID format: Persistent Identifier
microsoft-ad-fs-rule-wizard
Claim Rule Wizard

Klicken Sie auf Finish.


SCHRITT 3 - Flexopus für SSO konfigurieren

  • Navigieren Sie zu AD FS > Service > Endpoints.
  • Kopieren Sie die Federation Metadata bzw. 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}
Metadata URL kopieren

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.

Metadata URL konfigurieren

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.

Felder und Buttonname

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.

Sicherheitseinstellungen

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.

💡
Hinweis: Die Zwei-Faktor-Authentifizierung (2FA) wird basierend auf den Microsoft 2FA-Einstellungen des Nutzers angewendet. Wenn Sie in Ihrer Microsoft Admin-Konsole 2FA als erforderlich festgelegt haben, werden Nutzer während des Microsoft-Authentifizierungsprozesses zur Durchführung der 2FA aufgefordert.

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/login als Backup für Admin-Nutzer erreichbar.
E-Mail- und Passwort-Login deaktivieren
💡
Hinweis: Unser Support-Team kann diese Optionen jederzeit für Sie aktivieren und deaktivieren. Falls Sie die Logins falsch konfigurieren, können wir Ihnen weiterhin Zugriff ermöglichen.

(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-AttributAusgehender ClaimHinweis
Is-member-Of-DLmemberOferforderlich

Ihre Issuance Transform Rules sollten wie folgt aussehen:

Screen Shot 2022-08-10 at 14-54-13-png

SCHRITT 2 - Flexopus konfigurieren

Um das zusätzliche Attribut in Flexopus zu empfangen und zu verarbeiten, gehen Sie wie folgt vor:

  1. Gehen Sie zu Dashboard > Globale Einstellungen > Authentifizierung.
  2. Wählen Sie den zuvor erstellten SAML2 SSO-Anbieter aus.
  3. Ändern Sie die Einstellung für die Option Gruppen synchronisieren von Aus auf AD FS.
  1. Speichern Sie die Einstellung unten auf der Seite.
💡
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.

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.
💡
Hinweis: Um diese Synchronisierung zu erzwingen, können Sie die Sitzungsdauer des Nutzers in Flexopus von 1 Woche auf 2 Tage reduzieren. Dadurch wird sichergestellt, dass sich Nutzer mindestens einmal pro Woche anmelden.

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:

Benutzergruppen
Einführung Hier finden Sie eine Liste der Aktionen, die Sie mit Benutzergruppen durchführen können, um sie als Administrator zu verwenden und zu verwalten: Wie verwaltet man die Benutzergruppen? * Gruppen manuell verwalten * Gruppen über die SCIM-API verwalten * Gruppen über SAML2 (memberOf) verwalten * Benutzer und Gruppen importieren (CSV und XLSX) Wie

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.