41 Authentication, Authorization and Admission Control in Kubernetes

41.1 Authentication in Kubernetes

Authentifizierung in Kubernetes bestimmt die Identität von Benutzern oder Prozessen und wird durch vielfältige Mechanismen unterstützt. Eine sorgfältig konfigurierte Authentifizierung zusammen mit Autorisierung und Admission Control ist für die Sicherheit des Clusters unerlässlich, um ihn vor unbefugten Änderungen zu schützen und nur legitimierte Operationen zuzulassen.

Kubernetes unterstützt verschiedene Authentifizierungsmechanismen., darunter:

Die Authentifizierung erfolgt durch die API Server, die eine Authentifizierungskonfiguration verwenden, um Authentifizierungsplugins zu definieren, welche die entsprechenden Authentifizierungstoken überprüfen.

41.2 Authorization in Kubernetes

Sobald die Authentifizierung stattgefunden hat, wird überprüft, ob der authentifizierte Benutzer berechtigt ist, die gewünschte Aktion auszuführen. Kubernetes bietet verschiedene Autorisierungsmodi:

Für jeden API-Anruf entscheidet der Kubernetes API-Server auf Basis der Autorisierungspolitiken, ob die Anfrage erlaubt oder verweigert wird.

41.3 Admission Control in Kubernetes

Admission Control ist ein weiterer Sicherheitsmechanismus, der nach der Authentifizierung und Autorisierung stattfindet. Admission Controller sind Plugins, die vor der Persistenz des Objekts im Kubernetes-API-Server, aber nachdem die Anfrage autorisiert wurde, eingreifen. Es gibt zwei Typen von Admission Controllern:

Admission Controller sind kritisch für die Sicherheit und Governance in Kubernetes, da sie zusätzliche Kontrollen bieten, wie:

Kubernetes bietet eine Reihe von eingebauten Admission Controllern und ermöglicht auch das Schreiben und Konfigurieren eigener Webhooks für spezifische Anforderungen.

Dieses Diagramm stellt den Prozess der Authentifizierung, Autorisierung und des Admission Control in Kubernetes dar. Der Benutzer sendet eine Anfrage mit Credentials an den API Server, der die Identität des Benutzers über das Authentifizierungsmodul überprüft. Nach erfolgreicher Authentifizierung überprüft das Autorisierungsmodul, ob der Benutzer die erforderlichen Berechtigungen hat. Schließlich überprüft der Admission Controller die Anfrage basierend auf definierten Richtlinien und gibt sie zurück an den API Server, der die Anfrage abschließt und das Ergebnis an den Benutzer zurückgibt.