我想使用 ansible 部署加密(通过 ansible-vault)文件而不提供保管库密码。文件应保持加密状态,仅在需要时在服务器上解密(使用单独的脚本)。
这有可能吗?
更多解释:我正在使用 Ansible 脚本来设置 CI 服务器(bamboo、jenkins)。密码不应该以纯文本形式存在于该服务器上,当用于增加另一层安全性时,它们应该被即时解密。
我想使用 ansible 部署加密(通过 ansible-vault)文件而不提供保管库密码。文件应保持加密状态,仅在需要时在服务器上解密(使用单独的脚本)。
这有可能吗?
更多解释:我正在使用 Ansible 脚本来设置 CI 服务器(bamboo、jenkins)。密码不应该以纯文本形式存在于该服务器上,当用于增加另一层安全性时,它们应该被即时解密。
我在最新版本(2.4)中找到了它。复制模块有一个解密标志,请参见此处。这就是我使用它的方式:
<角色>/tasks/main.yml
- name: Copying (encrypted) Vault Content
copy:
src: "templates/vault/"
dest: "{{vault_folder}}"
directory_mode: yes
decrypt: no
在服务器上,我在脚本中使用这一行来获取文件的解密内容:
ansible-vault decrypt <vault_folder>/<file> --output -