0Pricing
Helm Academy · Lezione

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 Helm Academy 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 Helm Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Helm Academy 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-123

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

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

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

Cifrare 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 Helm Academy, passa a CoddyKit PRO. Il corso Helm Academy 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 Helm Academy 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 Helm Academy?

Non è richiesta alcuna esperienza precedente. Helm Academy 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 Helm Academy?

Sì. Ogni lezione Helm Academy 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

  1. Perché i Secret non devono stare in values.yaml
  2. Crittografia dei valori con helm-secrets e SOPS
  3. Recupero dei Secret dagli External Secrets Operator
  4. Templating delle risorse Secret di Kubernetes
← Torna a Helm Academy