
1 つのホストを含むインベントリ ファイルがあります。
10.1.32.123 ansible_ssh_user=vagrant ansible_ssh_pass=vagrant
私のyaml
ファイル:
- hosts: all
sudo: yes
gather_facts: yes
serial: 20
roles:
yaml
パスワードで保護したいのはファイルではなく、ユーザーの資格情報が含まれているインベントリ ファイルです。プレイブックを実行しても、インベントリ ファイルの内容は復号化されないため、これは不可能です。ファイルyaml
を暗号化している場合は復号化されます。
ansible-playbook inventory site.yml --ask-vault-pass
ansible_ssh_user=vagrant ansible_ssh_pass=vagrant
ファイルに資格情報を追加しyaml
、IP をインベントリ ファイルに保持する方法はありますか。
ドキュメント:
答え1
ホスト ファイルを暗号化することはできないと思います。より良い方法は、認証情報などの機密情報を ansible-vault で暗号化されたセカンダリ vars ファイルに保存し、そのファイルをプレイブックに含めることです。
- hosts: all
sudo: yes
gather_facts: yes
vars_files:
- /path/to/encrypted/vars.yml
ファイルにはinventory
ホストが含まれています:
10.1.1.2
資格vars/vars.yml
情報を保存します:
ansible_ssh_user: vagrant
ansible_ssh_password: vagrant
複数のホストを使用するには、インベントリ ファイルにグループを追加します。特定のグループ内のホストは同じ資格情報を共有します。
[group1]
10.1.1.2
10.1.1.3
[group2]
10.1.1.4
10.1.1.5
プレイブックには、次の 2 つのホスト セクションが含まれるようになります。
- hosts: group1
vars_files:
- vars/group1.yml
- hosts: group2
vars_files:
- vars/group2.yml
およびファイルgroup1.yml
はgroup2.yml
同じパスワードを共有する必要があります。