我已经成功设置了一个vault_password_file
包含从 Bitwarden 读取密码的脚本。
我想对“成为密码”做同样的事情,但不知道在哪里以及如何实现。
ansible.cfg 是:
[defaults]
inventory=./inventory.yml
vault_password_file=./ansible-vault-pass.sh
[privilege_escalation]
become=True
Ansible-vault-pass 如下,虽然细节无关紧要,但这有效:
#!/bin/bash
_BW_ENTRY_ID="my-ansible-vault-pass"
_bw_session="$(bw unlock --raw)"
echo "$(bw get password ${_BW_ENTRY_ID} --session ${_bw_session} --raw)"
我有一个类似的脚本来查找并返回成为密码,但找不到如何将其挂钩到要使用的配置中,而不是提示用户。
我知道将其设置为group_vars/all/clear.yml
,例如如下:
ansible_become_password: "{{ vault_enabled_ansible_become_password }}"
然后将密码存储在保险库中。这种方法的问题在于,保管库在可以在服务器队列上运行 ansible 的系统管理员之间共享。但我不希望任何这样的 syadmin 能够读取他们同事的 sudo 密码。因此使用 Bitwarden/script 的方法。