Использование утилиты «ansible-vault» для шифрования паролей#
Последовательность действий#
При хранении сенситивной информации в Git ее рекомендуется шифровать. Для этого можно использовать утилиту ansible-vault (идет в комплекте с пакетом ansible).
Для шифрования пароля следует выполнить команду на сервере, с которого производится развертывание SEDR:
ansible-vault encrypt_string -n jks_password 'ENCRYPT_STRING'
, где:
ENCRYPT_STRING— строка, которую необходимо зашифровать;jks_password— имя переменной.
Вывод данной команды надо добавить в файл vault.yml, расположенный в том же каталоге, что и vars.yml. При запуске команда спросит пароль, которым будет зашифровано значение <ENCRYPT_STRING>.
При установке компоннетов с помощью ansible данный пароль необходимо ввести по запросу Ansible.
При установке с помощью Jenkins данный пароль необходимо поместить в Jenkins secret file credential, и ID этого credential указать в параметре vault_cred Jenkins job.
Пример зашифрованного пароля файла vault.yml:
changeme_var: !vault |
$ANSIBLE_VAULT;1.1;AES256
<hash>
При этом переменные в файле vars.yml необходимо указывать в данном виде:
admin_jks_password: "{{ jks_password }}"
Аналогично возможно шифрование файлов, например шифрование jks-сертификатов в директории inventories:
ansible-vault encrypt <имя файла>
После выполнения команды содержимое файла будет зашифровано.
Проверка результата#
Настройка утилиты «ansible-vault» для шифрования паролей выполнена.