Я успешно настроил 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 на сервере. Но я не хочу, чтобы кто-нибудь из таких сядминов мог прочитать пароль sudo своих коллег. Отсюда и подход с Bitwarden / script.