1

找不到任何关于此的内容。我需要将一个拱形变量文件作为额外的变量传递,即:

ansible-pull -U <URL> -f -C master -d <ROLE_PATH> -i hosts --clean --vault-id <VAULT-ID/PW-FILE> -e @<VAULTED-VAR-FILE>

好像它找不到受保护的文件..

ansible 2.9.10



config file = /etc/ansible/ansible.cfg

  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']

  ansible python module location = /usr/lib/python2.7/site-packages/ansible

  executable location = /bin/ansible

  python version = 2.7.5 (default, Apr  2 2020, 13:16:51) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]

Using /etc/ansible/ansible.cfg as config file

Parsed localhost, inventory source with host_list plugin

ERROR! Attempting to decrypt but no vault secrets found

注意:如果我解密 Vaulted 文件,它将运行。

有没有人遇到同样的问题或知道解决方案?

谢谢和最好的问候

4

2 回答 2

0

谢谢4你的回复。

当然,秘密和保管的 var 文件在远程主机上。使用--vault-id 或--vault-password-file 都没有关系。

它正在运行,当我解密 Vaulted 文件或将其从 cli 调用中删除时。似乎,它只是不想用给定的 vault-pw-file / vault-id 解密 vaulted 文件。

还没有对密码存储做任何事情,但是远程主机应该尽可能简单。当然,我必须安装 ansible 和 git 才能使用 ansible-pull,但是对于密码存储,我还必须安装 pass 或者需要另一个 RPM 来解决另一个问题。所以这积累..

于 2020-09-22T06:53:36.837 回答
0

问:“错误!尝试解密但未找到保管库机密”

答:错误很明显。提供带有Vault Secret的 ansible-pull 。

但是,这需要在远程主机上以纯文本形式运行 ansible-pull 提供保管库机密。从安全的角度来看,这是一个相当薄弱的解决方案。仅在安全的环境中使用。否则,我建议使用推送模型来管理机密。


替代解决方案

如果您确实需要通过 ansible-pull 管理远程主机上的机密,您可能希望将机密存储在密码存储中并使用 Ansible 查找插件密码存储来检索机密。

  • 密码存储使用 gpg
  • gpg 是开源加密软件套件的最佳选择
  • 而不是保管库机密在远程主机上维护 gpg 密钥
  • 运行 gpg 代理
  • passwordstore 将加密的文件存储在 git 中
  • 在运行 ansible-pull 之前克隆/拉取密码库 git repo 到远程主机
于 2020-09-22T06:26:48.423 回答