--vault-password-file
オプションとは
Ansible にはパスワードなどの機密情報を暗号化する ansible-vault
という機能があります。
Playbook 実行時には何かしらの方法で復号パスワードを指定する必要があります。ansible-playbook
コマンドにも関連オプションがいくつかあります。
パスワードを書いたファイル名を指定するには --vault-password-file
というオプションがあります。
テキストだけでなくスクリプトも指定可
最近知ったのですが、この --vault-password-file
オプションは、パスワードを書いたテキストファイルだけでなく、パスワードを標準出力する.py
などスクリプトも指定できます。
公式ドキュメントには以下のコマンド例があります。
ansible-playbook --vault-password-file my-vault-password-client.py
別システムに格納されたパスワードをとってきて利用するなんてこともできそうですね。
工夫次第で環境変数の参照も可
この性質を利用すると、パスワードを環境変数に仕込んでそれを参照することもできるようです。以下のサンプルをみたときに、なるほど!と思いました。
Ansible Vault Environment Variable · GitHub
実行権限を与えることお忘れなく。