Konfigurieren von Azure AD 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 Clientanforderung 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-Assertions, die vom IdP empfangen werden.
Der SAML-Identitätsanbieter (SAML IdP) ist eine SAML-Entität, die im Kundennetzwerk eingesetzt wird. Der IdP erhält Anfragen vom SAML-SP und leitet Benutzer zu einer Anmeldeseite weiter, auf der sie ihre Anmeldeinformationen eingeben müssen. Der IdP authentifiziert diese Anmeldeinformationen mit dem Benutzerverzeichnis (externer Authentifizierungsserver wie LDAP) und generiert dann eine SAML-Assertion, die an den SP gesendet wird. Der SP überprüft das Token, und dem Benutzer wird dann Zugriff auf die angeforderte geschützte Anwendung gewährt.
Das folgende Diagramm zeigt den SAML-Authentifizierungsmechanismus.
Azure AD-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. Ein Zufallsbeispiel der Anwendungen in Ihrem Azure AD-Mandanten 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. Azure AD sendet den Bezeichner als Zielgruppenparameter des SAML-Tokens an die Anwendung. Es wird erwartet, dass die Anwendung sie validiert. Dieser Wert wird auch als Entitäts-ID in allen SAML-Metadaten angezeigt, die von der Anwendung bereitgestellt werden.
Antwort URL - Obligatorisch. Gibt an, wo die Anwendung das SAML-Token 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 zu Azure AD um, um sich zu authentifizieren und den Benutzer 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 Abschnitt SAML-Signaturzertifikat herunter. Das Zertifikat wird als samlidPCertName verwendet, während NetScaler als SAML SP konfiguriert wird.
-
Sobald die Azure AD-seitige Konfiguration 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 seitliche Konfigurationen
-
Erstellen Sie eine SAML-Aktion.
-
Navigieren Sie zu Sicherheit > AAA-Anwendungsverkehrsrichtlinien > Authentifizierung > Erweiterte Richtlinien > Aktionen > SAML.
-
Wählen Sie die Registerkarte Server aus, 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 fettgedruckte Parameter muss aus den Azure-Seitenkonfigurationen übernommen werden.
-
Name - Name des Servers
-
URL umleiten - Geben Sie die zuvor verwendete Anmelde-URL im Abschnitt Azure AD “Setup NetScaler” 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-Requestor- und Responder-Nachrichten zwischen dem SP und 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-Abmeldenachrichten an. Der standardmäßige Bindungsmechanismus ist Post.
-
Name des IDP-Zertifikats — IDPcert-Zertifikat (Base64), das im Abschnitt SAML-Signaturzertifikat vorhanden ist.
add ssl certkey <IDP-CERT-NAME> -cert <Name of the IdP certificate downloaded above> <!--NeedCopy-->
-
Benutzerfeld - userprincipalName. Aus dem Abschnitt “Benutzerattribute und Ansprüche” von Azure IdP entnommen.
-
Signierzertifikatname - Für Azure AD nicht erforderlich. Wählen Sie das SAML SP-Zertifikat (mit privatem Schlüssel) aus, das NetScaler verwendet, um Authentifizierungsanforderungen an den IdP zu signieren. Das gleiche Zertifikat (ohne privaten Schlüssel) muss in den IdP importiert werden, damit der IdP die Signatur der Authentifizierungsanforderung überprüfen kann. Dieses Feld wird von den meisten IdPs nicht benötigt.
-
IssuerName — Entitäts-ID oder die ID.
https://idp.g.nssvctesting.net
in diesem Fall. -
Unsignierte Assertion ablehnen — Option, die Sie angeben können, wenn die Assertions vom IdP signiert werden müssen. 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 repräsentiert.
-
Signaturalgorithmus — Algorithmus, der zum Signieren/Überprüfen von SAML-Transaktionen verwendet wird. Der Standardwert ist RSA-SHA256.
-
Digest-Methode — Algorithmus, der zur Berechnung/Überprüfung des Digest für SAML-Transaktionen verwendet werden soll. Der Standardwert ist SHA256.
-
Standardauthentifizierungsgruppe — Die Standardgruppe, die zusätzlich zu den extrahierten Gruppen ausgewählt wird, wenn die Authentifizierung erfolgreich ist.
-
Gruppennamenfeld — Name des -Tags in einer Assertion, die Benutzergruppen enthält.
-
Skew Time (Minuten) - Diese Option gibt den Uhrzeitversatz in Minuten an, den der NetScaler-Dienstanbieter für eine eingehende Assertion zulässt. Wenn Sie beispielsweise die Skew-Zeit auf 10 Minuten um 16:00 Uhr festlegen, ist die SAML-Assertion von 15:50 bis 16:10 Uhr gültig — insgesamt 20 Minuten. Die voreingestellte Skew-Zeit beträgt 5 Minuten.
-
Zwei-Faktor - AUS
-
Angeforderter Authentifizierungskontext - genau
-
Typ der Authentifizierung - Keine
-
Fingerabdruck senden - AUS
-
Benutzernamen erzwingen - EIN
-
Authentifizierung erzwingen - AUS
-
SAML Response 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.
- Aktionstyp — 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 Authentifizierungsserver.
Navigieren Sie zu Sicherheit > AAA - Anwendungsdatenverkehr > Virtuelle Server, und ordnen Sie die SAML-Richtlinie dem virtuellen Authentifizierungsserver zu.
Hinweis:
- Azure AD erwartet das Feld Betreff-ID in der SAML-Anforderung nicht.
- Damit NetScaler das Feld Betreff-ID nicht sendet, geben Sie den folgenden Befehl in der NetScaler CLI ein.
nsapimgr_wr.sh -ys call="ns_saml_dont_send_subject"
Dieser Befehl ist nur in nFactor-Authentifizierungs-Workflows anwendbar.