
vault v2.0.4
गुप्त प्रबंधन, एन्क्रिप्शन एक सेवा के रूप में, और विशेषाधिकार प्राप्त पहुँच प्रबंधन के लिए एक उपकरण
Vault

कृपया ध्यान दें: हम Vault की सुरक्षा और अपने उपयोगकर्ताओं के विश्वास को बहुत गंभीरता से लेते हैं। यदि आपको लगता है कि आपको Vault में कोई सुरक्षा समस्या मिली है, तो कृपया [email protected] पर हमसे संपर्क करके जिम्मेदारी से खुलासा करें.
- वेबसाइट: developer.hashicorp.com/vault
- घोषणा सूची: Google Groups
- चर्चा मंच: Discuss
- दस्तावेज़ीकरण: https://developer.hashicorp.com/vault/docs
- ट्यूटोरियल: https://developer.hashicorp.com/vault/tutorials
- प्रमाणन परीक्षा: https://developer.hashicorp.com/certifications/security-automation
- दस्तावेज़ीकरण स्रोत: https://github.com/hashicorp/web-unified-docs
Vault गुप्त जानकारी (secrets) को सुरक्षित रूप से एक्सेस करने का एक उपकरण है। गुप्त जानकारी वह कुछ भी है जिस तक आप पहुंच को कड़ाई से नियंत्रित करना चाहते हैं, जैसे कि API कुंजियाँ, पासवर्ड, प्रमाणपत्र और बहुत कुछ। Vault किसी भी गुप्त जानकारी के लिए एक एकीकृत इंटरफ़ेस प्रदान करता है, साथ ही कड़ा पहुंच नियंत्रण और विस्तृत ऑडिट लॉग रिकॉर्ड करता है।
एक आधुनिक सिस्टम को असंख्य गुप्त जानकारियों तक पहुंच की आवश्यकता होती है: डेटाबेस क्रेडेंशियल, बाहरी सेवाओं के लिए API कुंजियाँ, सेवा-उन्मुख आर्किटेक्चर संचार के लिए क्रेडेंशियल, आदि। यह समझना कि कौन किस गुप्त जानकारी तक पहुँच रहा है, पहले से ही बहुत कठिन और प्लेटफ़ॉर्म-विशिष्ट है। कुंजी रोलिंग, सुरक्षित भंडारण और विस्तृत ऑडिट लॉग जोड़ना एक कस्टम समाधान के बिना लगभग असंभव है। यहीं पर Vault कदम रखता है।
Vault की प्रमुख विशेषताएं हैं:
-
सुरक्षित गुप्त भंडारण: Vault मनमाने key/value जोड़े संग्रहीत कर सकता है। Vault डेटा को स्थायी भंडारण में लिखने से पहले एन्क्रिप्ट करता है, इसलिए कच्चे भंडारण तक पहुंच प्राप्त करना आपके रहस्यों तक पहुंचने के लिए पर्याप्त नहीं है। Vault डिस्क, Consul और अधिक पर लिख सकता है।
-
गतिशील गुप्त जानकारियाँ: Vault कुछ सिस्टमों के लिए ऑन-डिमांड गुप्त जानकारी उत्पन्न कर सकता है, जैसे कि AWS या SQL डेटाबेस। उदाहरण के लिए, जब किसी एप्लिकेशन को S3 बकेट तक पहुँचने की आवश्यकता होती है, तो वह Vault से क्रेडेंशियल माँगता है, और Vault ऑन-डिमांड एक AWS कीपेयर उत्पन्न करेगा जिसमें वैध अनुमतियाँ हों। ये गतिशील गुप्त जानकारियाँ बनाने के बाद, Vault लीज़ समाप्त होने पर स्वचालित रूप से उन्हें रद्द भी कर देगा।
-
डेटा एन्क्रिप्शन: Vault डेटा को संग्रहीत किए बिना एन्क्रिप्ट और डिक्रिप्ट कर सकता है। यह सुरक्षा टीमों को एन्क्रिप्शन पैरामीटर परिभाषित करने और डेवलपर्स को अपनी स्वयं की एन्क्रिप्शन विधियाँ डिज़ाइन किए बिना SQL डेटाबेस जैसे स्थान पर एन्क्रिप्टेड डेटा संग्रहीत करने की अनुमति देता है।
-
लीज़ और नवीनीकरण: Vault प्रत्येक गुप्त जानकारी के साथ एक लीज़ जोड़ता है। लीज़ के अंत में, Vault स्वचालित रूप से गुप्त जानकारी को रद्द कर देता है। क्लाइंट बिल्ट-इन रिन्यू APIs के माध्यम से लीज़ का नवीनीकरण करने में सक्षम हैं।
-
रद्दीकरण: Vault में गुप्त जानकारी रद्द करने के लिए अंतर्निहित समर्थन है। Vault न केवल एकल गुप्त जानकारी, बल्कि गुप्त जानकारियों का एक पेड़ रद्द कर सकता है, उदाहरण के लिए, किसी विशिष्ट उपयोगकर्ता द्वारा पढ़ी गई सभी गुप्त जानकारियाँ, या किसी विशेष प्रकार की सभी गुप्त जानकारियाँ। रद्दीकरण कुंजी रोलिंग के साथ-साथ घुसपैठ की स्थिति में सिस्टम को लॉक डाउन करने में सहायता करता है।
दस्तावेज़ीकरण, प्रारंभ करना और प्रमाणन परीक्षाएँ
दस्तावेज़ीकरण Vault वेबसाइट पर उपलब्ध है।
यदि आप Vault में नए हैं और सुरक्षा ऑटोमेशन से शुरुआत करना चाहते हैं, तो कृपया HashiCorp के लर्निंग प्लेटफ़ॉर्म पर हमारे प्रारंभ करने की मार्गदर्शिकाएँ देखें। आपकी सीखने की यात्रा को जारी रखने के लिए अतिरिक्त मार्गदर्शिकाएँ भी हैं।
अपने एप्लिकेशन के अंदर से विभिन्न प्रोग्रामिंग भाषाओं में Vault के साथ बातचीत करने के उदाहरणों के लिए, vault-examples रिपॉजिटरी देखें। एक आउट-ऑफ़-द-बॉक्स नमूना एप्लिकेशन भी उपलब्ध है।
प्रमाणन परीक्षा उत्तीर्ण करके अपने Vault ज्ञान का प्रदर्शन करें। परीक्षाओं के बारे में जानकारी के लिए प्रमाणन पृष्ठ पर जाएँ और HashiCorp के लर्निंग प्लेटफ़ॉर्म पर अध्ययन सामग्री खोजें।
Vault विकसित करना
यदि आप Vault या इसके किसी भी अंतर्निहित सिस्टम पर काम करना चाहते हैं, तो आपको पहले अपनी मशीन पर Go स्थापित करना होगा।
स्थानीय डेव के लिए पहले सुनिश्चित करें कि Go सही ढंग से स्थापित है, जिसमें GOPATH सेट अप करना शामिल है, फिर GOBIN वेरिएबल को $GOPATH/bin पर सेट करें। सुनिश्चित करें कि $GOPATH/bin आपके पथ में है क्योंकि कुछ वितरण बिल्ड टूल्स के पुराने संस्करण को बंडल करते हैं।
इसके बाद, इस रिपॉजिटरी को क्लोन करें। Vault Go Modules का उपयोग करता है, इसलिए यह अनुशंसा की जाती है कि आप रिपॉजिटरी को GOPATH के बाहर क्लोन करें। फिर आप अपने वातावरण को बूटस्ट्रैप करके किसी भी आवश्यक बिल्ड टूल को डाउनलोड कर सकते हैं:
$ make bootstrap
...
Vault का एक डेवलपमेंट संस्करण संकलित करने के लिए, make या make dev चलाएँ। यह Vault बाइनरी को bin और $GOPATH/bin फ़ोल्डरों में रखेगा:
$ make dev
...
$ bin/vault
...
UI के साथ Vault का डेवलपमेंट संस्करण संकलित करने के लिए, make static-dist dev-ui चलाएँ। यह Vault बाइनरी को bin और $GOPATH/bin फ़ोल्डरों में रखेगा:
$ make static-dist dev-ui
...
$ bin/vault
...
परीक्षण चलाने के लिए, make test टाइप करें। ध्यान दें: इसके लिए Docker स्थापित होना आवश्यक है। यदि यह एग्ज़िट स्थिति 0 के साथ बाहर निकलता है, तो सब कुछ काम कर रहा है!
$ make test
...
यदि आप किसी विशिष्ट पैकेज का विकास कर रहे हैं, तो आप TEST वेरिएबल निर्दिष्ट करके केवल उस पैकेज के परीक्षण चला सकते हैं। उदाहरण के लिए नीचे, केवल vault पैकेज के परीक्षण चलाए जाएँगे।
$ make test TEST=./vault
...
समस्या निवारण
यदि आपको could not read Username for 'https://github.com' जैसी कोई त्रुटि मिलती है, तो आपको अपने git कॉन्फ़िगरेशन को इस प्रकार समायोजित करने की आवश्यकता हो सकती है:
$ git config --global --add url."[email protected]:".insteadOf "https://github.com/"
Vault आयात करना
यह रिपॉजिटरी दो लाइब्रेरी प्रकाशित करता है जिन्हें अन्य प्रोजेक्ट द्वारा आयात किया जा सकता है: github.com/hashicorp/vault/api और github.com/hashicorp/vault/sdk।