Sie können den Arbeitsbereich „Authentifizierung“ verwenden, um SSO in SaltStack Config für die Zusammenarbeit mit einem Authentifizierungssystem zu konfigurieren, das mit dem SAML-Protokoll (Security Assertion Markup Language) kompatibel ist.
SAML-SSO (Single Sign-On) ist eine Funktion, die von vielen Organisationen während der Implementierung von SaltStack Config folgendermaßen konfiguriert wird:
- Benutzer benötigen weniger Zeit zur Anmeldung bei Diensten mit derselben Identität. Benutzer werden nach der Anmeldung bei einem der Dienste in einer Einrichtung automatisch bei jedem weiteren Dienst authentifiziert, der SSO verwendet.
- Weniger verschiedene Kennwörter. Der Benutzer muss sich nur einen Anmeldedatensatz anstelle mehrerer Datensätze merken.
Viele Dienste stellen Implementierungen des SAML-SSO-Protokolls zur Verfügung, einschließlich ADFS, OneLogin, Okta, Shibboleth, SimpleSAMLPHP, Google Suite usw.
Zusammenarbeit zwischen SAML-SSO und SaltStack Config
Wenn SaltStack Config eine erfolgreiche Identitäts-Assertion von einer der unterstützten Authentifizierungsintegrationen empfängt, wird nach einer Benutzeranmeldung gesucht, die dem Wert der bestätigten Identität entspricht. Wenn eine passende Anmeldung gefunden wird, erfolgt die Anmeldung beim verknüpften Benutzerkonto.
Beispiel: Wenn SaltStack Config beispielsweise eine ADFS-Assertion für einen Benutzer empfängt und der Wert für das konfigurierte Identitätsattribut „fred“ lautet, sucht SSE nach einer Anmeldung mit dem Benutzernamen „fred“. Nach Auffinden einer Anmeldung wird der verknüpfte Benutzer angemeldet. Ansonsten schlägt die Anmeldung fehl.
Terminologie der SAML-Authentifizierung
Akronym | Definition |
---|---|
SAML | Security Assertion Markup Language (SAML, ausgesprochen SAM-el) SAML ist ein offenes Protokoll (gelegentlich auch als Standard bezeichnet) für den Austausch von Authentifizierungs- und Autorisierungsdaten zwischen Beteiligten. Insbesondere wird dieses Protokoll für den Austausch von Daten zwischen einem Identitäts- und Dienstanbieter verwendet. Bei SAML handelt es sich um browserbasiertes Single Sign-On (SSO). Die gesamte Kommunikationen erfolgt über den Benutzeragenten (den Browser). Zwischen einem Dienstanbieter (z. B. SaltStack Config) und einem Identitätsanbieter (z. B. Azure AD) findet keine Kommunikation statt. Diese Trennung ermöglicht Authentifizierung zwischen Sicherheitsdomänen, in denen sich ein Dienstanbieter in einer (möglicherweise öffentlichen) Domäne und der Identitätsanbieter in einem separaten, gesicherten Netzwerksegment befinden kann. |
IdP | Identitätsanbieter Der Auftrag des IdP besteht darin, Benutzer auf Basis von Anmeldedaten anzugeben. Bei einem Identitätsanbieter handelt es sich um Software zur Bereitstellung eines Diensts, der dem Identitätsanbieteranteil der SAML-Spezifikation entspricht. Der Identitätsanbieter stellt in der Regel den Anmeldebildschirm bereit und zeigt Dienstanbietern nach erfolgreicher Authentifizierung Informationen über den authentifizierten Benutzer an. Beispielidentitätsanbieter:
* Weitere Details finden Sie nach dieser Tabelle. |
SP | Dienstanbieter oder vertrauende Seite Bei einem Dienstanbieter (SP, Service Provider) handelt es sich in der Regel um eine Website, auf der dem Endbenutzer Informationen, Tools, Berichte usw. bereitgestellt werden. Bei einem Dienstanbieter handelt es sich um Software zur Bereitstellung eines Diensts, der dem Dienstanbieteranteil der SAML-Spezifikation SaltStack Config entspricht. Microsoft-Produkte (wie z. B. Azure AD und ADFS) bezeichnen den Dienstanbieter als vertrauende Seite. In diesem Szenario fungiert SaltStack Config als Dienstanbieter. SaltStack Config akzeptiert Authentifizierungs-Assertionen vom Identitätsanbieter und ermöglicht Benutzern die Anmeldung. Ein Dienstanbieter kann sich nicht mit einem Identitätsanbieter authentifizieren, es sei denn, er ist in der Liste der genehmigten Dienste enthalten. Das Konfigurieren eines Dienstanbieters mit einer Liste genehmigter Identitätsanbieter ist Teil des Konfigurationsvorgangs. |
SSO | Single Sign-On Single Sign-On ist ein Authentifizierungssystem, bei dem sich ein Benutzer nicht bei einem zweiten Dienst anmelden muss, da Informationen über den authentifizierten Benutzer an den Dienst übergeben werden. |
SLO | Einmaliges Abmelden Wenn sich ein Benutzer von einem Dienst abmeldet, können bestimmte Identitätsanbieter den Benutzer anschließend von allen anderen Diensten abmelden, bei denen sich der Benutzer authentifiziert hat. SaltStack Config bietet aktuell keine Unterstützung für einmaliges Abmelden (Single Logout, SLO). |
RBAC | Rollenbasierte Zugriffssteuerung Rollenbasierte Zugriffssteuerung, die auch als rollenbasierte Sicherheit bezeichnet wird, ist eine erweiterte Maßnahme der Zugriffssteuerung zum Einschränken des Netzwerkzugriffs basierend auf der Rolle einer Person innerhalb einer Organisation. Die Rollen in der rollenbasierten Zugriffssteuerung beziehen sich auf die Zugriffsebenen der Mitarbeiter im Netzwerk. Mitarbeiter dürfen nur auf die Netzwerkressourcen zugreifen oder Aufgaben ausführen, die für eine effektive Ausführung ihrer betrieblichen Aufgaben erforderlich sind. Beispielsweise haben Mitarbeiter der unteren Ebenen in der Regel keinen Zugriff auf vertrauliche Daten oder Netzwerkressourcen, wenn sie diese nicht zur Erfüllung ihrer Aufgaben benötigen. SaltStack Config kann RBAC mit SAML-Konfigurationen unter Verwendung des Arbeitsbereichs „Rollen“ unterstützen. Der Benutzer muss sich jedoch zuerst bei SaltStack Config anmelden, um als Benutzer in die lokale Benutzerdatenbank aufgenommen und vom Arbeitsbereich „Rollen“ verwaltet zu werden. |
Okta-Anforderungen
- Das Feld Single Sign-On URL erfordert während der Einrichtung die SAML Assertion Customer Service URL (ACS). Dies ist die URL für SSC mit /autho/complete/saml am Ende. Beispiel: http://xxx.x.x.x:8080/auth/complete/saml.
- Für die SAML-Integration muss die Benutzeroberfläche von SSC bereitgestellt werden. Die Integration schlägt fehl, wenn die Benutzeroberfläche von einem CDN oder einer anderen Website außer SSC bereitgestellt wird.
- Alle SAML-Antworten müssen signiert sein. In Okta können Sie diese Einstellung unter Erweiterte Einstellungen aktivieren.
- Jedes in SSC konfigurierte SAML-Attribut muss vorhanden sein und in der SAML-Antwort übergeben werden.
Voraussetzungen
Führen Sie vor dem Konfigurieren von SAML in SaltStack Config folgende Aufgaben durch:
- Installieren Sie den SAML-Identitätsanbieter (IdP) und stellen Sie sicher, dass er ausgeführt wird.
- Stellen Sie sicher, dass Sie Zugriff auf die vom Identitätsanbieter bereitgestellten Anmelde- und Konfigurationsdaten haben.
- Erzeugen Sie ein Zertifikat, um SaltStack Config als genehmigten Dienstanbieter zu Ihrem Identitätsanbieter hinzuzufügen. Ihr SaltStack Config-Dienstanbieter benötigt ein RSA-Schlüsselpaar. Sie geben die Werte für den privaten und öffentlichen Schlüssel an mehreren Stellen ein, wenn Sie SAML für SaltStack Config konfigurieren.
Hinweis: Dieses Schlüsselpaar kann auf jedem System erzeugt werden. Es muss nicht auf dem SSE-Server erstellt werden. Diese Befehle werden auf jedem System ausgeführt, auf dem openssl-Dienstprogramme installiert sind. Alternativ können Sie Salt verwenden, um das selbstsignierte Zertifikat zu generieren. Weitere Informationen finden Sie unter Selbstsignieren von Zertifikaten mit dem TLS Salt-Modul.Zum Erstellen des Zertifikats erzeugen Sie mithilfe von openssl genrsa -out cert.pem 2048 einen privaten Schlüssel mit der Bezeichnung „cert.perm“. Erstellen Sie dann den mit dem privaten Schlüssel verknüpften öffentlichen Schlüssel, indem Sie den Befehl openssl req -new -x509 -key cert.pem -out cert.pub -days 1825 verwenden und den Eingabeaufforderungen folgen. Zeichnen Sie diese öffentliche-privaten Schlüsselpaare auf, um bei der weiteren Konfiguration schnell darauf zugreifen zu können.
Einrichten einer SAML-Konfiguration
- Klicken Sie im seitlichen Menü auf Verwaltung > Authentifizierung.
- Klicken Sie auf Erstellen.
- Wählen Sie im Menü Konfigurationstyp die Option SAML aus.
Im Arbeitsbereich werden die unterstützten Einstellungen für den SAML-Konfigurationstyp angezeigt.
- Konfigurieren Sie diese Felder auf der Registerkarte Einstellungen mit den Informationen zu Ihrer SaltStack Config-Installation:
- Name
- Basis-URI
- Element-ID
- Firmenname
- Anzeigename
- Website
- Kopieren Sie im Feld Privater Schlüssel den privaten Schlüssel, den Sie beim Erstellen des Dienstanbieterzertifikats für SaltStack Config erzeugt haben.
- Kopieren Sie im Feld Öffentlicher Schlüssel den öffentlichen Schlüssel, den Sie beim Erstellen des Dienstanbieterzertifikats für SaltStack Config erzeugt haben.
- Vervollständigen Sie die Felder mit den relevanten Kontaktinformationen für:
- Kontaktperson im technischen Bereich
- Support-Kontakt
- Konfigurieren Sie diese Felder im Abschnitt Anbieterinformationen mit den Metadaten Ihres Identitätsanbieters (IdP):
- Element-ID
- Benutzer-ID: Der Name des Attributs, das SAML vom Identitätsanbieter empfängt und das die in SSC verwendete Benutzeridentifikation darstellt.
- E-Mail: Der Name des Attributs, das SAML vom Identitätsanbieter empfängt und das die E-Mail-Adresse des Benutzers darstellt. SSC erfordert eine gültige E-Mail-Adresse für den Benutzer.
- Benutzername: Der Name des Attributs, das SAML vom Identitätsanbieter empfängt und das den Benutzernamen des Benutzers darstellt. Dieses sollte sich von der Benutzer-ID unterscheiden, damit Sie den dadurch dargestellten Benutzer problemlos und ohne Weiteres erkennen können.
- URL
- x509-Zertifikat
Hinweis: ADFS, Azure AD und Google SAML sind Beispiele gängiger Identitätsanbieter. Diese Informationen werden von Ihrem IdP bereitgestellt. - (Optional) Aktivieren Sie das Kontrollkästchen Attributanweisungsprüfung, damit SaltStack Config die SAML-Attributanweisungen für Benutzerprofile überprüfen kann. Diese Option ist standardmäßig aktiviert.
- Klicken Sie auf Speichern.
Nächste Schritte
- Bereitstellen der AssertionCustomerService-URL (z. B.
https://<your-sse-hostname>/auth/complete/saml
) und des öffentlichen Zertifikats (x509) sowie des für SaltStack Config erzeugten Schlüssels im Identitätsanbieter. - Erstellen von Attributzuordnungen für Benutzer, insbesondere für die Benutzer-ID, die E-Mail und den Benutzernamen. Zahlreiche Organisationen ordnen diese drei Werte der E-Mail-Adresse des Benutzers als einzelnes Attribut zu, da sie in der Regel für eine Organisation eindeutig sind. Der Vorgang zum Zuordnen dieser Attribute ist für jeden SAML-Identitätsanbieter spezifisch. Wenn Sie Unterstützung beim Erstellen dieser Attributzuordnungen benötigen, lesen Sie die Dokumentation Ihres Identitätsdienstanbieters oder wenden Sie sich an den Administrator.
- Fügen Sie Benutzer zu SaltStack Config hinzu. Standardmäßig werden neue Benutzer erst nach der ersten erfolgreichen Anmeldung mit SAML in SaltStack Config registriert. Alternativ können Sie Benutzer manuell hinzufügen, um diese Benutzer vorab in SaltStack Config zu registrieren. Wählen Sie zum manuellen Hinzufügen von Benutzern zum Arbeitsbereich „Authentifizierung“ die SAML-Konfiguration in der Liste der Authentifizierungskonfigurationen aus und klicken Sie auf die Registerkarte Benutzer in den Konfigurationseinstellungen. Klicken Sie auf Erstellen, geben Sie die Benutzeranmeldedaten ein und wählen Sie Rollen aus.
Hinweis: Stellen Sie sicher, dass dieser Benutzername korrekt ist. Sobald ein Benutzer erstellt wurde, kann der Benutzername nicht mehr geändert oder umbenannt werden. Nachdem ein Benutzer manuell erstellt wurde, kann er lediglich vor der ersten Anmeldung gelöscht werden. Nachdem sich der Benutzer erstmalig angemeldet hat, steht die Schaltfläche „Löschen“ in diesem Arbeitsbereich weiterhin zur Verfügung, funktioniert aber nicht mehr.
- Überprüfen Sie die SAML-Konfiguration und melden Sie als typischer Benutzer an, um sicherzustellen, dass der Anmeldevorgang erwartungsgemäß funktioniert und die Rollen und Berechtigungen korrekt sind. Beheben Sie potenzielle Fehler, indem Sie das für den Firefox- und Chrome-Webbrowser verfügbare SAML-Tracer-Tool verwenden und die
/var/log/raas/raas
-Protokollmeldungen anzeigen.Hinweis: Benutzer können nach der Erstbereitstellung mit erfolgreicher SAML-Authentifizierung weder über die SaltStack Config-Benutzeroberfläche noch mithilfe der API gelöscht werden.