0

我担心密码保险库文件以纯文本形式存储解密密码,但一直找不到任何解决方案。

今天我使用 ansible-vault encrypt 命令来加密我所有的变量。然后我创建了一个密码文件用于保管库密码,并将 ansible.cfg 中的 vault_password_file 行指向它。我不希望 ansible 系统上的用户每次运行 playbook 时都被提示输入 vault 密码,这就是我们选择这种方法的原因。

这一切正常,但我担心文件中的密码以纯文本形式存储。对我来说,它打败了加密其他信息的练习。我试图找到解决方案,但我找不到任何答案。

我想知道是否有任何方法可以在文件中散列密码,仍然允许 ansible 使用它进行解密?

有没有人有任何我可以探索的解决方案?

4

1 回答 1

1

假设您正在使用源代码控制,那么您可以像现在一样将 ansible_vault 密码存储在文件中,但使用 git-secret 或 blackbox ( https://github.com/StackExchange/blackbox ) 进行加密保险库密码文件。

git-secret 专门用于 git 和 blackbox 与 git 以及其他一些源代码控制提供程序一起使用。

使用 blackbox,您可以添加一个用户公钥来加密您的文件,并且您的任何一个用户都可以解密该文件。如果他们离开,您可以删除他们的公钥,然后就不能再访问该文件。

正如评论中提到的那样,一个专门的秘密管理软件工具将是一个步骤,但这是一个足够简单的中间步骤来实施。

于 2019-04-16T15:46:05.323 回答