Hvorfor Secrets ikke hører hjemme i values.yaml
Risikoen ved klartekst-secrets i charts og Git
Hvorfor Secrets ikke hører hjemme i values.yaml er en gratis leksjon i DevOps-bootcamp på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i DevOps-bootcamp, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.
Values er klartekst
Et charts values.yaml er en vanlig tekstfil uten kryptering. Alt De skriver der, inkludert passord, kan leses av alle som åpner filen.
Git husker for alltid
Charts ligger vanligvis i Git. En hemmelighet som er committet én gang, blir værende i historikken selv etter at De sletter den, så en lekkasje er permanent. 🔒
En fristende feil
Det kan være fristende å legge et ekte passord direkte i values.yaml for å få ting til å fungere. Unngå det, fordi verdien spres overalt.
database:
password: super-secret-123Helm lagrer release-data
Ved installasjon lagrer Helm de sammenslåtte verdiene i en release-Secret i klyngen. Klartekstpassordet Deres ligger nå også der.
helm get values avslører det
Alle med tilgang til releasen kan kjøre helm get values og lese nøyaktig det De sendte inn, inkludert klartekstpassordet.
helm get values myappCI-logger lekker også
Når De sender hemmeligheter via --set i en pipeline, blir de ofte skrevet ut i byggelogger, der hele teamet kan se dem.
helm install myapp ./chart --set db.password=secretKjerneregelen
Regelen er enkel: hemmeligheter må aldri ligge i klartekst i et chart, i Git eller på kommandolinjen. Hold dem utenfor.
Referer, ikke bygg inn
Det sikre mønsteret er å referere til en hemmelighet i stedet for å bygge den inn. Malene peker på en Secret-ressurs som klyngen allerede har.
valueFrom:
secretKeyRef:
name: db-credentials
key: passwordKrypter hvis De må lagre
Når hemmelige verdier faktisk må ligge i Git, må De lagre dem kryptert, slik at den committede filen er ubrukelig uten dekrypteringsnøkkelen.
Tre vanlige fremgangsmåter
Tre fremgangsmåter løser dette: å kryptere verdier med verktøy, hente hemmeligheter fra et eksternt lager eller lage Secret-objekter fra injiserte data.
Koding er ikke sikkerhet
Base64 i Kubernetes Secrets er bare koding, ikke kryptering. Det skjuler ingenting, så en kodet verdi må aldri behandles som beskyttet.
Hurtigsjekk
Hvorfor er et passord i values.yaml så risikabelt?
Oppsummering
De så hvorfor klartekst-hemmeligheter i values.yaml lekker gjennom Git, release-data og CI-logger, og hvorfor De i stedet må referere til eller kryptere dem. 🎉
Lær deg DevOps-bootcamp med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 142
- Leksjoner
- 568
Ofte stilte spørsmål
Er leksjonen «Hvorfor Secrets ikke hører hjemme i values.yaml» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien DevOps-bootcamp, inkludert «Hvorfor Secrets ikke hører hjemme i values.yaml», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.
Hva lærer jeg i «Hvorfor Secrets ikke hører hjemme i values.yaml»?
Risikoen ved klartekst-secrets i charts og Git Du øver på DevOps-bootcamp med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med DevOps-bootcamp?
Ingen tidligere erfaring er nødvendig. DevOps-bootcamp på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.
Hvor lang tid tar leksjonen «Hvorfor Secrets ikke hører hjemme i values.yaml»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne DevOps-bootcamp-leksjonen?
Ja. Alle DevOps-bootcamp-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Hvorfor Secrets ikke hører hjemme i values.yaml
- Kryptere verdier med helm-secrets og SOPS
- Hente fra External Secrets Operators
- Template Kubernetes Secret-ressurser