このドキュメントは、Ansible 2.3以降!vault |
、変数とキーをボールトファイルに入れて完全に暗号化する代わりに、プレフィックスを使用して特定の変数を暗号化できるようにする必要があることを示しています。
notsecret: myvalue mysecret: !vault | $ANSIBLE_VAULT;1.1;AES256 66386439653236336462626566653063336164663966303231363934653561363964363833313662 6431626536303530376336343832656537303632313433360a626438346336353331386135323734 62656361653630373231613662633962316233633936396165386439616533353965373339616234 3430613539666330390a313736323265656432366236633330313963326365653937323833366536 34623731376664623134383463316265643436343438623266623965636363326136 other_plain_text: othervalue
現在のところ、構造は次のとおりです。
ansible/group_vars/testing/vars
ansible/group_vars/testing/vault
暗号化された変数をボールトからvarsディレクトリに移動してansible-vault decrypt ansible/group_vars/testing/vars
実行すると、次のように返されます。
ERROR! input is not vault encrypted data for ansible/group_vars/testing/vars
この保管された変数は、提供された保管庫の秘密で復号化され、通常の変数として使用されます。ansible-vaultコマンドラインは、オンザフライでデータを暗号化するためのstdinとstdoutをサポートしています。これは、お気に入りのエディターからこれらのvaultされた変数を作成するために使用できます。AnsibleとYAMLの両方が復号化の必要性を認識できるように、!vaultタグを必ず追加する必要があります。| ボールトの暗号化は複数行の文字列になるため、これも必要です。
ご質問
- 暗号化する必要がある変数は、コマンドラインを使用して1つずつ暗号化する必要がありますか?
- 古いAnsible構造を再構築するためのベストプラクティスは何ですか?たとえば、ボールトファイルを削除して、すべての暗号化された変数を変数ファイルに入れますか?