てくなべ (tekunabe)

ansible / network automation / 学習メモ

[Ansible] --vault-password-file で指定するファイルはスクリプトでも可なので環境変数も参照できる

--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

実行権限を与えることお忘れなく。