Ich habe einen Job in Rundeck, die Benutzer erfordern, Datenbankkennwort an ansible übergeben. Und ansible wird es als eine zusätzliche Variable nehmen.Run ansible-vault encrypt_string in ansible playbook
ansible-playbook test.yml -e "password=123"
Allerdings würden wir während der Laufzeit wie das Passwort zum Depot, sondern von ansible des best practice. Sie würden erfordern, dass das Passwort in einer Datei gespeichert wird. und sichern Sie die gesamte Datei mit ansible-vault create.
Da haben wir eine große Anzahl von Passwörtern zu übergeben, und ich stelle fest, es gibt einen Funktionsaufruf encrypt_string. Ich versuche, es in einem Playbook zu nennen und versuche, ein Vault-Passwort im laufenden Betrieb zu generieren, aber ich bekomme Fehler unten:
"ERROR! Nur eine - Vault-ID kann für die Verschlüsselung verwendet werden. Dies enthält Passwörter aus Konfiguration und CLI. "
Hier ist mein Textbuch test.yml:
---
- name: test
hosts: localhost
tasks:
- name: vault var
command: ansible-vault encrypt_string "{{ password }}" --vault-password-file ~/.vault_pass.txt
register: var
- name: variable
set_fact:
mypass: var
- name: test encrypt_string
debug:
msg: "{{ mypass }}"
Ich bin nicht sicher, ob dies der richtige Weg, es/beste Praxis zu tun ist, kann jemand etwas Licht wird sehr geschätzt .
Danke,