Шифрование строк

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

Vault-строки в Ansible — это отдельные зашифрованные значения, которые можно встраивать прямо в YAML-файл переменных, в остальном написанный открытым текстом; они создаются командой ansible-vault encrypt_string. Запуск ansible-vault encrypt_string 'my_secret_password' --name 'db_password' выводит многострочный блок с тегом !vault |, который вставляется напрямую в файл переменных рядом с незашифрованными ключами — тем самым шифруются только конфиденциальные поля, а не весь файл. Во время выполнения Ansible распознаёт тег !vault и прозрачно расшифровывает значение перед передачей в задачу — без каких-либо изменений в playbook. 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-паролем в git ("для удобства"); один Vault-пароль для prod и dev (утечка в dev компрометирует prod); не ротируются Vault-пароли (могут утечь через build-логи годами); encrypt_string inline повсюду вместо одного Vault-файла (каждый секрет требует отдельной перешифровки при ротации ключа).

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

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