Sie können den Arbeitsbereich „Authentifizierung“ verwenden, um SSO in SaltStack Config für die Zusammenarbeit mit einem Authentifizierungssystem zu konfigurieren, das mit den OAuth- und OIDC-Protokollen kompatibel ist.

Hinweis: Sie können gleichzeitig mehrere Systeme zum Authentifizieren von Benutzern in SaltStack Config verwenden. Sie können beispielsweise sowohl einen SAML-basierten als auch einen LDAP-basierten Identitätsanbieter verwenden und gleichzeitig bestimmte Benutzeranmeldedaten nativ auf dem RaaS-Server speichern. Allerdings ist es in SaltStack Config nicht möglich, mehr als zwei SAML-Provider oder zwei LDAP-Provider gleichzeitig zu konfigurieren.

Informationen zu OAuth- und OIDC-SSO

Oauth Single Sign-On (SSO) ist eine Funktion, die von vielen Organisationen während der Implementierung von SaltStack Config konfiguriert wird. Zu den zahlreichen Vorteilen von SSO gehören:

  • 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 OAuth-Protokolls mit Unterstützung für OIDC bereit, einschließlich OKTA, Google, Microsoft, GitLab, Zendesk, Apple, Keycloak, Salesforce usw.

Hinweis: SaltStack Config bietet derzeit lediglich Unterstützung für die OAuth- und OIDC-Authentifizierung über OKTA und Google.

Funktionsweise von OAuth und OIDC mit SaltStack Config

Wenn sich ein Benutzer mit einer OAuth-Identität bei SaltStack Config anmeldet:

  1. Fordert SaltStack Config beim Benutzer die Berechtigung zum Zugriff auf Dienstressourcen an.
  2. Wenn der Benutzer die Anforderung autorisiert, erhält SaltStack Config eine Autorisierungserlaubnis.
  3. Fordert SaltStack Config ein Zugriffstoken beim Autorisierungsserver (API) an, indem eine Authentifizierung der eigenen Identität präsentiert wird.
  4. Wenn die Anwendungsidentität authentifiziert wird und die Autorisierungserlaubnis gültig ist, gibt der Autorisierungsserver (API) ein Zugriffstoken an SaltStack Config aus.
  5. Fordert SaltStack Config die Ressource beim Ressourcenserver (API) an und präsentiert das Zugriffstoken für die Authentifizierung.
  6. Wenn das Zugriffstoken gültig ist, stellt der Ressourcenserver (API) der Anwendung die Ressource zur Verfügung. Der Benutzer darf sich dann bei SaltStack Config anmelden.

Terminologie der OAuth- und OIDC-Authentifizierung

Begriff Definition
OAuth

OAuth 2.0 ist ein offenes Protokoll (gelegentlich auch als Standard bezeichnet) für die Zugriffsdelegierung, bei der der Benutzer Aktionen auf einer Website ausführen kann, nachdem die Identität des Benutzers mit einem Sicherheitstoken authentifiziert wurde. Dieses Protokoll wird häufig von Benutzern verwendet, um Anwendungen Zugriff auf ihre Daten in anderen Drittanbieteranwendungen zu erteilen, ohne ihre Zugangsdaten (Kennwörter) preiszugeben.

Bei OAuth handelt es sich um browserbasiertes Single Sign-On (SSO). OAuth ermöglicht die Ausgabe von Zugriffstoken an Drittanbieter-Clients durch einen Autorisierungsserver mit Genehmigung des Ressourcenbesitzers. Der Drittanbieter verwendet das Zugriffstoken dann für den Zugriff auf die geschützten Ressourcen, die vom Ressourcenserver gehostet werden.

OIDC

Open ID Connect

Open ID Connect (OIDC) ist eine einfache Identitätsschicht oberhalb des OAuth 2.0-Protokolls. Mit OIDC können Clients die Identitäten des Benutzers basierend auf der von einem Autorisierungsserver durchgeführten Authentifizierung überprüfen. Mit OIDC können auch grundlegende Profilinformationen über den Benutzer anwendungsübergreifend abgerufen werden.

Ressourcenbesitzer Der Ressourcenbesitzer ist der Benutzer, der einer Anwendung den Zugriff auf ihr Konto autorisiert. Der Zugriff der Anwendung auf das Benutzerkonto ist auf den Geltungsbereich der erteilten Autorisierung beschränkt, wie z. B. Lese- oder Schreibzugriff.
Client Der Client ist die Drittanbieteranwendung, die Zugriff auf das Konto des Benutzers benötigt, in diesem Fall SaltStack Config.
Autorisierungsserver Der Autorisierungsserver hostet die geschützten Benutzerkonten und Anmeldedaten. Er überprüft die Identität des Benutzers und gibt dann Zugriffstoken an den Client aus. Auf diesen Server wird häufig über die API des Diensts zugegriffen.
Ressourcenserver

Der Ressourcenserver ist der API-Server, der für den Zugriff auf die Benutzerinformationen verwendet wird. Authentifizierte Anforderungen werden verarbeitet, nachdem der Client ein Zugriffstoken erhalten hat. Kleinere Bereitstellungen verfügen in der Regel nur über einen Ressourcenserver und werden häufig als Teil derselben Codebasis oder derselben Bereitstellung wie der Autorisierungsserver erstellt.

Umfangreiche Bereitstellungen können über mehr als einen Ressourcenserver verfügen. Alle Ressourcenserver sind eindeutig voneinander getrennt, verwenden aber alle denselben Autorisierungsserver.

Schritte vor der Konfiguration

Stellen Sie vor dem Konfigurieren von OAuth und OIDC in SaltStack Config sicher, dass Sie über den notwendigen Zugriff auf Ihren OAuth 2.0-Dienst für Ihre Organisation (entweder OKTA oder Google) verfügen und dass Sie mit dem Prozess der Anwendungsregistrierung einigermaßen vertraut sind.

Hinweis: SaltStack Config bietet derzeit lediglich Unterstützung für die OAuth- und OIDC-Authentifizierung über OKTA und Google.

Registrieren von SaltStack Config als Anwendung bei OKTA oder Google

Geben Sie auf der Website Ihres OAuth-Diensts grundlegende Informationen zu SaltStack Config ein, wie z. B. den Namen, die Website usw. Nach der Registrierung der Anwendung erhalten Sie einen geheimen Client-Schlüssel, den Sie SaltStack Config bereitstellen müssen.

Einer der wichtigsten Punkte beim Erstellen der Anwendung ist die Registrierung einer oder mehrerer Umleitungs-URLs, die von der Anwendung verwendet werden. Der OAuth 2.0-Dienst gibt den Benutzer nach der Autorisierung der Anwendung an die Umleitungs-URLs zurück.

Konfigurieren eines Identitätsanbieters

So richten Sie SSO mit dem bevorzugten OAuth- und OIDC-Dienst Ihrer Organisation ein:

  1. Klicken Sie im seitlichen Menü auf Verwaltung > Authentifizierung.
  2. Klicken Sie auf Erstellen.
  3. Wählen Sie im Menü Konfigurationstyp die Option OIDC aus.
  4. Weisen Sie dieser Konfiguration im Feld Name einen aussagekräftigen Namen zu.
  5. Wählen Sie im Menü OIDC-Anbieter entweder OKTA oder Google aus.
  6. Befüllen Sie die folgenden Felder mit den Informationen zu Ihrer SaltStack Config-Installation:
    • Basis-URI
    • API-URL (nur für OKTA-Konfigurationen)
    • Key
    • Geheimer Schlüssel
    Hinweis: Beschreibungen dieser Felder finden Sie unter OIDC-Informationsfelder.
  7. Klicken Sie auf Speichern.

Die OIDC-Konfiguration für SaltStack Config ist jetzt abgeschlossen.

Konfigurieren von RBAC für OIDC

Für OIDC muss sich der Benutzer zuerst bei SaltStack Config anmelden, damit er als Benutzer zur lokalen Benutzerdatenbank hinzugefügt werden kann. Nach der Erstanmeldung der Benutzer werden deren Rollen und Berechtigungen wie bei Benutzern verwaltet, deren Anmeldeinformationen lokal in SaltStack Config auf dem RaaS-Server gespeichert sind.

Nach der Erstanmeldung des Benutzers können Sie den Arbeitsbereich „Rollen“ verwenden, um diesem Benutzer die entsprechenden Rollen und Berechtigungen zuzuweisen. Weitere Informationen zum Arbeitsbereich „Rollen“ finden Sie unter Rollen und Berechtigungen.

OIDC-Informationsfelder

Alle Felder mit Informationen zur OIDC-Authentifizierung sind erforderlich. Geben Sie Informationen für Ihre OIDC-Authentifizierungskonfiguration folgendermaßen ein.

Hinweis: Wenn Sie Unterstützung beim Einrichten Ihrer Verbindung benötigen, wenden Sie sich an den Administrator.
Feld Beschreibung
Name Der Name der von SSE verwendeten Authentifizierungsverbindung. Dieser Name wird in der Seitenleiste angezeigt, wenn Sie beim Arbeitsbereich „Authentifizierung“ angemeldet sind. Er sollte eindeutig sein, wenn Sie mehrere Konfigurationen einrichten.
OIDC-Anbieter Wählen Sie Ihren OIDC-Identitätsanbieter in diesem Menü aus, um die für Ihren Anbieter spezifischen Einstellungen anzuzeigen.
Basis-URI Die von Ihrer Organisation in SaltStack Config verwendete Basis-URL, die auch als Hostserveradresse bezeichnet wird. Diese URL wird entweder als FQDN oder als IP-Adresse formatiert, wie z. B. https://example.com.
API-URL Die von Ihrem Identitätsanbieter bereitgestellte API-URL. Dieses Feld wird nur angezeigt, wenn es sich bei Ihrem Identitätsanbieter um OKTA handelt.
Key Der von Ihrem Identitätsanbieter bereitgestellte Schlüssel. In OKTA wird der Schlüssel als Client-ID bezeichnet.
Geheimer Schlüssel Der von Ihrem Identitätsanbieter bereitgestellte geheime Schlüssel. In OKTA wird der Schlüssel als geheimer Client-Schlüssel bezeichnet.