anault-vaultencryption凭证

我有一个主机的库存文件:

10.1.32.123 ansible_ssh_user = vagrant ansible_ssh_pass = vagrant

我的yaml文件:

 - hosts: all sudo: yes gather_facts: yes serial: 20 roles: 

这不是我想密码保护的yaml文件,而是我的库存文件,因为它包含用户凭证。 虽然不可能,但是当我运行剧本时,库存文件中的内容不会解密。 如果我已经encryption了yaml文件的话。

 ansible-playbook inventory site.yml --ask-vault-pass 
  1. 有没有办法添加凭证: ansible_ssh_user=vagrant ansible_ssh_pass=vagrantyaml文件,只是将IP保留在清单文件中。

DOCS:

VAULT

我不认为你可以encryption主机文件。 更好的方法是将任何敏感信息(如凭证)存储在辅助variables文件中,并使用安全保险库进行encryption,然后将该文件包含在您的操作手册中:

 - 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 

你的剧本现在将有两个主机部分:

 - hosts: group1 vars_files: - vars/group1.yml - hosts: group2 vars_files: - vars/group2.yml 

group1.ymlgroup2.yml文件必须共享相同的密码。