Varför Secrets inte hör hemma i values.yaml
Riskerna med klartexthemligheter i charts och Git
Varför Secrets inte hör hemma i values.yaml är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 1 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.
Values är klartext
Ett charts values.yaml är vanlig, okrypterad text. Allt du skriver där, inklusive lösenord, kan läsas av alla som öppnar filen.
Git glömmer aldrig
Chart ligger vanligtvis i Git. En hemlighet som checkas in en gång finns kvar i historiken även efter att du tar bort den, så en läcka är permanent. 🔒
Ett frestande misstag
Det kan vara frestande att skriva in ett riktigt lösenord direkt i values.yaml för att få allt att fungera. Gör inte det, eftersom värdet sprids överallt.
database:
password: super-secret-123Helm lagrar release-data
Vid installation sparar Helm de sammanfogade värdena i en release-Secret i klustret. Ditt lösenord i klartext finns nu även där.
helm get values avslöjar det
Alla som har åtkomst till releasen kan köra helm get values och läsa exakt det du skickade in, inklusive lösenordet i klartext.
helm get values myappCI-loggar läcker också
Om du skickar hemligheter med --set i en pipeline skrivs de ofta ut i byggloggarna, där hela teamet kan se dem.
helm install myapp ./chart --set db.password=secretGrundregeln
Regeln är enkel: hemligheter får aldrig ligga i klartext i ett chart, i Git eller på kommandoraden. Håll dem borta.
Referera, bädda inte in
Det säkra mönstret är att referera till en hemlighet i stället för att bädda in den. Mallar pekar på en Secret-resurs som klustret redan har.
valueFrom:
secretKeyRef:
name: db-credentials
key: passwordKryptera om du måste lagra dem
När hemliga värden verkligen måste finnas i Git ska du lagra dem krypterade, så att den incheckade filen är oanvändbar utan dekrypteringsnyckeln.
Tre vanliga metoder
Tre vägar löser detta: att kryptera values med verktyg, hämta hemligheter från ett externt lager eller skapa Secret-objekt från injicerade data.
Kodning är inte säkerhet
Base64 i Kubernetes Secrets är bara kodning, inte kryptering. Det döljer ingenting, så behandla aldrig ett kodat värde som skyddat.
Snabbkontroll
Varför är det så riskabelt att ha ett lösenord i values.yaml?
Sammanfattning
Du såg varför hemligheter i klartext i values.yaml läcker genom Git, release-data och CI-loggar, och varför du i stället måste referera till eller kryptera dem. 🎉
Lär dig DevOps-bootcamp med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 142
- Lektioner
- 568
Vanliga frågor
Är lektionen ”Varför Secrets inte hör hemma i values.yaml” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Varför Secrets inte hör hemma i values.yaml”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.
Vad lär jag mig i ”Varför Secrets inte hör hemma i values.yaml”?
Riskerna med klartexthemligheter i charts och Git Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?
Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.
Hur lång tid tar lektionen ”Varför Secrets inte hör hemma i values.yaml”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?
Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Varför Secrets inte hör hemma i values.yaml
- Kryptera värden med helm-secrets och SOPS
- Hämta från externa Secrets Operators
- Skapa mallar för Kubernetes Secret-resurser