Ansible Vault ist das integrierte Verschlüsselungssystem von Ansible zum Schutz sensibler Daten wie Passwörter, API-Keys und Zertifikate. Es verwendet AES256-Verschlüsselung und ermöglicht die sichere Versionskontrolle vertraulicher Informationen direkt in Ansible-Projekten.
Typische Anwendungsfälle: - Database-Passwörter und Connection-Strings - API-Tokens und Authentifizierungs-Keys - SSL-Zertifikate und Private Keys - Cloud-Provider-Credentials - Backup-Verschlüsselungsschlüssel
Grundlegende Vault-Operationen:
# Datei verschlüsseln
ansible-vault encrypt secrets.yml
# Verschlüsselte Datei bearbeiten
ansible-vault edit secrets.yml
# Datei in Playbook verwenden
ansible-playbook --ask-vault-pass playbook.ymlStrukturierte Trennung von öffentlichen und sensiblen Daten:
# vars/main.yml (unverschlüsselt)
database_host: "db.example.com"
database_port: 5432
# vars/vault.yml (verschlüsselt)
vault_database_password: "encrypted_secret_here"
vault_api_key: "encrypted_api_token_here"Verwendung in Playbooks:
---
- name: Deploy application with encrypted secrets
hosts: web_servers
vars_files:
- vars/main.yml
- vars/vault.yml
tasks:
- name: Configure database connection
template:
src: config.j2
dest: /etc/app/config.conf
mode: '0600'
vars:
db_password: "{{ vault_database_password }}"⚠️ Kritische Sicherheitsaspekte:
chmod 600CI/CD-Sicherheit:
# Sichere Verwendung in Pipelines
echo "$VAULT_PASSWORD" > /tmp/vault_pass
chmod 600 /tmp/vault_pass
ansible-playbook --vault-password-file /tmp/vault_pass deploy.yml
rm -f /tmp/vault_pass # Aufräumen nach VerwendungFür eine vollständige Abhandlung von Ansible Vault mit detaillierten Beispielen, erweiterten Konfigurationen, CI/CD-Integration, Vault-IDs, Sicherheitsanalyse und Alternativen wie HashiCorp Vault siehe das dedizierte Kapitel “Ansible Vault” (5750_Vault.md).