पृष्ठभूमि
- हम एज़्योर इन्फ्रास्ट्रक्चर को प्रबंधित करने और प्रबंधित करने के लिए Ansible का उपयोग करते हैं। फिलहाल हम Ansible "मैन्युअल रूप से" चलाते हैं अर्थात हम विभिन्न स्वचालित कार्यों के लिए मैन्युअल रूप से playbooks निष्पादित करते हैं। कोई CI इंफ्रास्ट्रक्चर नहीं।
- शायद प्रासंगिक नहीं है लेकिन हम गतिशील स्क्रिप्ट का उपयोग करके अपनी इन्वेंट्री का प्रबंधन करते हैं
azure_rm.py
। - हमें यथासंभव सुरक्षित रहने के लिए प्रोत्साहित किया जाता है
- तिजोरी के पासवर्ड
~/.vault_pass
या किसी भी स्थानीय फ़ाइल में संग्रहीत न करें - Azure रहस्यों को स्टोर न करें
~/.azure/credentials
- कुछ भी सुरक्षित न रखें
.bashrc
।
- तिजोरी के पासवर्ड
ऐसे में, मुझे यह सुनिश्चित करने में एक सुसंगत रणनीति के साथ आने में परेशानी हो रही है कि ऊपर दिए गए दिशानिर्देशों का पालन करते हुए मेरी प्लेबुक एज़्योर रहस्यों तक पहुंच सकती है।
सवाल
मैं फ़ाइलों पर Ansible वॉल्ट और एज़्योर क्रेडेंशियल्स को संग्रहीत करने से कैसे बच सकता हूं, जबकि अभी भी यह सुनिश्चित करना कि मेरी प्लेबुक उन्हें एक्सेस कर सकती है?
मैंने क्या कोशिश की है
अब तक मैं एक रैपर स्क्रिप्ट के साथ आया हूं जो कि
- उपयोगकर्ता से वॉल्ट पासवर्ड मांगता है
- एक वॉल्टेड शेल स्क्रिप्ट को डिक्रिप्ट करने के लिए उपयोग करता है
- स्क्रिप्ट का मूल्यांकन करता है, जो एज़्योर पर्यावरण चर को पर्यावरण में लोड करता है;
- पर्यावरण पर प्लेबुक चलाता है जो इस प्रकार सेट किया गया है।
किसी भी बेहतर (अधिक सुरुचिपूर्ण, कम जटिल, अधिक "Ansible") समाधान वहाँ?