Ce document indique que depuis Ansible 2.3 il devrait être possible de crypter certains vars en utilisant un !vault |
préfixe au lieu de mettre une variable et des clés dans un fichier de coffre-fort et de le crypter complètement.
notsecret: myvalue mysecret: !vault | $ANSIBLE_VAULT;1.1;AES256 66386439653236336462626566653063336164663966303231363934653561363964363833313662 6431626536303530376336343832656537303632313433360a626438346336353331386135323734 62656361653630373231613662633962316233633936396165386439616533353965373339616234 3430613539666330390a313736323265656432366236633330313963326365653937323833366536 34623731376664623134383463316265643436343438623266623965636363326136 other_plain_text: othervalue
Pour le moment, la structure est la suivante:
ansible/group_vars/testing/vars
ansible/group_vars/testing/vault
Lorsqu'une variable chiffrée est déplacée du coffre-fort vers le répertoire vars et ansible-vault decrypt ansible/group_vars/testing/vars
est exécutée, elle renvoie:
ERROR! input is not vault encrypted data for ansible/group_vars/testing/vars
Cette variable voûtée doit être déchiffrée avec le secret de coffre fourni et utilisée comme variable normale. La ligne de commande ansible-vault prend en charge stdin et stdout pour crypter les données à la volée, qui peuvent être utilisées à partir de votre éditeur préféré pour créer ces variables voûtées; vous devez juste être sûr d'ajouter la balise! vault pour qu'Ansible et YAML soient conscients de la nécessité de décrypter. Le | est également requis, car le chiffrement du coffre-fort se traduit par une chaîne de plusieurs lignes.
Des questions
- Les variables qui doivent être chiffrées doivent-elles être chiffrées une par une en utilisant la ligne de commande?
- Quelles sont les meilleures pratiques pour restructurer l'ancienne structure Ansible? Par exemple, supprimer les fichiers du coffre-fort et mettre tous les fichiers chiffrés dans le fichier vars?