Ansibleの `--vault-password-file`に相当する設定は何ですか?


12

ansible-playbookのヘルプによると、--user=REMOTE_USERsshユーザーの定義に使用できますが、host- ansible_ssh_user: REMOTE_USERvarまたはgroup_varsのいずれかで定義することもできます。

質問

どのような変数が必要それを防ぐために、基またはhost_varsディレクトリのいずれかに定義することは--vault-password-file実行中に定義する必要がありますかansible-playbook

試み

  • 構成ansible_vault_password_file: ~/.vault_pass.txtで定義されている場合、復号化は失敗します。

    ERROR! Decryption failed on /path/to/vault
    
  • このドキュメントには関連するボールト変数が見つかりませんでした


ところで、それは今ここに(バージョン1.7から)文書化されています:docs.ansible.com/ansible/...
Tensibai

回答:


13

ここでの定義は次のとおりです。

DEFAULT_VAULT_PASSWORD_FILE = get_config(p, DEFAULTS, 'vault_password_file', \
'ANSIBLE_VAULT_PASSWORD_FILE', None, value_type='path')

これは、ansible.cfgまたはプレイブックのいずれかに配置することを意味します。

vault_password_file: ~/.vault_pass.txt

または、シェルでこの変数を定義しました:

export ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txt

私は、URLのテキストを意図的に残して、コードを見ることで、ドキュメントが不足している場所やコードが簡単に見つけられる場所をどのように支援できるかを人々に示しました。しかし、ハイパーリンクで十分なはずです。
Jiri Klouda 2017年

何かが失敗した場合は、ドキュメントを読んでください。ドキュメントがない場合は、ソースを読んでください。アクセスできる場合は...アクセスできる場合は、適切なバージョンを確認してください。残された唯一のものは、それをすべて理解できるようになることです。PS:リンクがいつか機能しなくなる可能性があります...
Pierre.Vriens

@JiriKloudaはで定義されていますが、機能していないようですgroup_vars/all/varsexport ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txt実行する必要がありました。
030

これは設定変数です。それはansible.cfgまたは同等のもの、あるいはプレイブックになければなりません。
Jiri Klouda 2017年

:また、私はあなたが実行し、それがあるバージョン2.2、具体的にチェックしているgithub.com/ansible/ansible/blob/stable-2.2/lib/ansible/...
智異Klouda

2

ANSIBLE_VAULT_PASSWORD_FILEボールトのパスワードファイルのパスを格納する環境変数を設定できます。このように、常に使用する必要はありません--vault-password-file、プレイブックを実行するときにスイッチをなくなります。

これは、ここにあるAnsibleのVaultドキュメントで説明されています

それで、にソースを追加export ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txtし、~/.bash_profileそこからソースを取得すれば、準備は完了です。

ホストのグループごとに異なるボールトパスワードが必要な場合は、以下を実行する必要があります。

このサブディレクトリ内に、varsおよびvaultという名前の2つのファイルを作成します。varsファイル内で、機密変数を含め、必要なすべての変数を定義します。次に、すべての機密変数をボールトファイルにコピーし、これらの変数の前にvault_を付けます。varsファイルの変数を調整して、一致するvault_変数を指すようにし、VaultファイルがVaultで暗号化されていることを確認する必要があります。

これは、グループごとに機密情報を管理するためのベストプラクティスアプローチの例です。詳細については、Ansibleのドキュメントを参照してください(上記のテキストはそこからコピーされます)。


1
これはホストごとに異なるパスワードを許可しません
Tensibai

接続パスワードを参照していますか?もしそうするなら、それはAnsible Vaultと何が共通しているのでしょうか?
13 dimitar 2017年

私はボールトのパスワードについて言及していましたが、グループごとに異なるボールトのパスワードを用意することは理にかなっています(私が理解している限り、問題の根源です)。
Tensibai 2017年

私はそれをそのように理解していませんでした。そのシナリオを含めるために私の回答を編集しました。
13 dimitar 2017年

より良いようです。ところで、投票は私のものではない
Tensibai
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.