Benutzer-Namensräume: Stateful Pods jetzt in Kubernetes 1.28 verfügbar!

Erfahren Sie, wie Benutzer-Namensräume die Sicherheit und Flexibilität von Stateful Pods in Kubernetes 1.28 verbessern.

Meta: ayedo Redaktion · 16.09.2023 · ⏳ 3 Minuten · Alle Blogs →

Kubernetes v1.25 führte die Unterstützung von Benutzer-Namensräumen nur für stateless Pods ein. Mit Kubernetes 1.28 wurde diese Einschränkung aufgehoben, nachdem in der Version 1.27 einige Designänderungen vorgenommen wurden.

Die Schönheit dieser Funktion liegt darin, dass:

  • sie mühelos übernommen werden kann (man muss nur ein boolesches Feld in der Pod-Spezifikation setzen)
  • keine Änderungen für die meisten Anwendungen erforderlich sind
  • die Sicherheit drastisch verbessert wird, indem die Isolation von Containern erhöht und CVEs mit den Bewertungen HOCH und KRITISCH gemindert werden.

Dieser Beitrag erklärt die Grundlagen der Benutzer-Namensräume und zeigt:

  • die Änderungen, die mit der aktuellen Kubernetes v1.28-Version eingeführt wurden
  • eine Demonstration einer als HOCH bewerteten Sicherheitsanfälligkeit, die mit Benutzer-Namensräumen nicht ausgenutzt werden kann
  • die Laufzeitanforderungen zur Nutzung dieser Funktion
  • was Sie in zukünftigen Versionen in Bezug auf Benutzer-Namensräume erwarten können.

Was ist ein Benutzer-Namensraum?

Ein Benutzer-Namensraum ist ein Linux-Feature, das die Benutzer- und Gruppenidentifikatoren (UIDs und GIDs) der Container von denjenigen des Hosts isoliert. Die Identifikatoren im Container können so auf Identifikatoren auf dem Host abgebildet werden, dass sich die verwendeten Host-UIDs/GIDs für verschiedene Container niemals überschneiden. Darüber hinaus können die Identifikatoren auf unprivilegierte nicht-überlappende UIDs und GIDs auf dem Host abgebildet werden. Dies bedeutet im Wesentlichen zwei Dinge:

  • Da die UIDs und GIDs für verschiedene Container auf unterschiedliche UIDs und GIDs auf dem Host abgebildet sind, haben Container es schwerer, einander anzugreifen, selbst wenn sie die Grenzen des Containers überschreiten. Wenn beispielsweise Container A mit anderen UIDs und GIDs auf dem Host läuft als Container B, sind die Operationen, die es auf den Dateien und Prozessen von Container B durchführen kann, eingeschränkt: Es kann nur lesen/schreiben, was eine Datei für andere erlaubt, da es niemals die Berechtigung für den Eigentümer oder die Gruppe haben wird (die UIDs/GIDs auf dem Host sind garantiert unterschiedlich für verschiedene Container).

  • Da die UIDs und GIDs auf unprivilegierte Benutzer auf dem Host abgebildet sind, hat ein Container, der die Grenzen des Containers überschreitet, selbst wenn er als root innerhalb des Containers läuft, keine Berechtigungen auf dem Host. Dies schützt erheblich, welche Host-Dateien er lesen/schreiben kann, welche Prozesse er Signale senden kann usw.

Darüber hinaus sind die gew granted capabilities nur innerhalb des Benutzer-Namensraums gültig und nicht auf dem Host.

Ohne die Verwendung eines Benutzer-Namensraums hat ein Container, der als root läuft, im Fall eines Container-Breakouts root-Rechte auf dem Knoten. Und wenn dem Container einige Berechtigungen gewährt wurden, sind diese Berechtigungen auch auf dem Host gültig. Nichts davon trifft zu, wenn Benutzer-Namensräume verwendet werden (außer bei Bugs, natürlich 🙂).

Änderungen in 1.28

Wie bereits erwähnt, unterstützt Kubernetes ab Version 1.28 Benutzer-Namensräume mit Stateful Pods. Das bedeutet, dass Pods mit Benutzer-Namensräumen jeden Typ von Volume verwenden können und nicht mehr auf einige Volumenarten beschränkt sind wie zuvor.

Das Feature-Flag zur Aktivierung dieser Funktion wurde umbenannt. Es heißt nicht mehr UserNamespacesStatelessPodsSupport, sondern ab 1.28 sollten Sie UserNamespacesSupport verwenden. Es wurden viele Änderungen vorgenommen und die Anforderungen an die Knoten-Hosts haben sich geändert. Das Feature-Flag wurde umbenannt, um dies widerzuspiegeln.

Die ayedo GmbH unterstützt Sie gerne bei der Implementierung und Nutzung von Kubernetes und den neuen Funktionen wie Benutzer-Namensräumen, um Ihre Anwendungen sicherer und flexibler zu gestalten.


Quelle: Kubernetes Blog

ayedo Alien Kubernetes Hat

Hosten Sie Ihre Apps bei ayedo

Profitieren Sie von skalierbarem App Hosting in Kubernetes, hochverfügbarem Ingress Loadbalancing und erstklassigem Support durch unser Plattform Team. Mit der ayedo Cloud können Sie sich wieder auf das konzentrieren, was Sie am besten können: Software entwickeln.

Jetzt ausprobieren →

Ähnliche Inhalte

Alle Blogs →



ayedo Redaktion · 08.06.2025 · ⏳ 3 Minuten

Neue Wege im KI-Management: Die Gateway API Inference Extension

Moderne generative KI- und große Sprachmodelle (LLMs) stellen Kubernetes vor einzigartige Herausforderungen im Datenverkehrsmanagement. Im Gegensatz zu typischen kurzlebigen, zustandslosen Webanfragen …

Lesen →

Neue Wege im KI-Management: Die Gateway API Inference Extension
ayedo Redaktion · 06.06.2025 · ⏳ 2 Minuten

Wie Sie sicherstellen, dass Ihr Sidecar-Container zuerst startet

Einführung in die Verwaltung von Sidecar-Containern in Kubernetes In der Welt von Kubernetes sind Sidecar-Container nützliche Helfer, die Funktionen erweitern oder zusätzliche Aufgaben für die …

Lesen →

Wie Sie sicherstellen, dass Ihr Sidecar-Container zuerst startet
ayedo Redaktion · 05.06.2025 · ⏳ 2 Minuten

Gateway API v1.3.0: Neue Funktionen für flexibles Request Mirroring und mehr!

Wir freuen uns, die allgemeine Verfügbarkeit der Gateway API v1.3.0 bekanntzugeben! Diese Version wurde am 24. April 2025 veröffentlicht und bringt spannende neue Funktionen mit sich. Was ändert sich …

Lesen →

Gateway API v1.3.0: Neue Funktionen für flexibles Request Mirroring und mehr!
Katrin Peter · 03.06.2025 · ⏳ 2 Minuten

Die vergessene Schwachstelle in euren CI/CD-Pipelines: Die Registry

Die vergessene Schwachstelle in euren CI/CD-Pipelines: Die Registry Jeder redet über Build-Pipelines, Deployment-Automatisierung, GitOps, Blue/Green-Rollouts, Canary Releases. Alles sauber …

Lesen →

Die vergessene Schwachstelle in euren CI/CD-Pipelines: Die Registry
Katrin Peter · 03.06.2025 · ⏳ 2 Minuten

Application Performance sollte messbar sein — jederzeit, in Echtzeit

Wer Anwendungen produktiv betreibt, braucht keine schönen Dashboards, sondern harte Daten. Performance-Probleme entstehen nie dann, wenn Zeit für Debugging ist. Sie kommen genau dann, wenn Systeme …

Lesen →

Application Performance sollte messbar sein — jederzeit, in Echtzeit

Interessiert an weiteren Inhalten? Hier gehts zu allen Blogs →


Noch Fragen? Melden Sie sich!

Unsere DevOps-Experten antworten in der Regel innerhalb einer Stunde.

Zu Gen-Z für E-Mail? Einfach mal Discord versuchen. Unter +49 800 000 3706 können Sie unter Angabe Ihrer Kontaktdaten auch einen Rückruf vereinbaren. Bitte beachten Sie, dass es keine Möglichkeit gibt, uns telefonisch direkt zu erreichen. Bitte gar nicht erst versuchen. Sollten Sie dennoch Interesse an synchroner Verfügbarkeit via Telefon haben, empfehlen wir Ihnen unseren Priority Support.