พื้นหลัง
- เราใช้ Ansible เพื่อจัดเตรียมและจัดการโครงสร้างพื้นฐาน Azure ในขณะนี้เราเรียกใช้ Ansible "ด้วยตนเอง" นั่นคือเราเรียกใช้ playbooksสำหรับงานอัตโนมัติต่างๆ ไม่มีโครงสร้างพื้นฐาน CI
- อาจจะไม่ได้เกี่ยวข้อง
azure_rm.py
แต่เราจัดการสินค้าคงคลังของเราใช้สคริปต์แบบไดนามิก - เราได้รับการสนับสนุนให้มีความปลอดภัยมากที่สุดเช่น
- อย่าเก็บรหัสผ่านห้องนิรภัยใน
~/.vault_pass
หรือในไฟล์ภายในเครื่อง - อย่าเก็บความลับของ Azure
~/.azure/credentials
- อย่าเก็บสิ่งที่ปลอดภัย
.bashrc
ไว้
- อย่าเก็บรหัสผ่านห้องนิรภัยใน
ในสถานการณ์ดังกล่าวฉันมีปัญหาในการหากลยุทธ์ที่สอดคล้องกันเพื่อให้แน่ใจว่า playbooks ของฉันสามารถเข้าถึงความลับของ Azure ได้ในขณะที่ทำตามแนวทางข้างต้น
คำถาม
ฉันจะหลีกเลี่ยงการจัดเก็บข้อมูลประจำตัวของ Ansible Vault และ Azure บนไฟล์ได้อย่างไรในขณะที่ยังมั่นใจได้ว่า playbooks ของฉันสามารถเข้าถึงได้
สิ่งที่ฉันได้ลอง
จนถึงตอนนี้ฉันได้สร้างสคริปต์ตัวคลุมขึ้นมา
- ขอให้ผู้ใช้รหัสผ่าน Vault
- ใช้เพื่อถอดรหัส Vaulted Shell script
- ประเมินสคริปต์ซึ่งโหลดตัวแปรสภาพแวดล้อม Azure ลงในสภาพแวดล้อม
- เรียกใช้ playbook บนสภาพแวดล้อมที่ตั้งค่าไว้
มีโซลูชัน "Ansible" ที่ดีกว่า (หรูหรากว่าซับซ้อนกว่าหรือน้อยกว่า) ออกไปหรือไม่