Vault-Secrets in einer Pipeline
Entschlüsseln Sie sicher in CI, ohne Geheimnisse preiszugeben.
Vault-Secrets in einer Pipeline ist eine kostenlose Ansible Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Ansible Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Ansible Academy-Kurs umfasst insgesamt 4 Lektionen.
Das Secret-Problem in der Pipeline
Ihre verschlüsselten Vault-Dateien sind in Git sicher, aber der Runner benötigt zur Laufzeit weiterhin das Vault-Passwort, um sie zu entschlüsseln. 🔐
Das Passwort niemals committen
Das Einzige, was aus dem Repository herausgehalten werden muss, ist das Vault-Passwort selbst. Wenn Sie es in CI-Secrets speichern, bleibt es aus der Historie heraus.
In CI-Secrets speichern
Legen Sie das Passwort als GitHub Secret wie VAULT_PASSWORD ab. Dort wird es in Logs maskiert und nur zur Laufzeit injiziert.
env:
VAULT_PASS: ${{ secrets.VAULT_PASSWORD }}Eine temporäre Passwortdatei schreiben
Schreiben Sie das Secret in einem Schritt in eine kurzlebige Passwortdatei, die der Runner während des Plays an Ansible übergeben kann.
- run: echo "$VAULT_PASS" > .vault_passMit vault-password-file entschlüsseln
Verweisen Sie mit --vault-password-file auf diese Datei, damit Ansible den Vault-Inhalt ohne Eingabeaufforderung entschlüsselt.
ansible-playbook site.yml \
--vault-password-file .vault_passOder die Umgebungsvariable verwenden
Ansible liest auch ANSIBLE_VAULT_PASSWORD_FILE. Sie können die Variable daher einmal setzen, anstatt das Flag bei jedem Befehl zu übergeben.
export ANSIBLE_VAULT_PASSWORD_FILE=.vault_passKein --ask-vault-pass in der CI
Das interaktive --ask-vault-pass wartet auf einen Menschen und lässt dadurch eine Pipeline hängen. Übergeben Sie das Passwort stattdessen immer aus einer Datei.
Immer aufräumen
Löschen Sie die temporäre Datei, wenn der Job endet. Ein always-Schritt garantiert die Bereinigung auch dann, wenn das Playbook途中 scheitert.
- if: always()
run: rm -f .vault_passMaskieren, nicht ausgeben
CI maskiert registrierte Secrets in Logs automatisch. Geben Sie das Passwort aber niemals selbst mit echo aus, da eine manuelle Ausgabe diese Maskierung umgehen kann.
Mehrere Vault-IDs benennen
Wenn Sie mehrere Vaults verwenden, geben Sie jedem eine Vault-ID, damit die Secrets von Produktion und Staging mit ihren jeweils eigenen Passwörtern entschlüsselt werden.
--vault-id prod@.prod_pass \
--vault-id stage@.stage_passOhne Redeployment rotieren
Wenn Sie das CI-Secret ändern, rotieren Sie das Passwort für die gesamte Pipeline auf einmal – ohne Änderungen am Code.
Schnelltest
Wie sollte eine Pipeline das Vault-Passwort bereitstellen?
Zusammenfassung: Secrets bleiben geheim
Sie haben Vault sicher in der CI entschlüsselt: Speichern Sie das Passwort als Secret, übergeben Sie es über eine Passwortdatei, verzichten Sie auf Eingabeaufforderungen und räumen Sie danach auf. 🔒
Häufig gestellte Fragen
Ist die Lektion „Vault-Secrets in einer Pipeline“ kostenlos?
Ja — der vollständige Text von „Vault-Secrets in einer Pipeline“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Ansible Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Ansible Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Vault-Secrets in einer Pipeline“?
Entschlüsseln Sie sicher in CI, ohne Geheimnisse preiszugeben. Du übst Ansible Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Ansible Academy zu starten?
Keine Vorkenntnisse erforderlich. Ansible Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Vault-Secrets in einer Pipeline“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Ansible Academy-Lektion Code schreiben und ausführen?
Ja. Jede Ansible Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- ansible-lint als Qualitätsschranke
- Playbooks in GitHub Actions ausführen
- Vault-Secrets in einer Pipeline
- Gesteuerte Deployments mit Freigaben und Check Mode