Vault пароли и файлы
Тема дорожной карты · Ansible
Пароли Ansible Vault — это мастер-ключи для шифрования и расшифровки содержимого, защищённого vault; способ их передачи в ansible-playbook определяет безопасность и удобство рабочего процесса. Простейший метод — --ask-vault-pass, интерактивно запрашивающий пароль и подходящий для ручных запусков. Для неинтерактивного или скриптового использования --vault-password-file /path/to/.vault_pass читает пароль из файла или исполняемого скрипта, получающего его из менеджера секретов. При управлении несколькими зашифрованными средами с разными паролями Ansible поддерживает именованные vault ID: --vault-id prod@~/.vault_prod и --vault-id dev@~/.vault_dev позволяют одному запуску playbook расшифровывать содержимое обеих сред одновременно. Метки vault ID встроены в заголовок зашифрованного содержимого, поэтому Ansible автоматически выбирает правильный пароль без перебора всех ключей.
Как это работает
Vault пароли и файлы использует Ansible Vault для шифрования at rest: ansible-vault encrypt secrets.yml AES-шифрует файл паролем; ansible-vault edit расшифровывает в памяти для правки; запуск плейбука расшифровывает на лету через --ask-vault-pass или --vault-password-file. Per-variable шифрование (ansible-vault encrypt_string) даёт встроить одно зашифрованное значение в plaintext-файл. Multiple Vault ID (--vault-id prod@prompt) — для per-environment паролей.
Когда применять
Всегда Vault-шифруйте файлы с секретами — пароли, API-ключи, сертификаты. Per-environment Vault ID — чтобы dev и prod credentials шифровались отдельно. Сам Vault-пароль — в secrets-менеджере (Bitwarden, 1Password, Yandex Lockbox) или CI-секрете + --vault-password-file. Для больших флотов — интеграция с HashiCorp Vault (community.hashi_vault).
Типичные ошибки
Ловушки Vault пароли и файлы: коммит файла с Vault-паролем в git ("для удобства"); один Vault-пароль для prod и dev (утечка в dev компрометирует prod); не ротируются Vault-пароли (могут утечь через build-логи годами); encrypt_string inline повсюду вместо одного Vault-файла (каждый секрет требует отдельной перешифровки при ротации ключа).