Ansible Vault est un outil intégré à Ansible qui permet de chiffrer des fichiers contenant des données sensibles, comme des mots de passe ou des clés privées
Chiffrer des données avec Ansible-Vault et déployer un playbook
Créer un fichier chiffré
Lors de la création d’un fichier chiffré, Ansible Vault demandera de fournir un mot de passe pour chiffrer le fichier :
# ansible-vault create /path/encrypted.yml |
Exemple de contenu :
# encrypted.yml (chiffré) |
Pour le modifier le not de passe sera également demandé :
# ansible-vault edit /path/encrypted.yml |
Si on souhaite afficher le fichier, le contenu sera chiffré :
Configurer
Dans le fichier de configuration de votre application se trouve tous les paramètres nécessaires à son fonctionnement dont les mots de passe. Pour ne pas les écrire en dur, il est possible de les appeller sous forme de variable dont le contenu sera substitué lors de la lecture du fichier encrypted
:
# config.yml.j2 |
L’extension de fichier .j2
est un modèle Jinja2
qui est un moteur de modèle pour Python, Ansible l’utilise également pour le rendu de modèles dans ses playbooks.
Créer et lancer le playbook
Créer un fichier deploy.yml
, c’est ici que l’on appelle le fichier encrypted.yml
:
--- |
Pour ensuite lancer le playbook qui va appeller le fichier chiffré :
# ansible-playbook deploy.yml --ask-vault-pass |
Documentation
https://docs.ansible.com/ansible/
Quentin E.
Merci à Quentin E.