Kubernetes v1.36: Detaillierte Kubelet API-Autorisierung erreicht GA
Quelle: Kubernetes Blog
3 Minuten Lesezeit

Kubernetes v1.36: Detaillierte Kubelet API-Autorisierung erreicht GA

Die Kubernetes-Version 1.36 führt die feingranulare Kubelet API-Autorisierung als allgemein verfügbare Funktion ein. Diese Neuerung ermöglicht präzise Zugriffskontrollen auf die Kubelet-API und ersetz

TL;DR

Die Kubernetes-Version 1.36 führt die feingranulare Kubelet API-Autorisierung als allgemein verfügbare Funktion ein. Diese Neuerung ermöglicht präzise Zugriffskontrollen auf die Kubelet-API und ersetzt die zuvor erforderliche, breite Berechtigung “nodes/proxy”, die Sicherheitsrisiken mit sich brachte.

Hauptinhalt

Die feingranulare Kubelet API-Autorisierung ist eine bedeutende Verbesserung in Kubernetes v1.36, die es ermöglicht, den Zugriff auf die Kubelet-API präziser zu steuern. Diese Funktion wurde ursprünglich in Kubernetes v1.32 als Alpha-Feature eingeführt, in v1.33 in den Beta-Status überführt und hat nun den Status „Allgemeine Verfügbarkeit“ (GA) erreicht. Der Feature-Gate ist nun standardmäßig aktiviert und kann nicht mehr deaktiviert werden.

Die Kubelet-API bietet mehrere Endpunkte, die auf sensible Daten zugreifen, darunter Pod-Listen, Node-Metriken und Container-Logs. Vor der Einführung der feingranularen Autorisierung war der Zugriff auf diese APIs durch ein grobgranulares Berechtigungsmodell geregelt, das häufig die Erlaubnis „nodes/proxy“ erforderte. Diese Berechtigung war jedoch problematisch, da sie nicht nur den Zugriff auf Metriken, sondern auch die Möglichkeit bot, beliebige Befehle in Containern auszuführen. Dies widerspricht dem Prinzip der minimalen Berechtigung, da eine Kompromittierung eines Monitoring-Tools potenziell zu einem umfassenden Sicherheitsvorfall führen könnte.

Zusätzlich wurde festgestellt, dass die „nodes/proxy GET“-Berechtigung, die oft Monitoring-Tools zugewiesen wird, ausgenutzt werden kann, um Befehle in Pods auszuführen. Dies liegt an einem Missverhältnis zwischen der Funktionsweise von WebSocket-Verbindungen und der Zuordnung von HTTP-Methoden zu RBAC-Verben. Angreifer können über WebSocket-Clients wie „websocat“ direkt auf die Kubelet-API zugreifen und gefährliche Befehle ausführen.

Mit der Einführung der feingranularen Kubelet-Autorisierung wird nun ein zusätzlicher, spezifischer Autorisierungscheck durchgeführt, bevor auf die grobgranulare Berechtigung zurückgegriffen wird. Bestimmte, häufig genutzte Kubelet-API-Pfade sind jetzt eigenen Subressourcen zugeordnet, was eine differenzierte Zugriffskontrolle ermöglicht. Beispielsweise werden Endpunkte wie „/metrics“ und „/pods“ nun über spezifische Subressourcen angesprochen, wodurch die Notwendigkeit einer breiten Berechtigung entfällt.

Technische Details/Implikationen

Die neue Implementierung der feingranularen Autorisierung sorgt dafür, dass der Kubelet bei Anfragen zunächst eine spezifische Berechtigungsprüfung für die jeweilige Subressource durchführt. Falls diese Prüfung erfolgreich ist, wird der Zugriff gewährt. Andernfalls wird ein Fallback auf die grobgranulare Berechtigung „nodes/proxy“ vorgenommen, um die Abwärtskompatibilität zu gewährleisten. Dies ermöglicht eine schrittweise Migration für bestehende Workloads, während neue Deployments von Anfang an auf minimalen Zugriff setzen können.

Ein Beispiel für diese neue Berechtigungsstruktur ist die Verwendung eines RBAC-ClusterRoles für Monitoring-Agenten. Anstatt eine breite Berechtigung wie „nodes/proxy“ zu gewähren, können Administratoren nun spezifische Berechtigungen für den Zugriff auf „/metrics“ oder andere relevante Endpunkte definieren. Dies reduziert das Risiko von Sicherheitsvorfällen erheblich und verbessert die gesamte Sicherheit der Kubernetes-Umgebung.

Fazit/Ausblick

Die feingranulare Kubelet API-Autorisierung stellt einen wichtigen Schritt in Richtung einer sichereren Kubernetes-Architektur dar. Die Implementierung präziserer Zugriffskontrollen reduziert das Risiko von Sicherheitsvorfällen und stärkt das Vertrauen in die Plattform. Die kontinuierliche Verbesserung der Sicherheitsfeatures wird entscheidend sein, um den wachsenden Anforderungen an Cloud-native Umgebungen gerecht zu werden.

Originalartikel

Veröffentlicht von Kubernetes Blog

Zum Original-Artikel

Automatisierte Zusammenfassung

Dieser Beitrag wurde automatisch aus dem englischsprachigen Original erstellt und auf Deutsch zusammengefasst. Wir bieten diesen Service an, um Sie bei der oft zerklüfteten und überwiegend englischsprachigen News-Situation im Bereich Cloud-Native Software, Souveräne Cloud, Kubernetes und Container-Technologien zeitnah auf Deutsch zu informieren.

Ähnliche Artikel

Kontakt aufnehmen