यदि आप AWS पर हैं, तो AWS ब्लॉग पर Segment.io द्वारा "राइट राईट टू मैनेज सीक्रेट्स" देखें । हम रहस्यों को प्रबंधित करने के लिए अपने सभी ग्राहकों का उपयोग करने की वकालत करते हैं । यह KMS कुंजी के साथ AWS सिस्टम मैनेजर पैरामीटर स्टोर (SSM) का लाभ उठाकर काम करता है। यह सुनिश्चित करता है कि रहस्यों को आराम से (और पारगमन में) एन्क्रिप्ट किया गया है, IAM के साथ सुरक्षित है, CloudTrails के साथ श्रव्य है, और केवल रन-टाइम पर पर्यावरण चर के रूप में उजागर होता है।chamber
बाद चैम्बर को विन्यस्त और केएमएस कुंजी की स्थापना, हम पैरामीटर दुकान में रहस्य लिखें।
chamber write db TF_VAR_DB_USER foobar
chamber write db TF_VAR_DB_PASS secret
जब आप टेराफ़ॉर्म कहते हैं तो उन रहस्यों का उपयोग करें।
chamber exec db -- terraform plan
इसका मतलब यह है कि आप एक चर बुलाया परिभाषित किया है DB_USER
और DB_PASS
अपने एचसीएल कोड में।
उदाहरण के लिए, आप इसे जोड़ सकते हैं variables.tf
variable "DB_USER" { }
variable "DB_PASS" { }
नोट: chamber
हमेशा अपरकेस में पर्यावरण चर निर्यात करेगा
हम terraform-aws-kms-key
केएमएस कुंजी को आसान बनाने के लिए टेराफॉर्म मॉड्यूल कहते हैं । chamber
कई नामों के साथ उपयोग करने के तरीके के साथ-साथ रहस्यों को प्रबंधित करने के लिए टेराफॉर्म के साथ चैम्बर का उपयोग कैसे करें के उदाहरणों के साथ हमारे विस्तृत दस्तावेज देखें । चैम्बर निर्भरता के प्रावधान के लिए हमारा पूरा संदर्भ उदाहरण देखें ।
के रूप में .tfstate
, आप राज्य फ़ाइल में सादे-पाठ रहस्यों के अस्तित्व के बारे में एक बहुत अच्छा बिंदु लाते हैं। वास्तव में इसके आसपास कोई रास्ता नहीं है। एक योजना बनाने के लिए परिवर्तनों की गणना करने के लिए टेराफॉर्म के लिए, इसे "पहले" और "बाद में" स्थिति को जानना होगा। इस कारण से, हम अनिवार्य संस्करण के साथ एन्क्रिप्टेड S3 बाल्टी का उपयोग करने की सलाह देते हैं। terraform-aws-tfstate-backend
सबसे अच्छी प्रथाओं के अनुसार एक बाल्टी और डायनेमोडी लॉकिंग टेबल का प्रावधान करने के लिए मॉड्यूल का उपयोग करें ।