Warum Secrets nicht in values.yaml gehören
Die Risiken von Klartext-Secrets in Charts und Git
Warum Secrets nicht in values.yaml gehören ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 1 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.
Values sind Klartext
Die values.yaml eines Charts ist gewöhnlicher, unverschlüsselter Text. Alles, was Sie dort eintragen, einschließlich Passwörtern, kann von jeder Person gelesen werden, die die Datei öffnet.
Git vergisst nichts
Charts liegen normalerweise in Git. Ein einmal commit-tes Secret bleibt auch nach dem Löschen in der Historie erhalten, daher ist ein Leck dauerhaft. 🔒
Ein verlockender Fehler
Es ist verlockend, ein echtes Passwort direkt in values.yaml einzutragen, damit alles funktioniert. Widerstehen Sie dieser Versuchung, denn dieser Wert verbreitet sich überall.
database:
password: super-secret-123Helm speichert Release-Daten
Bei der Installation speichert Helm die zusammengeführten Werte in einem release-Secret im Cluster. Ihr Passwort im Klartext liegt nun ebenfalls dort.
helm get values gibt es preis
Jede Person mit Zugriff auf das Release kann helm get values ausführen und genau das auslesen, was Sie übergeben haben – einschließlich des Passworts im Klartext.
helm get values myappAuch CI-Logs geben Geheimnisse preis
Wenn Sie Secrets in einer Pipeline über --set übergeben, werden sie häufig in die Build-Logs geschrieben, wo das gesamte Team sie im Klartext sehen kann.
helm install myapp ./chart --set db.password=secretDie zentrale Regel
Die Regel ist einfach: Secrets dürfen niemals im Klartext in einem Chart, in Git oder in der Befehlszeile stehen. Halten Sie sie dort heraus.
Referenzieren, nicht einbetten
Das sichere Muster besteht darin, ein Secret zu referenzieren, anstatt es einzubetten. Templates verweisen auf eine Secret-Ressource, die der Cluster bereits enthält.
valueFrom:
secretKeyRef:
name: db-credentials
key: passwordBei notwendiger Speicherung verschlüsseln
Wenn Secret-Werte tatsächlich in Git liegen müssen, speichern Sie sie verschlüsselt, sodass die commit-te Datei ohne den Entschlüsselungsschlüssel unbrauchbar ist.
Drei gängige Ansätze
Drei Wege lösen dieses Problem: Werte mit Tools zu verschlüsseln, Secrets aus einem externen Speicher abzurufen oder Secret-Objekte aus eingeschleusten Daten zu templatisieren.
Kodierung ist keine Sicherheit
Base64 in Kubernetes-Secrets ist lediglich eine Kodierung, keine Verschlüsselung. Sie verbirgt nichts – behandeln Sie einen kodierten Wert daher niemals als geschützt.
Schnelltest
Warum ist ein Passwort in values.yaml so riskant?
Zusammenfassung
Sie haben gesehen, warum Secrets im Klartext in values.yaml über Git, Release-Daten und CI-Logs preisgegeben werden und warum Sie sie stattdessen referenzieren oder verschlüsseln müssen. 🎉
Lerne DevOps Bootcamp mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 142
- Lektionen
- 568
Häufig gestellte Fragen
Ist die Lektion „Warum Secrets nicht in values.yaml gehören“ kostenlos?
Ja — der vollständige Text von „Warum Secrets nicht in values.yaml gehören“ 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 „Warum Secrets nicht in values.yaml gehören“?
Die Risiken von Klartext-Secrets in Charts und Git 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 1 von 4.
Wie lange dauert die Lektion „Warum Secrets nicht in values.yaml gehören“?
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
- Warum Secrets nicht in values.yaml gehören
- Values mit helm-secrets und SOPS verschlüsseln
- Secrets aus External Secrets Operators beziehen
- Kubernetes-Secret-Ressourcen templatisieren