Questo documento indica che da Ansible 2.3 dovrebbe essere possibile crittografare alcuni var usando un !vault |
prefisso invece di inserire una variabile e le chiavi in un file del vault e crittografarlo completamente.
notsecret: myvalue mysecret: !vault | $ANSIBLE_VAULT;1.1;AES256 66386439653236336462626566653063336164663966303231363934653561363964363833313662 6431626536303530376336343832656537303632313433360a626438346336353331386135323734 62656361653630373231613662633962316233633936396165386439616533353965373339616234 3430613539666330390a313736323265656432366236633330313963326365653937323833366536 34623731376664623134383463316265643436343438623266623965636363326136 other_plain_text: othervalue
Al momento la struttura è la seguente:
ansible/group_vars/testing/vars
ansible/group_vars/testing/vault
Quando una variabile crittografata viene spostata dal Vault nella directory VAR e ansible-vault decrypt ansible/group_vars/testing/vars
viene eseguita, restituisce:
ERROR! input is not vault encrypted data for ansible/group_vars/testing/vars
Questa variabile del vault può essere decifrata con il segreto del vault fornito e utilizzata come una normale variabile. La riga di comando ansible-vault supporta stdin e stdout per crittografare i dati al volo, che possono essere utilizzati dal tuo editor preferito per creare queste variabili nel vault; devi solo essere sicuro di aggiungere il tag! vault in modo che sia Ansible che YAML siano consapevoli della necessità di decifrare. Il | è inoltre necessario, poiché la crittografia del Vault genera una stringa multilinea.
Domande
- Le variabili che devono essere crittografate, devono essere crittografate una ad una utilizzando la riga di comando?
- Quali sono le migliori pratiche per ristrutturare la vecchia struttura Ansible? Ad esempio rimuovere i file del vault e inserire tutte le variabili crittografate nel file delle variabili?