0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Теги: ansible-vault, шифрование файлов</p>
1
<p>Теги: ansible-vault, шифрование файлов</p>
2
<p>Если решение какой-нибудь задачи предполагает наличие конфиденциальной информации (к примеру, доступ в базу данных), неплохой практикой является хранение данной информации<strong>в зашифрованном виде</strong>. Создавать и управлять шифрованными файлами позволяет утилита командной строки<em>ansible-vault</em>, поставляемая вместе с Ansible.</p>
2
<p>Если решение какой-нибудь задачи предполагает наличие конфиденциальной информации (к примеру, доступ в базу данных), неплохой практикой является хранение данной информации<strong>в зашифрованном виде</strong>. Создавать и управлять шифрованными файлами позволяет утилита командной строки<em>ansible-vault</em>, поставляемая вместе с Ansible.</p>
3
<p>В результате применения<em>ansible-vault</em>вы сможете "коммитить" зашифрованный файл в систему управления версиями, а прочесть его смогут лишь доверенные пользователи, имеющие пароль дешифрования.</p>
3
<p>В результате применения<em>ansible-vault</em>вы сможете "коммитить" зашифрованный файл в систему управления версиями, а прочесть его смогут лишь доверенные пользователи, имеющие пароль дешифрования.</p>
4
<p>Давайте посмотрим, как это работает.</p>
4
<p>Давайте посмотрим, как это работает.</p>
5
<p>Команда ниже позволяет шифровать уже существующий файл, при этом вам необходимо будет лишь создать пароль шифрования:</p>
5
<p>Команда ниже позволяет шифровать уже существующий файл, при этом вам необходимо будет лишь создать пароль шифрования:</p>
6
<p>Если нужно создать новый зашифрованный файл:</p>
6
<p>Если нужно создать новый зашифрованный файл:</p>
7
<p>Если надо расшифровать файл, вводим пароль, который был задействован для шифрования:</p>
7
<p>Если надо расшифровать файл, вводим пароль, который был задействован для шифрования:</p>
8
<p>Также можно выполнить редактирование зашифрованного файла. По дефолту используется редактор vim, однако его можно переопределить переменной окружения $EDITOR.</p>
8
<p>Также можно выполнить редактирование зашифрованного файла. По дефолту используется редактор vim, однако его можно переопределить переменной окружения $EDITOR.</p>
9
<p>Когда нужно отобразить содержимое файла, который вы зашифровали:</p>
9
<p>Когда нужно отобразить содержимое файла, который вы зашифровали:</p>
10
<p>Когда вы будете выполнять импорт файла<em>secrets.yml</em>в ваш плейбук, Ansible "зафейлится", ведь он не будет знать, каким образом прочесть зашифрованный вами файл. Чтобы решить проблему, надо указать аргумент командной строки<em>--ask-vault-pass</em>, в результате чего будет предложено ввести пароль для зашифрованного вами файла.</p>
10
<p>Когда вы будете выполнять импорт файла<em>secrets.yml</em>в ваш плейбук, Ansible "зафейлится", ведь он не будет знать, каким образом прочесть зашифрованный вами файл. Чтобы решить проблему, надо указать аргумент командной строки<em>--ask-vault-pass</em>, в результате чего будет предложено ввести пароль для зашифрованного вами файла.</p>
11
<p>Есть и иной способ: он заключается в хранении пароля непосредственно в файле (файл не должен быть "закоммичен"), при этом потребуется указать путь к файлу с помощью аргумента<em>--vault-password-file</em>. Если файл является исполняемым, Ansible станет запускать его, применяя вывод в качестве пароля.</p>
11
<p>Есть и иной способ: он заключается в хранении пароля непосредственно в файле (файл не должен быть "закоммичен"), при этом потребуется указать путь к файлу с помощью аргумента<em>--vault-password-file</em>. Если файл является исполняемым, Ansible станет запускать его, применяя вывод в качестве пароля.</p>
12
<p>Если тема ansible-vault вам интересна, самую актуальную и более подробную информацию можно найти<a>в официальной документации</a>.</p>
12
<p>Если тема ansible-vault вам интересна, самую актуальную и более подробную информацию можно найти<a>в официальной документации</a>.</p>
13
<p><em>По материалам статьи "<a>15 Things You Should Know About Ansible</a>".</em></p>
13
<p><em>По материалам статьи "<a>15 Things You Should Know About Ansible</a>".</em></p>
14
14