借助 AWX 和 Ansible Tower,我知道您可以使用 HashiCorp Vault 来管理您在剧本中使用的密码。例如,如果您想配置一些网络设备,则访问这些设备的凭据可以驻留在 Vault 中。
有人使用过 AWX/Tower 并将数据库密码存储在 HashiCorp Vault 中吗?如果我没记错的话,默认情况下,Postgress 密码存储在文件系统的一个文件中。
然而,这篇文章建议将密码存储在 VAult 中,这样 Tower/AWX 就只能获得访问数据库的短期凭据:https://www.arctiq.ca/our-blog/2019/9/20/configuring-hashicorp-vault-to-generate-dynamic-postgresql-credentials/
您能分享一下您对这种架构的体验吗?
答案1
有hashi_vault_lookup插件,从 HashiCorp 的保险库中检索秘密。
它可以在你的剧本中像这样使用:
- name: 'Fetch secrets using "hashi_vault" lookup'
set_fact:
secret: "{{ lookup('community.general.hashi_vault', 'secret=secret/hello:value token=c975b780-d1be-8016-866b-01d0f9b688a5 url=http://myvault:8200') }}"