HashiCorp Vault интеграция

Тема дорожной карты · Ansible

Интеграция с внешними хранилищами секретов в Ansible подключает playbook к корпоративным системам управления секретами — чаще всего к HashiCorp Vault — для динамического получения секретов во время выполнения, не ограничиваясь зашифрованными статическими файлами Ansible Vault. Collection community.hashi_vault предоставляет lookup-плагин hashi_vault, получающий отдельные секреты с помощью выражений вида {{ lookup('community.hashi_vault.hashi_vault', 'secret/data/db password') }} с аутентификацией через токен, AppRole или Kubernetes service account. Интеграция с внешними хранилищами секретов предпочтительна в крупных организациях, поскольку централизует ротацию секретов, обеспечивает полный журнал аудита каждого обращения к секрету и устраняет необходимость перераспределять файл пароля vault при изменении секретов. Другие поддерживаемые внешние бэкенды включают CyberArk Conjur (collection cyberark.conjur) и AWS Secrets Manager (доступен через lookup amazon.aws.aws_secret), позволяя командам использовать то хранилище секретов, которое соответствует их существующей инфраструктуре безопасности.

Как это работает

HashiCorp 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).

Типичные ошибки

Ловушки HashiCorp Vault интеграция: коммит файла с Vault-паролем в git ("для удобства"); один Vault-пароль для prod и dev (утечка в dev компрометирует prod); не ротируются Vault-пароли (могут утечь через build-логи годами); encrypt_string inline повсюду вместо одного Vault-файла (каждый секрет требует отдельной перешифровки при ротации ключа).

Связанные понятия

Полезные ресурсы