Contexte
- Nous utilisons Ansible pour provisionner et gérer l'infrastructure Azure. Pour le moment, nous exécutons Ansible "manuellement", c'est-à-dire que nous exécutons manuellement des playbooks pour diverses tâches automatisées. Pas d'infrastructure CI.
- Probablement pas pertinent mais nous gérons notre inventaire à l'aide d'un script dynamique
azure_rm.py
. - Nous sommes encouragés à être aussi sûrs que possible
- Ne stockez pas les mots de passe Vault dans
~/.vault_pass
ou dans un fichier local - Ne stockez pas de secrets Azure dans
~/.azure/credentials
- Ne stockez rien de sécurisé
.bashrc
.
- Ne stockez pas les mots de passe Vault dans
Dans un tel scénario, j'ai du mal à trouver une stratégie cohérente pour garantir que mes playbooks peuvent accéder aux secrets Azure, tout en suivant les instructions ci-dessus.
Question
Comment éviter de stocker des informations d'identification Ansible Vault et Azure sur des fichiers, tout en garantissant que mes playbooks peuvent y accéder?
Ce que j'ai essayé
Jusqu'à présent, je suis venu avec un script wrapper qui
- demande à l'utilisateur le mot de passe du coffre-fort
- Utilise cela pour décrypter un script Vaulted Shell
- Évalue le script, qui charge les variables d'environnement Azure dans l'environnement;
- Exécute le playbook sur l'environnement ainsi défini.
Y a-t-il de meilleures solutions (plus élégantes, moins compliquées, plus "Ansible")?