DevOps-bootcamp · Lektion

Vault-hemligheter i en pipeline

Dekryptera säkert i CI utan läckor

Lektion 3 av 413 steg

Vault-hemligheter i en pipeline är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 3 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.

Pipelinens hemliga lösenordsproblem

Era krypterade vault-filer är säkra i git, men runnern behöver fortfarande vault-lösenordet för att dekryptera dem under körningen. 🔐

Committera aldrig lösenordet

Det enda som måste hållas utanför repot är själva vault-lösenordet. Om det lagras i CI-secrets hålls det borta från historiken.

Lagra det i CI-secrets

Lägg lösenordet i en GitHub Secret som VAULT_PASSWORD, där det maskeras i loggar och bara injiceras under körningen.

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

Skriv en tillfällig lösenordsfil

Skriv i ett steg secret-värdet till en kortlivad lösenordsfil som runnern kan lämna till Ansible under playets körning.

- run: echo "$VAULT_PASS" > .vault_pass

Dekryptera med vault-password-file

Ange filen för playet med --vault-password-file, så att Ansible dekrypterar vault-innehållet utan någon fråga.

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

Eller använd miljövariabeln

Ansible läser även ANSIBLE_VAULT_PASSWORD_FILE, så Ni kan ange den en gång i stället för att skicka flaggan vid varje kommando.

export ANSIBLE_VAULT_PASSWORD_FILE=.vault_pass

Ingen --ask-vault-pass i CI

Det interaktiva --ask-vault-pass väntar på en människa och gör därför att pipelinen hänger sig. Mata alltid in lösenordet från en fil i stället.

Städa alltid efteråt

Ta bort den tillfälliga filen när jobbet avslutas. Ett steg med always garanterar städningen även om playbooken misslyckas halvvägs.

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

Maskera, skriv inte ut

CI maskerar automatiskt registrerade secrets i loggar, men skriv aldrig ut lösenordet med echo själv, eftersom manuell utskrift kan kringgå maskeringen.

Namnge flera vault-ID:n

Om Ni har flera vaultar ger Ni varje vault ett vault-ID, så att produktions- och staging-secrets dekrypteras med sina egna lösenord.

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

Rotera utan ny driftsättning

Om Ni ändrar CI-secreten roteras lösenordet för hela pipelinen på en gång, utan att någon kodändring behövs.

Snabbkontroll

Hur bör en pipeline tillhandahålla vault-lösenordet?

Sammanfattning: Håll secrets hemliga

Ni dekrypterade vault säkert i CI: lagra lösenordet som en secret, förmedla det via en lösenordsfil, undvik frågor och städa efteråt. 🔒

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 ”Vault-hemligheter i en pipeline” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Vault-hemligheter i en pipeline”, 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 ”Vault-hemligheter i en pipeline”?

Dekryptera säkert i CI utan läckor 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 3 av 4.

Hur lång tid tar lektionen ”Vault-hemligheter i en pipeline”?

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. ansible-lint som kvalitetskontroll
  2. Kör playbooks i GitHub Actions
  3. Vault-hemligheter i en pipeline
  4. Styrda utrullningar med godkännanden och check mode
← Tillbaka till DevOps-bootcamp