Ansibleで秘匿情報を使う

しむどん 2025-07-13

APIキーなどの秘匿すべき情報をAnsibleで使う時はansible-vaultを使う。

ansible-vault encrypt secret_example.yml

復号化する時は ansible-vault decrypt を使う。

ansible-vault decrypt secret_example.yml

これを使うには次のようなplaybookを書く。

vars_files:
  - secret_example.yml

tasks:
  - name: 表示例
    debug:
      var: api_key

これを実行すには次のようにする。

ansible-playbook playbook.yml --ask-vault-pass

またはパスワードファイルを渡す事もできる。

ansible-playbook playbook.yml --vault-password-file ~/.vault_pass.txt

.vault_pass.txtは一時的に出力するようにして、オリジナルはGnuPGで暗号化しておくと良さそうだ。