Kubernetes 1.31: Präzise Kontrolle über Gruppenmitgliedschaften in Pods
ayedo Redaktion 2 Minuten Lesezeit

Kubernetes 1.31: Präzise Kontrolle über Gruppenmitgliedschaften in Pods

Entdecken Sie, wie Kubernetes 1.31 die Verwaltung von Gruppenmitgliedschaften in Pods optimiert und was das für Ihre Anwendungen bedeutet.
kubernetes kubernetes-news container

Kubernetes 1.31 bringt eine spannende neue Funktion mit sich, die die Handhabung von Gruppenmitgliedschaften in Containern innerhalb von Pods verbessert. Diese Änderung zielt darauf ab, die Kontrolle über Gruppenmitgliedschaften zu verfeinern und potenzielle Sicherheitsrisiken zu minimieren.

Was ändert sich konkret für Entwickler/DevOps-Teams?

Mit der Einführung des neuen Feldes supplementalGroupsPolicy im .spec.securityContext eines Pods wird die Art und Weise, wie Gruppenmitgliedschaften für Containerprozesse berechnet werden, optimiert. Entwickler und DevOps-Teams haben nun die Möglichkeit, zwischen zwei Politiken zu wählen:

  • Merge: Die Gruppenmitgliedschaften, die im /etc/group für den primären Benutzer des Containers definiert sind, werden zusammengeführt. Dies ist die Standardoption und sorgt für Rückwärtskompatibilität.
  • Strict: Nur die angegebenen Gruppen-IDs in den Feldern fsGroup, supplementalGroups oder runAsGroup werden als Gruppenmitgliedschaften der Containerprozesse angehängt. Gruppenmitgliedschaften aus /etc/group werden ignoriert.

Praktische Beispiele oder Anwendungsfälle

Nehmen wir an, wir haben einen Pod, der runAsUser=1000, runAsGroup=3000 und supplementalGroups=4000 im Sicherheitskontext definiert. Hier ein Beispiel, wie Sie einen Pod mit der Standard-Policy erstellen können:

apiVersion: v1
kind: Pod
metadata:
  name: implicit-groups
spec:
  securityContext:
    runAsUser: 1000
    runAsGroup: 3000
    supplementalGroups:
      - 4000
  containers:
  - name: my-container
    image: my-image

Erstellen Sie den Pod mit: console $ kubectl apply -f https://k8s.io/blog/2024-08-22-Fine-grained-SupplementalGroups-control/implicit-groups.yaml

Überprüfen Sie, dass der Pod läuft: console $ kubectl get pod implicit-groups

Führen Sie den Befehl id im Container aus, um die Gruppenmitgliedschaften zu sehen: console $ kubectl exec implicit-groups – id

Die Ausgabe sollte ähnlich wie folgt aussehen: none uid=1000 gid=3000 groups=3000,4000,50000

Die Gruppe 50000 stammt aus der Datei /etc/group im Container-Image.

Wenn Sie die Strict-Policy verwenden möchten, könnte das Pod-Manifest so aussehen:

apiVersion: v1
kind: Pod
metadata:
  name: strict-supplementalgroups-policy
spec:
  securityContext:
    runAsUser: 1000
    runAsGroup: 3000
    supplementalGroupsPolicy: Strict
    supplementalGroups:
      - 4000
  containers:
  - name: my-container
    image: my-image

Erstellen Sie den Pod mit: console $ kubectl apply -f https://k8s.io/blog/2024-08-22-Fine-grained-SupplementalGroups-control/strict-supplementalgroups-policy.yaml

Diese neuen Möglichkeiten zur Kontrolle von Gruppenmitgliedschaften sind besonders wichtig für Sicherheitsrichtlinien und die Zugriffsverwaltung in Kubernetes. ayedo, als Ihr Partner für Kubernetes, unterstützt Sie gerne bei der Implementierung dieser neuen Funktionen und hilft Ihnen, Ihre Anwendungen sicher und effizient zu betreiben.


Quelle: Kubernetes Blog

Ähnliche Artikel