Vault-hemligheter i en pipeline
Dekryptera säkert i CI utan läckor
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_passDekryptera 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_passEller 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_passIngen --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_passMaskera, 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_passRotera 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. 🔒
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
- ansible-lint som kvalitetskontroll
- Kör playbooks i GitHub Actions
- Vault-hemligheter i en pipeline
- Styrda utrullningar med godkännanden och check mode