Использование утилиты «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» для шифрования паролей выполнена.