8.5. インベントリーファイルでシークレットを保護する
Ansible Vault を使用して機密変数または秘密変数を暗号化できます。ただし、変数名と変数値を暗号化すると、値のソースを見つけるのが難しくなります。これを回避するには、ansible-vault encrypt_string
を使用して変数を個別に暗号化するか、変数を含むファイルを暗号化します。
手順
暗号化された認証情報を保存するために、
credentials.yml
というラベルの付いたファイルを作成します。$ cat credentials.yml admin_password: my_long_admin_pw pg_password: my_long_pg_pw registry_password: my_long_registry_pw
ansible-vault
を使用してcredentials.yml
ファイルを暗号化します。$ ansible-vault encrypt credentials.yml New Vault password: Confirm New Vault password: Encryption successful
重要暗号化された vault パスワードを安全な場所に保管します。
credentials.yml
ファイルが暗号化されていることを確認します。$ cat credentials.yml $ANSIBLE_VAULT;1.1; AES256363836396535623865343163333339613833363064653364656138313534353135303764646165393765393063303065323466663330646232363065316666310a373062303133376339633831303033343135343839626136323037616366326239326530623438396136396536356433656162333133653636616639313864300a353239373433313339613465326339313035633565353464356538653631633464343835346432376638623533613666326136343332313163343639393964613265616433363430633534303935646264633034383966336232303365383763
Ansible Automation Platform 2.4 のインストールのために
setup.sh
を実行し、credentials.yml
と--ask-vault-pass オプション
の両方を渡します。$ ANSIBLE_BECOME_METHOD='sudo' ANSIBLE_BECOME=True ANSIBLE_HOST_KEY_CHECKING=False ./setup.sh -e @credentials.yml -- --ask-vault-pass