Ansible-Vault mit Eingabeaufforderungen kombinieren?

395
hymie

Das Problem, das ich jetzt habe, ist, dass ich, um mit Ansible-Vault verschlüsselte Zeichenfolgen zu verwenden, in der Befehlszeile angeben muss --vault-id=foo@prompt.

Ich verwende verschlüsselte Zeichenfolgen nicht sehr oft, daher möchte ich lieber beim Spielen feststellen, dass ich eine verschlüsselte Zeichenfolge verwenden werde, und das Kennwort nur dann eingeben, wenn dies unbedingt erforderlich ist.

Ist das möglich? Etwas in der Richtung von

 vars: string1: !vault | $ANSIBLE_VAULT;1.2;AES256;foo 66306438623164653061623661376331643537303931663562326336386234333935373661623261 3930633662616462316133633236383530356561346233640a386439316638313361333437386435 38346635626533313266663436666163386238616266623038666364323232393465656665643831 6437616339616463360a383263333965366264633562343965386137313364613737356666623562 3033 vars_prompt: - name: "cryptpasswd" prompt: "ansible-vault password" private: yes tasks: - name: "secret string" debug: msg: "secret message is {{ string1 }}" 

... und dann ist mein Passwort irgendwie verfügbar, um die Zeichenfolge bei Bedarf zu entschlüsseln?

Vielen Dank.

0

1 Antwort auf die Frage

0
snowkiterdude

Sie können eine völlig zufällige Kennwortzeichenfolge verwenden und sie einer Kennwortdatei hinzufügen.

in Ihrer ansible.cfg-Datei:

vault_password_file = vault_pass.txt 

Fügen Sie die Datei vault_pass.txt mit Ihrem Kennwort in Ihr anpassbares Arbeitsverzeichnis ein.

Wenn Sie git verwenden, fügen Sie die Kennwortdatei Ihrer .gitignore-Datei hinzu.

Vielen Dank. Ihr Kommentar zu ansible.cfg brachte mich zu der Erkenntnis, dass ein einzelnes Verzeichnis (obwohl leider kein einzelnes Spiel oder Spielbuch) eine eigene ansible.cfg haben kann. Das und Ihr Vorschlag sollte mein Problem lösen. hymie vor 6 Jahren 0