rost9 - stock.adobe.com

Externe Authentifizierung in Rancher mit GitHub umsetzen

Die lokale Authentifizierung ist die Standardeinstellung in Rancher. Externe Authentifizierungsdienste erleichtern aber die Verwaltung großer, komplexer Kubernetes-Umgebungen.

Wie jede andere Kubernetes-Verwaltungsplattform bietet Rancher native Authentifizierungsfunktionen, das heißt die Möglichkeit, Benutzerzugangsdaten und -berechtigungen in Rancher selbst zu verwalten. Die Integration von Rancher-Umgebungen mit externen Authentifizierungsdiensten wie GitHub kann jedoch die Benutzerverwaltung rationalisieren.

Externe Authentifizierung vereinfacht die Verwaltung von Benutzeranmeldeinformationen, insbesondere in großen Kubernetes-Umgebungen mit mehreren Benutzern. Finden Sie heraus, warum IT-Teams externe Authentifizierung mit Rancher verwenden sollten, und lernen Sie am Beispiel von GitHub, wie Sie die externe Authentifizierung konfigurieren.

Was ist Rancher?

Rancher ist eine Kubernetes-Verwaltungsplattform, die von Rancher Labs entwickelt wurde und die SUSE im Jahr 2020 übernommen hat. Sie umfasst eine Kubernetes-Distribution sowie Tools, mit denen IT-Teams Kubernetes-Umgebungen aufbauen und verwalten.

Lokale versus externe Authentifizierung in Rancher

Rancher unterstützt zwei Hauptansätze für die Authentifizierung und Autorisierung, das heißt den Prozess zur Anmeldung von Benutzern und zum Erteilen von Berechtigungen, um zu steuern, wer welche Aktionen durchführen kann.

Die erste – und standardmäßige – Option ist die lokale Authentifizierung, die Zugangsdaten in Rancher speichert. Wenn ein Benutzer versucht, sich anzumelden, entscheidet die lokale Kubernetes-Umgebung, ob die Anmeldeanfrage gültig ist und welche Berechtigungen der Benutzer erhalten soll.

Der zweite Ansatz ist die externe Authentifizierung, bei der ein Authentifizierungs-Proxy eine Schnittstelle zu einem externen Authentifizierungsdienst bildet, um Benutzeranmeldungen und Berechtigungen zu verwalten. Bei der externen Authentifizierung verwalten IT-Teams die Benutzeranmeldeinformationen nicht lokal, sondern über einen Drittanbieterdienst. Ab August 2022 unterstützt Rancher fast ein Dutzend Optionen für die externe Authentifizierung, darunter GitHub, Microsoft Active Directory, Google OAuth und Okta.

Warum externe Authentifizierung in Rancher verwenden?

Es gibt mehrere Gründe, eine externe Authentifizierung für Rancher einzurichten, statt sich auf den standardmäßigen lokalen Authentifizierungsdienst zu verlassen:

  • Zentralisierte Benutzerverwaltung. Durch externe Authentifizierung entfällt die Notwendigkeit, mehrere Konten für dieselben Benutzer zu verwalten, da vorkonfigurierte Konten in einem externen Dienst wiederverwendet werden. Das verbessert die Sicherheit, weil Sie dadurch beispielsweise nicht vergessen können, das Rancher-Konto zu löschen, wenn der Nutzer das Unternehmen verlässt.
  • Nutzen der gleichen Benutzer in verschiedenen Umgebungen. Mit externer Authentifizierung nutzen IT-Teams, die mehrere Rancher-basierte Kubernetes-Umgebungen verwalten, Benutzerkonten in allen Umgebungen gemeinsam. Im Gegensatz dazu müssen bei der lokalen Authentifizierung für jeden Cluster separate Benutzer konfiguriert werden.
  • Die Möglichkeit, Benutzergruppen zu erstellen. Da es in der nativen Authentifizierung von Rancher keine Gruppen gibt, ist eine externe Authentifizierung erforderlich, um eine solche Funktion zu bekommen.

Folglich ein externer Authentifizierungsanbieter fast immer der beste Ansatz für Rancher; das empfiehlt auch der Anbieter selbst in den meisten Fällen. Daneben sollten Sie auch ein paar lokale Benutzer einrichten, um sicherzustellen, dass Sie sich noch einloggen können, wenn der externe Authentifizierungsdienst nicht verfügbar ist.

Wie man GitHub für die Rancher-Authentifizierung verwendet

Die Konfiguration der externen Authentifizierung ist in der Rancher-Konsole einfach zu bewerkstelligen. Obwohl der Prozess je nach ausgewähltem Dienst etwas variiert, umfasst er normalerweise fünf Schritte. Hier verwenden wir GitHub als Beispiel.

Folgen Sie diesen Schritten, um Rancher an das Authentifizierungssystem von GitHub anzubinden:

  • Melden Sie sich bei Rancher als lokaler Benutzer mit der Administratorrolle an.
  • Navigieren Sie zum Menü Security > Administrator.
  • Klicken Sie auf die Schaltfläche GitHub, um Rancher anzuweisen, sich über GitHub zu authentifizieren.
  • Geben Sie in der Rancher-Konsole Ihre Client-ID und Ihre Client-Geheimdaten von GitHub ein. Um diese Informationen zu finden, melden Sie sich bei GitHub an und navigieren Sie zu Settings > Developer Settings > OAuth Apps.
  • Klicken Sie auf Authenticate with GitHub, um den Konfigurationsprozess abzuschließen.
  • Jeder im verknüpften GitHub-Konto konfigurierte Benutzer kann nun auch als Benutzer in Rancher agieren.

So konfigurieren Sie Berechtigungen für GitHub-Benutzer in Rancher

In den meisten Fällen sollte nicht jeder GitHub-Benutzer unbegrenzten Zugriff auf die Rancher-Umgebung haben. Legen Sie spezifische Berechtigungen für jeden GitHub-Benutzer oder jede Gruppe fest, indem sie die SiteAccess-Optionen in der Rancher-Konsole verwenden.

Wählen Sie in der Rancher-Konsole eine der folgenden Optionen für GitHub-Benutzerzugriffsberechtigungen:

  • Sie erlauben jedem GitHub-Benutzer, sich bei Rancher anzumelden. Im Allgemeinen ist dies aufgrund von Sicherheitsbedenken nicht die beste Option.
  • Sie erlauben bestimmten GitHub-Benutzern oder -Gruppen, sich bei Rancher anzumelden, je nach Cluster- und Projektzugehörigkeit.
  • Erlauben Sie nur autorisierten Benutzern und Organisationen, sich bei Rancher anzumelden.

Wenn Sie Rancher so konfigurieren, dass es einen Dienst wie GitHub für die externe Authentifizierung verwendet, ist es einfacher, Benutzeranmeldungen und -berechtigungen zu verwalten – und wenn Sie bereits einen externen Authentifizierungsdienst konfiguriert haben, dauert der Einrichtungsprozess nur wenige Minuten. Halten Sie jedoch mindestens ein lokales Benutzerkonto als Backup bereit, falls die externe Authentifizierung fehlschlägt.

Erfahren Sie mehr über Server- und Desktop-Virtualisierung