Как определить скрипт, который обеспечивает пароль в ansible - PullRequest
0 голосов
/ 20 марта 2020

Я успешно настроил 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.

1 Ответ

1 голос
/ 20 марта 2020

Проблема с такими вопросами заключается в том, что есть несколько ответов, и «правильный» зависит от вашего рабочего процесса и допуска к настройке. Тем не менее, вот некоторые из них, которые я знаю:

...