所以,这些天的常见做法是将连接字符串放在一起。密码作为环境变量,以避免将它们放入文件中。这一切都很好,但是我不确定如何在尝试使用某些配置管理工具(如Salt / Ansible或Chef / Puppet)设置持续部署工作流程时如何工作。
具体来说,我在使用上述配置管理工具的环境中遇到以下问题:
答案 0 :(得分:2)
在厨师中你可以
environment
参数调用外部软件时设置环境变量。 execute resource。答案 1 :(得分:0)
使用puppet,首选方法可能是将秘密存储在Hiera文件中,这些文件只是普通的YAML文件。这意味着所有机密都存储在主机上,与清单文件分开。
答案 2 :(得分:0)
truecrypt虚拟加密磁盘是跨平台的,独立于工具。将其挂载为读写以更改其包含的文件中的机密,卸载它然后将加密的磁盘映像提交/推送到版本控制中。为自动化安装只读。
答案 3 :(得分:0)
ansible-vault可用于加密敏感数据文件。但是,像Jenkins这样的CI服务器并不是存储访问凭据的最安全的地方。如果添加Hashicorp Vault和Ansible Tower / AWX,则可以为多个团队提供安全的解决方案。