Perché i Secret non devono stare in values.yaml
I rischi dei Secret in chiaro nei chart e in Git
Perché i Secret non devono stare in values.yaml è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp include 4 lezioni in totale.
I values sono semplice testo
Il file values.yaml di un chart è un normale file di testo non cifrato. Qualsiasi elemento inserito al suo interno, comprese le password, è leggibile da chiunque apra il file.
Git ricorda tutto per sempre
I chart risiedono solitamente in Git. Un segreto sottoposto a commit una volta resta nella cronologia anche dopo essere stato eliminato, quindi una fuga di dati è permanente. 🔒
Un errore allettante
È allettante inserire direttamente una password reale in values.yaml per far funzionare tutto. Resista alla tentazione, perché quel valore si diffonde ovunque.
database:
password: super-secret-123Helm memorizza i dati della release
Durante l'installazione, Helm salva i valori uniti in un secret di release nel cluster. La sua password in testo semplice ora si trova anche lì.
helm get values la espone
Chiunque abbia accesso alla release può eseguire helm get values e leggere esattamente ciò che ha passato, inclusa la password in testo semplice.
helm get values myappAnche i log della CI possono divulgare segreti
Passare segreti tramite --set in una pipeline spesso li stampa nei log della build, dove restano visibili a tutto il team.
helm install myapp ./chart --set db.password=secretLa regola fondamentale
La regola è semplice: i segreti non devono mai essere presenti in testo semplice dentro un chart, in Git o nella riga di comando. Li tenga fuori da tutti questi ambienti.
Fare riferimento, non incorporare
Il modello sicuro consiste nel fare riferimento a un secret anziché incorporarlo. I template puntano a una risorsa Secret già presente nel cluster.
valueFrom:
secretKeyRef:
name: db-credentials
key: passwordCifrare se è necessario archiviare
Quando i valori segreti devono davvero risiedere in Git, li memorizzi cifrati, così il file sottoposto a commit è inutilizzabile senza la chiave di decifratura.
Tre approcci comuni
Esistono tre strade: cifrare i valori con appositi strumenti, recuperarli da un archivio esterno oppure creare template di oggetti Secret a partire da dati iniettati.
La codifica non è sicurezza
Base64 nei Secret di Kubernetes è solo una codifica, non una cifratura. Non nasconde nulla, quindi non consideri mai protetto un valore codificato.
Verifica rapida
Perché è così rischioso inserire una password in values.yaml?
Riepilogo
Ha visto perché i segreti in testo semplice dentro values.yaml possono fuoriuscire tramite Git, i dati della release e i log della CI, e perché deve invece farvi riferimento o cifrarli. 🎉
Domande Frequenti
La lezione «Perché i Secret non devono stare in values.yaml» è gratuita?
Sì — il testo completo di «Perché i Secret non devono stare in values.yaml» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp include 4 lezioni in totale.
Cosa imparerò in «Perché i Secret non devono stare in values.yaml»?
I rischi dei Secret in chiaro nei chart e in Git Eserciti DevOps Bootcamp con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare DevOps Bootcamp?
Non è richiesta alcuna esperienza precedente. DevOps Bootcamp su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Perché i Secret non devono stare in values.yaml»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione DevOps Bootcamp?
Sì. Ogni lezione DevOps Bootcamp include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Perché i Secret non devono stare in values.yaml
- Crittografia dei valori con helm-secrets e SOPS
- Recupero dei Secret dagli External Secrets Operator
- Templating delle risorse Secret di Kubernetes