Каковы Лучшие Практики Структурирования Переменных Шифрования Начиная С Ansible 2.3.0?

  • Автор темы Banginis123
  • Обновлено
  • 20, Oct 2024
  • #1

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

ERROR! input is not vault encrypted data for ansible/group_vars/testing/vars
prefix instead of putting a variable and keys in a vault file and encrypt it completely.

ansible-vault decrypt ansible/group_vars/testing/vars

На данный момент структура следующая:

ansible/group_vars/testing/vars
ansible/group_vars/testing/vault

Когда зашифрованная переменная перемещается из хранилища в каталог vars и

notsecret: myvalue
mysecret: !vault |

$ANSIBLE_VAULT;1.1;AES256

66386439653236336462626566653063336164663966303231363934653561363964363833313662

6431626536303530376336343832656537303632313433360a626438346336353331386135323734

62656361653630373231613662633962316233633936396165386439616533353965373339616234

3430613539666330390a313736323265656432366236633330313963326365653937323833366536

34623731376664623134383463316265643436343438623266623965636363326136
other_plain_text: othervalue
is run it returns:

!vault |

Эта переменная хранилища должна быть расшифрована с помощью предоставленного секрета хранилища и

  1. используется как обычная переменная. Командная строка ansible-vault поддерживает

stdin и stdout для шифрования данных на лету, которые можно использовать

Banginis123


Рег
28 May, 2009

Тем
79

Постов
156

Баллов
591
  • 25, Oct 2024
  • #2

В последнее время я довольно долго работал с ansible vault (в частности, в отношении того, что такое шифрование и как зашифровать эти вещи, не делая код нечитаемым), и я нашел очень мало стимулов менять свои привычки в 2.3.

Если у меня будет серия зашифрованных переменных или файлов, храните их отдельно (я добавляю к ним префикс

- debug: msg="Decrypted value: {{ encrypted_var }}"
) and just leave it at that.

Несколько раз я использовал функцию !vault, но меня это совершенно не удивило, поскольку кажется, что проще просто четко указать, что находится в секретном файле, а что нет. Таким образом, никто, редактирующий мои пьесы, не делает предположений о том, какие данные являются конфиденциальными, а какие нет.

 

Venom1001


Рег
29 Sep, 2006

Тем
64

Постов
220

Баллов
550
  • 25, Oct 2024
  • #3

Я решил удалить

ansible-playbook
directory and replace it with a file, i.e.
ansible/group_vars/testing
который содержит зашифрованные переменные:

mysecret

Вместо бега

printf mysecret | ansible-vault encrypt
one could pipe the values that need to be encrypted to ansible-vault, i.e.
ansible-vault edit ansible/group_vars/testing/vault
. Последний будет шифровать
mysecret: !vault |

$ANSIBLE_VAULT;1.1;AES256

66386439653236336462626566653063336164663966303231363934653561363964363833313662

6431626536303530376336343832656537303632313433360a626438346336353331386135323734

62656361653630373231613662633962316233633936396165386439616533353965373339616234

3430613539666330390a313736323265656432366236633330313963326365653937323833366536

34623731376664623134383463316265643436343438623266623965636363326136
and the output could be added to the
ansible/group_vars/testing
файл. Когда
ansible/group_vars/testing
will be run the encrypted variables will be decrypted if the ansible vault file is specified of course.

Если зашифрованное значение необходимо отладить, можно использовать следующий код:

vault_
 

Druts


Рег
24 Mar, 2020

Тем
78

Постов
206

Баллов
626
Похожие темы Дата
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно