Summary
Ansible Vault is the built-in encryption mechanism for Ansible that allows teams to store sensitive values—passwords, API keys, certificates—alongside their playbooks securely in version control.
What is Ansible Vault?
Ansible Vault encrypts files or individual variable values using AES-256 encryption. Encrypted content can be stored in Git alongside regular playbook code, because the ciphertext is safe to expose. At runtime, Ansible decrypts the values using a password provided interactively or via a password file.
Teams typically encrypt entire variable files (group_vars, host_vars) or specific string values using ansible-vault encrypt_string. The --ask-vault-pass flag or the ANSIBLE_VAULT_PASSWORD_FILE environment variable supplies the decryption key during playbook execution.
Vault integrates naturally with secret management platforms: some teams store the Vault password itself in HashiCorp Vault or a CI/CD secret store, combining the simplicity of Ansible Vault with enterprise secret lifecycle management.
Why is Ansible Vault relevant?
- Security: Sensitive values never appear in plaintext in version control repositories
- Simplicity: No external secret management infrastructure required for basic use cases
- Auditability: Encrypted files in Git carry full change history
- Compliance: Supports requirements for secrets management in regulated environments