ansible 加密敏感的结构化数据

示例

首先,创建一个密钥文件,例如,vault_pass_file理想情况下包含一长串随机字符。在linux系统中,您可以pwgen用来创建随机密码文件:

pwgen 256 1 > vault_pass_file

然后,使用此文件来加密敏感数据,例如groups_vars/group.yml:

ANSIBLE_VAULT_PASSWORD_FILE=vault_pass_file ansible-vault encrypt group_vars/group.yml

从现在开始,要运行剧本,您需要vault_pass_file:

ANSIBLE_VAULT_PASSWORD_FILE=vault_pass_file ansible-playbook -i inventories/nodes my-playbook.yml

注意,您也可以使用该标志--vault-password-file vault_pass_file代替设置ANSIBLE_VAULT_PASSWORD_FILE环境变量。

为了编辑或解密磁盘上的秘密,您可以分别使用ansible-vault edit和ansible-vault decrypt。