आईटी सेवाओं को конфигурация کی ضرورت ہوتی ہے। कॉन्फ़िगरेशन का एक हिस्सा रहस्य हैं जो आप नहीं चाहते कि उजागर हों। सामान्य उदाहरण हैं डेटाबेस प्रमाणपत्र या रैंडम मूल्य जो सत्र कुकीज़ या प्रमाणीकरण प्रमाणपत्रों की रक्षा करते हैं। यदि आप सॉफ़्टवेयर विकास कर रहे हैं, तो चीजें निर्माण पाइपलाइनों, वितरण प्रमाणपत्रों और एक्सेस कुंजियों के साथ खराब हो जाती हैं।
समझौते वाले रहस्य उपयोगकर्ता खाते के अधिग्रहण, डेटा चोरी, निर्माण श्रृंखला हमलों और अन्य महंगे समस्याओं का कारण बन सकते हैं। खराब प्रतिष्ठा, बौद्धिक संपदा की हानि और संभावित विशाल कानूनी शुल्क संभावित लागत का केवल एक हिस्सा हैं।
Psono अपने नवीनतम संस्करण psonoci के साथ सुरक्षित वातावरण प्रदान करता है। सुरक्षित वातावरण आपको प्रक्रियाओं को चलाने और उन्हें पर्यावरण चर के माध्यम से कॉन्फ़िगर करने की अनुमति देता है बिना उन्हें सिस्टम को उजागर किए। ये पर्यावरण चर Psono से सुरक्षित रूप से लोड होते हैं, सर्वर पर कहीं भी संग्रहीत नहीं होते हैं और केवल एकल प्रक्रिया के लिए उजागर होते हैं।
सबसे पहले आपको एक पर्यावरण चर रहस्य बनाना होगा। कृपया ध्यान दें कि एकल रहस्य में कई पर्यावरण चर हो सकते हैं ताकि आप पर्यावरण चर को समूहित कर सकें, जैसे कि किसी पर्यावरण द्वारा या सिर्फ इसलिए कि वे एक साथ होते हैं, जैसे कि डेटाबेस उपयोगकर्ता और डेटाबेस पासवर्ड।
इसके बाद आप एक एपीआई कुंजी बनाते हैं और इस एपीआई कुंजी को आपके नए पर्यावरण चर रहस्य तक पहुंचने की अनुमति देते हैं।
अब एपीआई कुंजी रहस्यों का ध्यान रखें, क्योंकि ये पैरामीटर सिस्टम को सीधे उजागर किए गए एकमात्र पैरामीटर होते हैं।
अपने सर्वर या निर्माण पाइपलाइन पर psono ci को एकल कमांड के साथ इंस्टॉल करें:
curl https://get.psono.com/psono/psono-ci/x86_64-linux/psonoci --output psonoci && chmod +x psonoci
और सिर्फ़ ./some_command
चलाने के बजाय, आप अपनी प्रक्रिया इस तरह शुरू करते हैं:
psonoci \
--api-key-id eaee77c6-169f-4873-9be3-f2613149baa9 \
--api-secret-key-hex c8321d7a8e5b1f5ec3d969ecb5054c7548a1c709ddab2edae2ff7ff028538917 \
--server-url https://example.com/server \
run -- ./some_command
सरलता के लिए हम पैरामीटर्स --api-key-id
या --api-secret-key-hex
के रूप में पास करते हैं, फिर भी आप इसके बजाय एक कॉन्फ़िगरेशन फ़ाइल कॉन्फ़िगर कर सकते हैं।
डेमो उद्देश्यों के लिए हमने यह छोटा पायथन स्क्रिप्ट service.py
बनाई है जो सभी पर्यावरण चर और तर्कों को प्रिंट करता है जो स्क्रिप्ट को पास किए गए थे।
#!/usr/bin/python3
import os
import sys
print("args: {}".format(sys.argv))
print("environment: {}".format(os.environ))
उदाहरण के तौर पर ./service.py --whatever=argument_1
चलाने के बजाय, हम इसे इस तरह चला सकते हैं:
psonoci \
--api-key-id eaee77c6-169f-4873-9be3-f2613149baa9 \
--api-secret-key-hex c8321d7a8e5b1f5ec3d969ecb5054c7548a1c709ddab2edae2ff7ff028538917 \
--server-url https://example.com/server \
run -- ./service.py --whatever=argument_1
हमें निम्न आउटपुट प्राप्त होता है:
args: ['service.py', '--whatever', 'argument_1']
environment: environ({'db_host': 'prd-db.example.com:5432', 'db_password': 'Df55sr2UQm7Wshv7', 'db_username': 'production'})
जैसा कि हम देख सकते हैं सभी तर्क ठीक से पास किए गए थे और सभी पर्यावरण चर जो हमने पहले कॉन्फ़िगर किए थे वे प्रक्रिया के लिए उपलब्ध थे। वहां झंडे हैं जो आपको सामान्य सिस्टम पर्यावरण चर भी पास करने की अनुमति देते हैं और उन्हें Psono से वाले के साथ विस्तारित करते हैं। अधिक विस्तृत जानकारी हमारे psonoci दस्तावेज़ीकरण में पाई जा सकती है।
मुझे उम्मीद है कि आपको हमारा छोटा भ्रमण अच्छा लगा होगा जो दर्शाता है कि Psono आपकी अवसंरचना की रक्षा कैसे कर सकता है। यह सब बिना Bernd के संभव नहीं होता, इस सुविधा के पीछे मास्टरमाइंड, तो बहुत धन्यवाद Bernd!