Незащённые пароли и ключи — главный источник инцидентов. Ansible Vault решает эту проблему «из коробки». Ansible шифрует файлы переменных и бесшовно использует их в ваших плейбуках и ролях.
Ниже разберёмся как это использовать.
1. Запустить
ansible-vault create credentials.yml и задать пароль — файл будет сразу зашифрован.2. Для изменений использовать
ansible-vault edit credentials.yml, для просмотра без расшифровки на диск — ansible-vault view credentials.yml.3. В playbook добавить:
vars_files:
- credentials.yml
и запускать так:
ansible-playbook playbook.yml --ask-vault-pass
# или
ansible-playbook playbook.yml --vault-password-file ~/.vault_pass.txt
4. При смене пароля команды —
ansible-vault rekey credentials.yml.5. Разделять vault-файлы для разных окружений, хранить пароли Vault в защищённом KMS и в CI использовать
--vault-password-file в изолированной среде.💬 Как вы храните свои секреты?
🐸Библиотека devops'a #буст
