我试图弄清楚在生产环境中将如何使用Ansible-Vault密码。 我看了无数关于如何使用“ Ansible-Vault”的视频和教程,他们都得出了相同的结论:
使用ansible-vault encrypt
将保管库密码存储在文本文件中,并在运行剧本时使用它:
ànsible-playbook --vault-password-file passwordFile myPlaybook.yml
我似乎不了解的问题是:
保险库密码以纯文本格式存储,这是一个安全问题
如何将密码文件集成到脚本中(如果需要)。如果我对密码文件进行加密,它将创建新的问题,需要解决。'
这可能是我的无知,但对我而言,这似乎更像是一个麻烦...
谢谢。
答案 0 :(得分:0)
在Ansible-Engine中,密码将不计任何费用。在Ansible-Engine或Ansible OpenSource版本中,尚无任何机制可以处理这种情况。 Ansible Tower为此提供了解决方案,该解决方案将加密保管库密码并将其存储在主节点中。
如果使用任何DevOps Pipeline,请从Jenkins创建环境变量以获取密码文件路径或实际值。
如果您使用的是AWS或任何云平台,请使用任何加密机制对值进行加密。
答案 1 :(得分:0)
只需在此问题上添加一个笔记:
我同意必须在某个时候公开Ansible-vault密码。一个解决方案可以是:pass
(The Standard Unix Password Manager)。每个密码都存放在经过GPG加密的文件中,该文件又可以在Linux管理员等内部共享。