Фон
- Ми використовуємо Ansible для надання та управління інфраструктурою Azure. На даний момент ми запускаємо Ansible "вручну", тобто ми вручну виконуємо ігрові книги для різних автоматизованих завдань. Немає інфраструктури CI
- Можливо, це не стосується, але ми керуємо інвентарем, використовуючи динамічний сценарій
azure_rm.py
. - Нас заохочують бути максимально безпечними, тобто
- Не зберігайте паролі Vault у
~/.vault_pass
або в жодному локальному файлі - Не зберігайте секрети Azure в
~/.azure/credentials
- Не зберігайте в ньому нічого безпечного
.bashrc
.
- Не зберігайте паролі Vault у
У такому сценарії у мене виникають труднощі при розробці цілісної стратегії, щоб забезпечити доступ моїх ігрових книжок до секретів Azure, дотримуючись наведених вище вказівок.
Питання
Як я можу уникнути зберігання облікових даних Ansible Vault та Azure у файлах, при цьому забезпечуючи доступ до них моїх ігрових книжок?
Що я спробував
Поки що я придумав сценарій обгортки, який
- запитує у користувача пароль Vault
- Використовує це, щоб розшифрувати скріплений скрипт оболонки
- Оцінює сценарій, який завантажує змінні середовища Azure у середовище;
- Керує ігровою книжкою на створеному таким чином середовищі.
Будь-які кращі (більш елегантні, менш складні, більш "відповідальні") рішення там?