Расшифровка во время выполнения с --ask-vault-pass
Передайте пароль плейбуку
«Расшифровка во время выполнения с --ask-vault-pass» — бесплатный урок Ansible Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Ansible Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Ansible Academy содержит 4 уроков всего.
Расшифровывайте в нужный момент
Секреты Vault остаются зашифрованными на диске. Важно передать Ansible пароль именно в тот момент, когда плейбуку нужно их прочитать. 🔑
Запросите пароль
Добавьте --ask-vault-pass к ansible-playbook, и Ansible один раз запросит пароль хранилища перед началом запуска.
ansible-playbook site.yml --ask-vault-passОдин пароль на весь запуск
Этот единственный запрос открывает каждый зашифрованный файл и встроенное значение, к которым обращается плейбук. Ansible расшифровывает их только в памяти. 🧠
При отсутствии пароля запуск сразу завершается ошибкой
Запустите плейбук, которому требуется Vault, не указав пароль, и Ansible остановится с понятной ошибкой расшифровки, прежде чем успеет причинить вред.
ERROR! Attempting to decrypt but no vault secrets foundИспользуйте файл пароля
Для автоматических запусков укажите --vault-password-file вместо ввода пароля вручную. Не добавляйте этот файл в Git и обеспечьте его защиту.
ansible-playbook site.yml --vault-password-file ~/.vault_passУкажите его в ansible.cfg
Чтобы не указывать флаг каждый раз, задайте файл пароля в параметре vault_password_file в ansible.cfg.
[defaults]
vault_password_file = ~/.vault_passИли используйте переменную окружения
Переменная окружения ANSIBLE_VAULT_PASSWORD_FILE выполняет ту же задачу и удобна в CI, где нельзя изменить конфигурацию.
export ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_passИдентификаторы хранилища для множества секретов
Управляйте несколькими паролями с помощью --vault-id, присваивая каждому метку, чтобы для секретов разработки и продакшена использовались разные ключи.
ansible-playbook site.yml --vault-id prod@~/.vault_prodДругие команды тоже
Те же флаги работают с разовыми командами ansible и самой командой ansible-vault, а не только с ansible-playbook.
ansible all -m debug -a "msg={{ db_password }}" --ask-vault-passБезопасно храните пароль
Хранилище настолько надёжно, насколько надёжно место хранения его пароля. Используйте менеджер секретов или файл с ограниченным доступом и никогда не добавляйте пароль в репозиторий.
Сценарий как источник пароля
Файлом пароля хранилища может быть даже исполняемый сценарий, который выводит пароль и позволяет получать секреты с сервера хранилища.
ansible-playbook site.yml --vault-password-file get-pass.shБыстрая проверка
Вы запускаете плейбук, который читает зашифрованные переменные, и хотите ввести пароль один раз.
Итоги
Вы открываете доступ к секретам во время выполнения с помощью --ask-vault-pass, файла пароля или переменной окружения. Ansible расшифровывает данные только в памяти. ✨
Часто задаваемые вопросы
Урок «Расшифровка во время выполнения с --ask-vault-pass» бесплатный?
Да — полный текст урока «Расшифровка во время выполнения с --ask-vault-pass» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Ansible Academy, подпишись на CoddyKit PRO. Курс Ansible Academy содержит 4 уроков всего.
Чему я научусь в уроке «Расшифровка во время выполнения с --ask-vault-pass»?
Передайте пароль плейбуку Ты практикуешь Ansible Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Ansible Academy?
Предыдущий опыт не требуется. Ansible Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Расшифровка во время выполнения с --ask-vault-pass»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Ansible Academy?
Да. Каждый урок Ansible Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Шифрование файла с ansible-vault create
- Редактирование, просмотр и смена ключа файлов хранилища
- Шифрование одной переменной в строке
- Расшифровка во время выполнения с --ask-vault-pass