通过ansible-vault可以对任务进行加密和解密操作,比较适合一些数据敏感的场景。
1.ansible-vault简单演示
2.--vault-id
"--vault-id"选项支持同时使用多个密码文件进行解密
# echo "123123" > pwdfile
# echo "123456" > pwdfile1
# ansible-vault encrypt --vault-id pwdfile test.yml
# ansible-vault encrypt --vault-id pwdfile1 test1.yml
当一个playbook被另一个playbook使用的时候
# ansible-playbook --vault-id pwdfile1 --vault-id pwdfile test.yml
或者这种方式
# ansible-vault decrypt --vault-id pwdfile1 --vault-id pwdfile test.yml test1.yml
create子命令
使用create子命令,可以创建一个被加密的文件
# ansible-vault create test
view子命令
使用view子命令,可以查看已经被加密过的文件的原内容,但是不会对文件本身进行还原操作,只是查看原内容。
# ansible-vault view test.yml
# ansible-vault view --vault-id pwdfile test.yml
edit子命令
使用edit子命令,可以直接修改被加密过的文件的原内容,使用edit子命令修改被加密过的文件内容的过程相当于:先解密、修改原内容,再加密
# ansible-vault edit test.yml
# ansible-vault edit --vault-id pwdfile test.yml
rekey子命令
使用rekey子命令,可以修改被加密文件的密码,比如,一开始我使用了123123这个密码对test.yml文件进行了加密,现在,我想把密码换成123456,执行如下命令即可
# ansible-vault rekey test.yml