Фон
- Мы используем Ansible для предоставления и управления инфраструктурой Azure. На данный момент мы запускаем Ansible «вручную», то есть вручную запускаем playbooks для различных автоматизированных задач. Нет инфраструктуры CI.
- Вероятно, не актуально, но мы управляем нашим запасом, используя динамический скрипт
azure_rm.py
. - Мы призваны быть максимально безопасными, т.е.
- Не храните пароли Vault
~/.vault_pass
ни в каком локальном файле - Не храните секреты Azure в
~/.azure/credentials
- Не храните ничего в безопасности
.bashrc
.
- Не храните пароли Vault
При таком сценарии у меня возникают проблемы с выработкой согласованной стратегии, обеспечивающей доступ моих книг к секретам Azure при соблюдении приведенных выше рекомендаций.
Вопрос
Как избежать хранения учетных данных Ansible Vault и Azure в файлах, при этом обеспечивая доступ к моим книгам воспроизведения?
Что я пробовал
До сих пор я придумал скрипт-обертку, который
- спрашивает пользователя пароль Vault
- Использует это для расшифровки скрипта Vapted Shell
- Оценивает сценарий, который загружает переменные среды Azure в среду;
- Запускает playbook в среде, которая была настроена таким образом.
Какие-нибудь лучшие (более изящные, менее сложные, более "Ansible") решения существуют?