Ansible का कॉन्फ़िगरेशन `--vault-password-file` के बराबर क्या है?


12

Ansible-playbook की मदद से --user=REMOTE_USERssh उपयोगकर्ता को परिभाषित करने के लिए उपयोग किया जा सकता है , लेकिन कोई भी ansible_ssh_user: REMOTE_USERhost- या group_vars में भी परिभाषित कर सकता है ।

सवाल

--vault-password-fileरनिंग करते समय परिभाषित किए जाने वाले को रोकने के लिए समूह- या host_vars निर्देशिका में से किस चर को परिभाषित करने की आवश्यकता है ansible-playbook?

प्रयास

  • जब ansible_vault_password_file: ~/.vault_pass.txtconfig में परिभाषित किया गया है डिक्रिप्शन विफल रहता है:

    ERROR! Decryption failed on /path/to/vault
    
  • इस दस्तावेज़ में कोई संबद्ध वॉल्ट चर नहीं पाया गया


Btw यह अब प्रलेखित है (संस्करण 1.7 से) यहाँ: docs.ansible.com/ansible/…
Tensibai

जवाबों:


13

यहाँ परिभाषा है:

DEFAULT_VAULT_PASSWORD_FILE = get_config(p, DEFAULTS, 'vault_password_file', \
'ANSIBLE_VAULT_PASSWORD_FILE', None, value_type='path')

इसका मतलब है कि आप या तो ansible.cfg या playbook में डाल सकते हैं:

vault_password_file: ~/.vault_pass.txt

या आपके शेल में इस चर को परिभाषित किया गया है:

export ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txt

मैंने उर के पाठ को जानबूझकर वहाँ छोड़ दिया है ताकि लोगों को यह दिखा सकूँ कि कैसे कोड को देखने से मदद मिल सकती है जहाँ दस्तावेज़ीकरण की कमी है और जहाँ कोड आसानी से पाया जा सकता है। लेकिन मुझे लगता है कि एक हाइपरलिंक पर्याप्त होना चाहिए।
जिरी क्लौडा

यदि कुछ और विफल रहता है, तो दस्तावेज़ पढ़ें ... और यदि कोई दस्तावेज़ नहीं है, तो स्रोत पढ़ें ... यदि आपके पास इसका उपयोग है ... और यदि आप करते हैं, तो सुनिश्चित करें कि आप सही संस्करण देख रहे हैं .. केवल एक चीज बची है, जो यह सब समझने में सक्षम है। पुनश्च: लिंक ... कुछ दिन काम करना बंद कर सकते हैं
Pierre.Vriens

@JiriKlouda यह काम नहीं करता है, हालांकि इसमें परिभाषित किया गया है group_vars/all/varsexport ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txtचलाना पड़ा।
030

यह एक विन्यास चर है। इसे ansible.cfg या समकक्ष या playbook में होना चाहिए।
जिरी क्लौडा

इसके अलावा, मैंने आपके द्वारा चलाए गए 2.2 संस्करण की विशेष रूप से जाँच की है और यह वहाँ है: github.com/ansible/ansible/blob/stable-2.2/lib/ansible/…
Jiri Klouda

2

आप ANSIBLE_VAULT_PASSWORD_FILEवॉल्ट पासवर्ड फ़ाइल पथ को संग्रहीत करने वाला एक पर्यावरण चर सेट कर सकते हैं। इस तरह आपके पास --vault-password-fileप्लेबुक चलाते समय हमेशा स्विच का उपयोग नहीं होगा ।

यह यहाँ उपलब्ध Ansible के वॉल्ट प्रलेखन में वर्णित है

इसलिए, export ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txtअपने ~/.bash_profileस्रोत से इसे जोड़ें , और आप जाने के लिए तैयार हैं।

यदि आपको मेजबान के विभिन्न समूहों के लिए अलग-अलग वॉल्ट पासवर्ड की आवश्यकता है, तो आपको निम्न कार्य करना चाहिए:

इस उपनिर्देशिका के अंदर, var और वॉल्ट नाम की दो फाइलें बनाएं। Vars फ़ाइल के अंदर, किसी भी संवेदनशील सहित सभी आवश्यक चर को परिभाषित करें। इसके बाद, सभी संवेदनशील वैरिएबल को वॉल्ट फाइल पर कॉपी करें और इन वेरिएबल्स को वॉल्ट_ के साथ उपसर्ग करें। आपको मिलान तिजोरी / चर की ओर इशारा करने के लिए चर फ़ाइल में चर को समायोजित करना चाहिए और यह सुनिश्चित करना चाहिए कि तिजोरी फ़ाइल को गुप्त रूप से एन्क्रिप्ट किया गया है।

यह प्रति समूह के आधार पर संवेदनशील जानकारी के प्रबंधन के लिए सर्वोत्तम प्रथाओं के दृष्टिकोण का एक उदाहरण है। अधिक जानकारी Ansible के दस्तावेज़ में उपलब्ध है (उपरोक्त पाठ वहाँ से कॉपी किया गया है)।


1
यह प्रति
होस्टर्स में

क्या आप कनेक्शन पासवर्ड की बात कर रहे हैं? क्योंकि अगर आप ऐसा करते हैं, तो इसका क्या मतलब है कि यह अंसिबल वॉल्ट है?
13dimitar

मैं तिजोरी के पासवर्ड का जिक्र कर रहा था, अलग-अलग समूहों के लिए अलग-अलग तिजोरी रखने के लिए तैयार होने से समझ में आता है (और जहां तक ​​मैं इसे समझता हूं) सवाल की जड़ है।
तेंसिबाई

मैं इसे इस तरह से समझ नहीं पाया। मैंने अपना उत्तर उस परिदृश्य को शामिल करने के लिए संपादित किया है।
13dimitar

बेहतर लगता है। Btw downvote मेरा नहीं है
Tensibai
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.