間違いだらけの備忘録

このページの内容は無保証でありこのページの内容によって直接、または間接に損害を受けられたとしても私は責任を取りません。

グローバルパスワード管理

  • ansibleレシピ実行時にいちいちパスワードを入れたくない
  • しかし、レシピは共有するのでレシピ実行時に生パスワードは書きたくない
  • vars_promptがお手軽に書けるので使いたい(複雑なpause文は避けたい)

上記を満たす方法を検討。

Ansibleでのパスワードの取り扱い - Qiita

  • private.ymlにパスワード類を記載し、Ansible Vaultで暗号化する
  • private.ymlに定義した変数を、実行時に --extra-vars で読み込み

上記を参考に~/private.ymlにパスワードを保存しAnsible Vaultで暗号化、管理、Vault Passwordの入力も省略してみる

$ cat ~/.ansible.cfg 
[defaults]
vault_password_file=/home/user/vaultpass

パスワード入力省略するケース

$ ansible-playbook -i hosts playbook.yml --extra-vars="@~/private.yml"

パスワード入力をさせるケース

$ ansible-playbook -i hosts playbook.yml

プレイブックからprivate.ymlが独立したので、実質的に使いやすいグローバル変数

同一ディレクトリにVault Passwordを置くVault の存在意義

このページにはhatena以外のサービスからのコンテンツが埋め込まれています。 hatenaによりGoogle AdSense 広告が埋め込まれています。