Konfigurieren Sie Microsoft Entra ID als SAML IdP und NetScaler als SAML SP
Der SAML-Dienstanbieter (SAML SP) ist eine SAML-Entität, die vom Dienstanbieter bereitgestellt wird. Wenn ein Benutzer versucht, auf eine geschützte Anwendung zuzugreifen, wertet der SP die Client-Anfrage aus. Wenn der Client nicht authentifiziert ist (kein gültiges NSC_TMAA- oder NSC_TMAS-Cookie hat), leitet der SP die Anfrage an den SAML-Identitätsanbieter (IdP) weiter. Der SP validiert auch SAML-Assertionen, die vom IdP empfangen werden.
Der SAML-Identitätsanbieter (SAML IdP) ist eine SAML-Entität, die im Kundennetzwerk bereitgestellt wird. Der IdP empfängt Anfragen vom SAML-SP und leitet Benutzer auf eine Anmeldeseite weiter, auf der sie ihre Anmeldeinformationen eingeben müssen. Der IdP authentifiziert diese Anmeldeinformationen mit dem Benutzerverzeichnis (externer Authentifizierungsserver, z. B. LDAP) und generiert dann eine SAML-Assertion, die an den SP gesendet wird. Der SP validiert das Token und dem Benutzer wird dann Zugriff auf die angeforderte geschützte Anwendung gewährt.
Das folgende Diagramm zeigt den SAML-Authentifizierungsmechanismus.
Microsoft Entra ID-seitige Konfigurationen
Konfigurieren Sie Single-Sign-On-Einstellungen:
-
Klicken Sie im Azure-Portal auf Azure Active Directory.
-
Klicken Sie im Navigationsbereich unter dem Abschnitt Verwalten auf Unternehmensanwendungen. Eine Zufallsstichprobe der Anwendungen in Ihrem Microsoft Entra-ID-Mandanten (früher Azure AD) wird angezeigt.
-
Geben Sie in der Suchleiste NetScaler SAML Connector for Azure AD ein.
-
Wählen Sie im Abschnitt Verwalten die Option Single Sign-On aus.
-
Wählen Sie SAML aus, um Single Sign-On zu konfigurieren. Die Seite Single Sign-On mit SAML einrichten - Vorschau wird angezeigt. Hier fungiert Azure als SAML-IdP.
-
Konfigurieren Sie grundlegende SAML-Optionen:
Identifikator (Entity ID) - Für einige Apps erforderlich. Identifiziert eindeutig die Anwendung, für die Single Sign-On konfiguriert wird. Microsoft Entra ID sendet den Bezeichner als Zielgruppenparameter des SAML-Tokens an die Anwendung. Es wird erwartet, dass die Anwendung sie validiert. Dieser Wert erscheint auch als Entitäts-ID in allen SAML-Metadaten, die von der Anwendung bereitgestellt werden.
Antwort URL - Obligatorisch. Gibt an, wo die Anwendung den Empfang des SAML-Tokens erwartet. Die Antwort-URL wird auch als Assertion Consumer Service (ACS) -URL bezeichnet. Geben Sie die Antwort-URL im Format an
http(s)://<SP_URL>/cgi/samlauth
.Anmelde-URL − Wenn ein Benutzer diese URL öffnet, leitet der Dienstanbieter zur Microsoft Entra-ID weiter, um den Benutzer zu authentifizieren und anzumelden.
Relay-Status − Gibt an die Anwendung an, in die der Benutzer nach Abschluss der Authentifizierung umgeleitet werden soll.
-
Laden Sie das Zertifikat (Base64) aus dem Bereich SAML-Zertifikate herunter. Das Zertifikat wird bei der Konfiguration von NetScaler als SAML SP als SAML-SP als SAML-SP verwendet.
-
Sobald die Konfiguration auf der Microsoft Entra ID-Seite abgeschlossen ist, fügen Sie Benutzer und Benutzergruppen hinzu, die auf die Anwendung zugreifen dürfen. Gehen Sie zum Tab Benutzer und Gruppen und klicken Sie auf +Benutzer/Gruppe hinzufügen.
NetScaler-seitige Konfigurationen
-
Erstellen Sie eine SAML-Aktion.
-
Navigieren Sie zu Sicherheit > AAA-Anwendungsverkehrsrichtlinien > Authentifizierung > Erweiterte Richtlinien > Aktionen > SAML.
-
Klicken Sie auf Hinzufügen, geben Sie Werte für die folgenden Parameter ein und klicken Sie auf Erstellen.
Parameter-Beschreibung:
Der Wert für fett gedruckte Parameter muss den Azure-Seitenkonfigurationen entnommen werden.
-
Name − Name des Servers
-
Umleitungs-URL − Geben Sie die zuvor im Abschnitt Setup NetScaler von Microsoft Entra ID verwendete Anmelde-URL ein.
https://login.microsoftonline.com/3e6d1786-4e0c-4c70-86d2-ae7811f97f79/saml2
-
Einzelne Abmelde-URL -
https://login.microsoftonline.com/3e6d1786-4e0c-4c70-86d2-ae7811f97f79/saml2
-
SAML-Bindung — Ein Mechanismus, der verwendet wird, um SAML-Anforderungs- und Responder-Nachrichten zwischen dem SP und dem IdP zu transportieren. Wenn NetScaler als SP fungiert, unterstützt es Post-, Redirect- und Artifact-Bindungen. Die Standardbindungsmethode ist Post.
-
Logout-Bindung — Gibt den Transportmechanismus von SAML-Abmeldungsnachrichten an. Der Standard-Bindungsmechanismus ist Post.
-
IDP-Zertifikatsname— IDPcert-Zertifikat (Base64), das im Abschnitt SAML-Zertifikate vorhanden ist.
add ssl certkey <IDP-CERT-NAME> -cert <Name of the IdP certificate downloaded above> <!--NeedCopy-->
-
Benutzerfeld - userprincipalName. Entnommen aus dem Abschnitt “Benutzerattribute und Ansprüche” von Azure IdP.
-
Name des Signaturzertifikats − Nicht erforderlich für Microsoft Entra ID. Wählen Sie das SAML-SP-Zertifikat (mit privatem Schlüssel) aus, das NetScaler verwendet, um Authentifizierungsanfragen an den IdP zu signieren. Das gleiche Zertifikat (ohne privaten Schlüssel) muss in den IdP importiert werden, damit der IdP die Signatur der Authentifizierungsanfrage überprüfen kann. Dieses Feld wird von den meisten IDPs nicht benötigt.
-
issuerName — Entitäts-ID oder der Bezeichner.
https://gateway.nssvctesting.net
in diesem Fall. In einem Lastausgleichs-Bereitstellungsszenario müssen Sie den FQDN des virtuellen Lastausgleichsservers verwenden. -
Unsignierte Assertion ablehnen — Option, die Sie angeben können, wenn die Assertionen des IdP signiert werden sollen. Die Standardeinstellung ist EIN.
-
Zielgruppe — Zielgruppe, für die die vom IdP gesendete Assertion gilt. Dies ist normalerweise ein Entitätsname oder eine URL, die den Dienstanbieter darstellt.
-
Signaturalgorithmus — Algorithmus, der zum Signieren/Verifizieren von SAML-Transaktionen verwendet wird. Der Standardwert ist RSA-SHA256.
-
Digest-Methode — Algorithmus, der zur Berechnung/Überprüfung von Digest für SAML-Transaktionen verwendet wird. Der Standardwert ist SHA256.
-
Standardauthentifizierungsgruppe — Die Standardgruppe, die zusätzlich zu den extrahierten Gruppen ausgewählt wird, wenn die Authentifizierung erfolgreich ist.
-
Feld Gruppenname — Name des Tags in einer Assertion, die Benutzergruppen enthält.
-
Skew Time (Minuten) — Diese Option gibt den Zeitversatz in Minuten an, den der NetScaler Service Provider für eine eingehende Assertion zulässt. Wenn Sie beispielsweise die Skew-Zeit um 16:00 Uhr auf 10 Minuten festlegen, ist die SAML-Assertion von 15:50 bis 16:10 gültig, also insgesamt 20 Minuten. Die Standardschiefzeit beträgt 5 Minuten.
-
Zwei-Faktor - AUS
-
Angeforderter Authentifizierungskontext — exakt
-
Authentifizierungsklassentyp — Keine
-
Fingerabdruck senden — AUS
-
Benutzername erzwingen — EIN
-
Authentifizierung erzwingen — AUS
-
SAML-Antwort speichern — AUS
-
-
-
Erstellen Sie eine entsprechende SAML-Richtlinie für die SAML-Aktion und binden Sie die Richtlinie an den virtuellen Authentifizierungsserver.
-
Navigieren Sie zu Sicherheit > AAA-Application Traffic > Policies > Authentication > Advanced Policies > Policy und klicken Sie auf Hinzufügen.
-
Geben Sie auf der Seite SAML-Authentifizierungsrichtlinie erstellen die folgenden Details an:
- Name — Geben Sie einen Namen für die SAML-Richtlinie an.
- Action Type - Wählen Sie SAML als Authentifizierungsaktionstyp aus.
- Aktion — Wählen Sie das SAML-Serverprofil aus, an das die SAML-Richtlinie gebunden werden soll.
- Ausdruck — Zeigt den Namen der Regel oder des Ausdrucks an, anhand dessen die SAML-Richtlinie bestimmt, ob sich der Benutzer beim SAML-Server authentifizieren muss. Stellen Sie im Textfeld den Wert “rule = true ein, damit die SAML-Richtlinie wirksam wird und die entsprechende SAML-Aktion ausgeführt wird.
-
-
Binden Sie die SAML-Richtlinie an den virtuellen VPN-Server und verknüpfen Sie den virtuellen VPN-Server über ein Authentifizierungsprofil mit dem virtuellen Authentifizierungsserver. Einzelheiten zum Bindungsverfahren finden Sie unter Binden der Authentifizierungsrichtlinie.
Hinweis:
- Microsoft Entra ID erwartet das Feld Betreff-ID in der SAML-Anfrage nicht.
- Geben Sie den folgenden Befehl in der NetScaler CLI ein, damit NetScaler das Feld Subject ID nicht sendet.
nsapimgr_wr.sh -ys call="ns_saml_dont_send_subject"
Dieser Befehl ist nur in nFactor-Authentifizierungs-Workflows anwendbar.