🔐 Как использовать Ansible Vault в плейбуках для защиты конфиденциальных данных |

🔐 Как использовать Ansible Vault в плейбуках для защиты конфиденциальных данных

Мануал

При использовании Ansible вам может потребоваться ввести некоторую конфиденциальную или секретную информацию в плейбуки.

Это включает в себя закрытые и открытые ключи SSH, пароли и сертификаты SSL, и это лишь некоторые из них.

Как мы уже знаем, плохая практика сохранять эту конфиденциальную информацию в виде открытого текста по понятным причинам.

Эта информация должна храниться под замком, потому что мы можем только представить, что произойдет, если хакеры или неавторизованные пользователи овладеют ею.

К счастью, Ansible предоставляет нам удобную функцию, известную как Ansible Vault.

Как следует из названия, Ansible Vault помогает защитить важную секретную информацию, как мы уже обсуждали ранее.

Ansible Vault может зашифровывать переменные или даже целые файлы и плейбуки YAML, как мы позже продемонстрируем.

Это очень удобный и несложный инструмент, который требует один и тот же пароль при шифровании и дешифровании файлов.

Давайте теперь погрузимся и рассмотрим различные операции, которые можно выполнять с помощью Ansible Vault.

Как создать зашифрованный файл в Ansible

Если вы хотите создать зашифрованный файл плейбук, просто используйте команду ansible-vault create и укажите имя файла, как показано далее:

# ansible-vault create filename

Например, для создания зашифрованного файла mysecrets.yml выполните команду.

# ansible-vault create mysecrets.yml
После этого вам будет предложено ввести пароль, и после его подтверждения откроется новое окно с помощью редактора vi, где вы сможете начать писать свои задачи.
Ниже приведен образец некоторой информации.
Когда вы закончите, просто сохраните и выйдите из плейбука.
И это только при создании зашифрованного файла.
Чтобы проверить шифрование файла, используйте команду cat, как показано ниже.
# cat mysecrets.yml

Как просмотреть зашифрованный файл в Ansible

Если вы хотите просмотреть зашифрованный файл, просто передайте команду просмотра ansible-vault, как показано ниже.
# ansible-vault view mysecrets.yml
Еще раз, вам будет предложено ввести пароль.
И опять же , у вас будет доступ к вашей информации.
Как всегда, введите пароль, а затем продолжите редактирование файла.

Как редактировать зашифрованный файл в Ansible

Чтобы внести изменения в зашифрованный файл, используйте команду редактирования ansible-vault, как показано на рисунке.

# ansible-vault edit mysecrets.yml

Как всегда, введите пароль, а затем продолжите редактирование файла.

После завершения редактирования сохраните и выйдите из редактора vim.

Как изменить пароль Ansible Vault

В случае, если вы чувствуете необходимость изменить пароль  Ansible vault, вы можете легко сделать это, используя команду rekey ansible-vault, как показано ниже.

# ansible-vault rekey mysecrets.yml
Система запросит у вас пароль vault, а затем попросит вас ввести новый пароль и позже подтвердить его.

Как зашифровать незашифрованный файл в Ansible

Предположим, что вы хотите зашифровать незашифрованный файл, вы можете сделать это, выполнив команду ansible-vault encrypt, как показано далее:

# ansible-vault encrypt classified.txt
Позже вы сможете просмотреть файл с помощью команды cat, как показано ниже.

Как расшифровать зашифрованный файл

Чтобы просмотреть содержимое зашифрованного файла, просто расшифруйте файл, используя ansible-vault encrypt , как показано в примере ниже.

# ansible-vault decrypt classified.txt

Как зашифровать определенные переменные в Ansible

Кроме того, Ansible Vault предоставляет вам возможность шифровать определенные переменные.

Это делается с помощью команды ansible-vault encrypt_string, как показано далее:

# ansible-vault encrypt_string

Ansible Vault запросит у вас пароль и позже потребует его подтверждения.
Затем введите строковое значение, которое вы хотите зашифровать.
Наконец, нажмите Ctrl + D.
После этого вы можете начать присваивать зашифрованное значение в плейбуке.
Это может быть достигнуто в одной строке, как показано ниже.
# ansible-vault encrypt_string 'string' --name 'variable_name'

Как расшифровать плейбук во время выполнения

Если у вас есть плейбук и вы хотите расшифровать его во время выполнения, используйте параметр –ask-vault-pass, как показано далее:

# ansible-playbook deploy.yml --ask-vault-pass

Эта команда расшифрует все файлы, которые используются в плейбуке , при условии, что они были зашифрованы с использованием того же пароля.

Запросы пароля могут раздражать  время от времени.

Эти подсказки делают автоматизацию несостоятельной, особенно когда автоматизация является ключевой.

Чтобы упростить процесс расшифровки плейбуков во время выполнения, рекомендуется иметь отдельный файл паролей, который содержит пароль Ansible vault.

Этот файл может быть передан во время выполнения, как показано далее

# ansible-playbook deploy.yml --vault-password-file  /home/tecmint/vault_pass.txt
 

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий