In diesem Dokument wird angegeben, dass es seit Ansible 2.3 möglich sein sollte, bestimmte !vault |
Variablen mit einem Präfix zu verschlüsseln, anstatt eine Variable und Schlüssel in eine Tresordatei einzufügen und diese vollständig zu verschlüsseln.
notsecret: myvalue mysecret: !vault | $ANSIBLE_VAULT;1.1;AES256 66386439653236336462626566653063336164663966303231363934653561363964363833313662 6431626536303530376336343832656537303632313433360a626438346336353331386135323734 62656361653630373231613662633962316233633936396165386439616533353965373339616234 3430613539666330390a313736323265656432366236633330313963326365653937323833366536 34623731376664623134383463316265643436343438623266623965636363326136 other_plain_text: othervalue
Im Moment ist die Struktur wie folgt:
ansible/group_vars/testing/vars
ansible/group_vars/testing/vault
Wenn eine verschlüsselte Variable aus dem Tresor in das Verzeichnis vars verschoben und ausgeführt ansible-vault decrypt ansible/group_vars/testing/vars
wird, wird Folgendes zurückgegeben:
ERROR! input is not vault encrypted data for ansible/group_vars/testing/vars
Diese Tresorvariable wird mit dem angegebenen Tresorgeheimnis entschlüsselt und als normale Variable verwendet. Die ansible-vault-Befehlszeile unterstützt stdin und stdout zum schnellen Verschlüsseln von Daten, die in Ihrem bevorzugten Editor zum Erstellen dieser vaultierten Variablen verwendet werden können. Sie müssen nur das! vault-Tag hinzufügen, damit sowohl Ansible als auch YAML sich der Notwendigkeit der Entschlüsselung bewusst sind. Die | ist ebenfalls erforderlich, da die Tresorverschlüsselung zu einer mehrzeiligen Zeichenfolge führt.
Fragen
- Sollten Variablen, die verschlüsselt werden müssen, einzeln über die Befehlszeile verschlüsselt werden?
- Was sind Best Practices zur Umstrukturierung der alten Ansible-Struktur? ZB die Tresordateien entfernen und alle verschlüsselten Vars in die Vars-Datei einfügen?