DevOps-bootcamp · Lektion

Varför Secrets inte hör hemma i values.yaml

Riskerna med klartexthemligheter i charts och Git

Lektion 1 av 413 steg

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-123

Helm 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 myapp

CI-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=secret

Grundregeln

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: password

Kryptera 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. 🎉

Gratis att börja

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

  1. Varför Secrets inte hör hemma i values.yaml
  2. Kryptera värden med helm-secrets och SOPS
  3. Hämta från externa Secrets Operators
  4. Skapa mallar för Kubernetes Secret-resurser
← Tillbaka till DevOps-bootcamp