Latar Belakang
- Kami menggunakan Ansible untuk menyediakan dan mengelola infrastruktur Azure. Saat ini kami menjalankan Ansible "secara manual" yaitu kami secara manual menjalankan playbook untuk berbagai tugas otomatis. Tidak ada infrastruktur CI.
- Mungkin tidak relevan tetapi kami mengelola inventaris kami menggunakan skrip dinamis
azure_rm.py
. - Kami didorong untuk seaman mungkin yaitu
- Jangan menyimpan kata sandi Vault di
~/.vault_pass
atau dalam file lokal apa pun - Jangan menyimpan rahasia Azure di
~/.azure/credentials
- Jangan menyimpan sesuatu yang aman
.bashrc
.
- Jangan menyimpan kata sandi Vault di
Dalam skenario seperti itu, saya mengalami masalah dengan strategi yang koheren untuk memastikan bahwa buku pedoman saya dapat mengakses rahasia Azure, sambil mengikuti pedoman di atas.
Pertanyaan
Bagaimana saya bisa menghindari menyimpan kredensial Vault dan Azure pada file, sambil tetap memastikan playbook saya dapat mengaksesnya?
Apa yang saya coba
Sejauh ini saya telah memunculkan skrip wrapper itu
- meminta pengguna untuk kata sandi Vault
- Menggunakannya untuk mendekripsi skrip Vaulted Shell
- Mengevaluasi skrip, yang memuat variabel lingkungan Azure ke lingkungan;
- Jalankan playbook pada lingkungan yang telah ditetapkan.
Adakah solusi yang lebih baik (lebih elegan, lebih rumit, lebih "Ansible") di luar sana?