Pods mit securityContext härten
Standards mit den geringsten Berechtigungen in Templates verankern
Pods mit securityContext härten ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Warum standardmäßige Absicherung wichtig ist
Ein Chart mit standardmäßigen Least-Privilege-Einstellungen schützt jeden Cluster, in dem es installiert wird. In Templates verankerte Sicherheit ist zuverlässiger, als darauf zu hoffen, dass Nutzer sie später hinzufügen.
Zwei Ebenen von securityContext
Sie können einen securityContext auf Pod-Ebene für alle Container festlegen und einen enger gefassten pro Container. Die Einstellung des Containers überschreibt für diesen Container die Einstellung des Pods.
Nicht als Root ausführen
Setzen Sie runAsNonRoot auf true, damit Kubernetes den Start eines Containers verweigert, der als Root ausgeführt würde. Das ist der wirkungsvollste einzelne Standardwert, den Sie ausliefern können.
securityContext:
runAsNonRoot: true
runAsUser: 1000Nur lesbares Root-Dateisystem
Aktivieren Sie readOnlyRootFilesystem, damit der Container nicht in seine eigenen Image-Layer schreiben kann. Binden Sie für Pfade, in die die Anwendung tatsächlich schreiben muss, ein emptyDir ein.
containers:
- name: app
securityContext:
readOnlyRootFilesystem: trueLinux-Capabilities entfernen
Die meisten Anwendungen benötigen keine besonderen Kernel-Berechtigungen. Entfernen Sie daher mit drop ALL capabilities alle Capabilities und fügen Sie nur die seltene hinzu, die ein Workload tatsächlich benötigt.
capabilities:
drop:
- ALLRechteausweitung blockieren
Setzen Sie allowPrivilegeEscalation auf false, damit ein Prozess niemals mehr Berechtigungen erlangen kann, als er ursprünglich hatte, auch nicht über setuid-Binaries. 🔒
allowPrivilegeEscalation: falsefsGroup festlegen
Verwenden Sie fsGroup im SecurityContext des Pods, damit eingebundene Volumes einer Gruppe gehören, der der Nicht-Root-Benutzer angehört, und Berechtigungsfehler vermieden werden.
securityContext:
fsGroup: 2000Privileged niemals auf true setzen
Ein privileged-Container hat nahezu vollständigen Zugriff auf den Host und sollte praktisch nie als Standardwert eines Charts vorkommen. Lassen Sie ihn nicht gesetzt, was false bedeutet.
Überschreibungen ermöglichen
Verknüpfen Sie den SecurityContext über toYaml mit den Values, damit Nutzer ihn anpassen können. Behalten Sie die abgesicherten Einstellungen jedoch als sichere Standardwerte bei.
securityContext:
{{- toYaml .Values.securityContext | nindent 4 }}An den Pod Security Standards ausrichten
Diese Standardwerte entsprechen dem Kubernetes-Pod-Security-Standard restricted. Dadurch lässt sich Ihr Chart auch in stark eingeschränkten Namespaces problemlos installieren.
Nach der Installation überprüfen
Bestätigen Sie, dass die Absicherung wirksam ist, indem Sie die Spezifikation des laufenden Pods mit kubectl get pod -o yaml untersuchen und die Felder des SecurityContext überprüfen.
kubectl get pod myapp -o jsonpath='{.spec.securityContext}'Kurze Überprüfung
Welche Einstellung verhindert den Start eines Containers, wenn dieser als Root-Benutzer ausgeführt würde?
Zusammenfassung
Sie haben Pods mit runAsNonRoot, entfernten Capabilities, einem schreibgeschützten Dateisystem und ohne Rechteausweitung abgesichert. Sichere Standardwerte schützen jede Installation. ✅
Häufig gestellte Fragen
Ist die Lektion „Pods mit securityContext härten“ kostenlos?
Ja — der vollständige Text von „Pods mit securityContext härten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Pods mit securityContext härten“?
Standards mit den geringsten Berechtigungen in Templates verankern Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um DevOps Bootcamp zu starten?
Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Pods mit securityContext härten“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?
Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Standardlabels und Benennungskonventionen
- Sinnvolle, dokumentierte Standardwerte
- Pods mit securityContext härten
- Versionen festschreiben und latest vermeiden