在Ansible中,可以使用Vault来安全地存储和读取敏感信息,例如用户名和密码。下面是一个使用Ansible Vault的示例解决方法:
credentials.yml
:username: myusername
password: mypassword
ansible-vault encrypt credentials.yml
在执行此命令后,您将被要求输入一个密码来加密文件。
playbook.yml
,并在其中使用Vault来读取加密的文件:- name: Playbook to read credentials from encrypted file
hosts: localhost
gather_facts: false
vars_files:
- credentials.yml
tasks:
- name: Print username
debug:
var: username
- name: Print password
debug:
var: password
ansible-playbook playbook.yml --ask-vault-pass
在执行此命令后,您将被要求输入用于加密文件的密码。
当Playbook运行时,Ansible将自动解密文件并将其中的变量值注入到任务中。您可以像上面的示例一样使用debug
模块来验证变量的值。
请注意,您可以使用ansible-vault edit credentials.yml
命令来编辑加密的文件,并使用ansible-vault rekey credentials.yml
命令来更改密码。