Terkadang saya ingin menggunakan modul Ansible lineinfile
atau blockinfile
untuk menulis kata sandi ke beberapa file konfigurasi. Jika saya melakukannya, seluruh baris atau blokir, termasuk kata sandi, berakhir di blog saya syslog
.
Karena saya tidak menganggap syslog
sebagai tempat yang aman untuk menyimpan kata sandi saya, bagaimana saya dapat memberitahu Ansible untuk tidak membocorkan kata sandi saya syslog
? Saya harap ada cara untuk melakukan ini, kalau tidak saya akan menganggap ini sebagai masalah keamanan besar di Ansible.
Anda dapat mereproduksinya misalnya dengan perintah ad-hoc ini:
ansible localhost -m blockinfile -a 'dest=/tmp/ansible_password_leak create=yes block="Password = {{password}}"' -e 'password=secret'
Inilah yang akhirnya syslog
:
ansible-blockinfile: Invoked with directory_mode=None force=None remote_src=None insertafter=None owner=None follow=False marker=# {mark} ANSIBLE MANAGED BLOCK group=None insertbefore=None create=True setype=None content=None serole=None state=present dest=/tmp/ansible_password_leak selevel=None regexp=None validate=None src=None seuser=None delimiter=None mode=None backup=False block=Password = secret
Sebagai contoh saya menggunakan Ansible 2.0.0.2 dari PPA Ubuntu Ansible resmi pada sistem Debian "Jessie" 8.
syslog
tetapi itu menonaktifkan output logging di output konsol pada saat yang sama. Apakah ada cara untuk mengubahnya?password = XXX
.Saya mengembangkan sebuah plugin panggilan balik untuk menyembunyikan kata sandi untuk keluaran default, ini menguraikan kamus untuk kunci yang berisi kata sandi , untuk masing-masing kata sandi itu menggantikan nilai dengan ********.
Buat file bernama
protect_data.py
di folder ./plugins/callback tambahkan tambahkan kode ini:Dalam file ansible.cfg :
stdout_callback
dan tetapkan nilai nama plugin ini (stdout_callback=protect_data
)callback_plugins
dan set nilai./plugins/callback
sumber
ansible-playbook --diff
(perubahan file berbeda)?Orang mungkin menyarankan bahwa menggunakan Vault sebagai gantinya akan meniadakan masalah.
sumber