0Pricing
Ansible Academy · Lezione

Segreti Vault in una pipeline

Decritti in sicurezza nella CI senza fughe di dati

Segreti Vault in una pipeline è una lezione Ansible Academy gratuita su CoddyKit. Questa è la lezione 3 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 Ansible Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Ansible Academy include 4 lezioni in totale.

Il problema dei segreti nella pipeline

I file vault crittografati sono al sicuro in git, ma al runner serve comunque la password del vault per decrittografarli durante l'esecuzione. 🔐

Non eseguire mai il commit della password

L'unico elemento che deve restare fuori dal repository è la password del vault. Memorizzarla nei segreti della CI la mantiene fuori dalla cronologia.

Memorizzarla nei segreti della CI

Inserire la password in un GitHub Secret come VAULT_PASSWORD, dove viene mascherata nei log e iniettata solo durante l'esecuzione.

env:
  VAULT_PASS: ${{ secrets.VAULT_PASSWORD }}

Scrivere un file temporaneo per la password

In uno step, scrivere il segreto in un breve file della password che il runner può fornire ad Ansible durante il play.

- run: echo "$VAULT_PASS" > .vault_pass

Decrittografare con vault-password-file

Indicare quel file al play con --vault-password-file, così Ansible decrittografa il contenuto del vault senza chiedere nulla.

ansible-playbook site.yml \
  --vault-password-file .vault_pass

Oppure usare la variabile d'ambiente

Ansible legge anche ANSIBLE_VAULT_PASSWORD_FILE, quindi è possibile impostarla una volta sola invece di passare il flag a ogni comando.

export ANSIBLE_VAULT_PASSWORD_FILE=.vault_pass

Niente --ask-vault-pass nella CI

L'opzione interattiva --ask-vault-pass attende una persona e quindi blocca la pipeline. Fornire sempre la password tramite un file.

Eseguire sempre la pulizia

Eliminare il file temporaneo al termine del job. Uno step always garantisce la pulizia anche se il playbook fallisce a metà.

- if: always()
  run: rm -f .vault_pass

Mascherare, non fare echo

La CI maschera automaticamente i segreti registrati nei log, ma non eseguire mai personalmente un echo della password, perché l'output manuale può eludere tale mascheramento.

Assegnare un nome a più vault ID

In presenza di più vault, assegnare a ciascuno un vault ID, così i segreti di produzione e staging vengono decrittografati con le rispettive password.

--vault-id prod@.prod_pass \
--vault-id stage@.stage_pass

Ruotare senza un nuovo deploy

La modifica del segreto CI consente di ruotare la password per l'intera pipeline in una sola volta, senza modificare il codice.

Verifica rapida

Come deve fornire una pipeline la password del vault?

Riepilogo: i segreti restano segreti

Il vault è stato decrittografato in sicurezza nella CI: memorizzare la password come segreto, fornirla tramite un file della password, evitare le richieste interattive e pulire al termine. 🔒

Domande Frequenti

La lezione «Segreti Vault in una pipeline» è gratuita?

Sì — il testo completo di «Segreti Vault in una pipeline» è 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 Ansible Academy, passa a CoddyKit PRO. Il corso Ansible Academy include 4 lezioni in totale.

Cosa imparerò in «Segreti Vault in una pipeline»?

Decritti in sicurezza nella CI senza fughe di dati Eserciti Ansible 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 Ansible Academy?

Non è richiesta alcuna esperienza precedente. Ansible 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 3 di 4.

Quanto tempo richiede la lezione «Segreti Vault in una pipeline»?

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 Ansible Academy?

Sì. Ogni lezione Ansible 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. ansible-lint come controllo di qualità
  2. Eseguire playbook in GitHub Actions
  3. Segreti Vault in una pipeline
  4. Deploy soggetti ad approvazione e modalità check
← Torna a Ansible Academy