
Boundary enables identity-based access management for dynamic infrastructure.
Boundary एक आइडेंटिटी-अवेयर प्रॉक्सी है जो आपके नेटवर्क पर होस्ट और महत्वपूर्ण सिस्टम तक पहुँचने का एक सरल और सुरक्षित तरीका प्रदान करती है।
Boundary के साथ आप यह कर सकते हैं:
Boundary को समझने में सरल, अत्यधिक स्केलेबल और लचीला बनाया गया है। यह क्लाउड, ऑन-प्रिम, सुरक्षित एन्क्लेव और अन्य वातावरणों में चल सकता है, और इसके लिए प्रत्येक अंतिम होस्ट पर एजेंट स्थापित करने की आवश्यकता नहीं होती है, जिससे यह पारंपरिक होस्ट सिस्टम और सेवाओं के अलावा प्रबंधित/क्लाउड सेवाओं और कंटेनर-आधारित वर्कफ़्लो तक पहुँच के लिए भी उपयुक्त है।
अधिक जानकारी के लिए, Boundary वेबसाइट पर "Boundary क्या है?" देखें।
Boundary में दो सर्वर घटक होते हैं:
एक वास्तविक दुनिया की Boundary स्थापना में संभवतः एक या अधिक controllers होंगे जो एक या अधिक workers के साथ जोड़े जाते हैं। एक ही Boundary बाइनरी इन दोनों में से किसी एक या दोनों मोड में कार्य कर सकती है।
इसके अतिरिक्त, Boundary अंतिम उपयोगकर्ताओं के लिए एक डेस्कटॉप क्लाइंट और CLI प्रदान करता है ताकि वे नेटवर्क पर संसाधनों तक अधिकृत सत्रों का अनुरोध कर सकें और उन्हें स्थापित कर सकें।
Boundary को आपके होस्ट और सेवाओं पर सॉफ़्टवेयर स्थापित करने की आवश्यकता नहीं होती है।
Boundary की दो बाहरी निर्भरताएँ हैं:
डेटाबेस में Boundary का कॉन्फ़िगरेशन और सत्र जानकारी संग्रहीत होती है। Controller नोड्स को डेटाबेस तक पहुँचने में सक्षम होना चाहिए।
जो मान गुप्त हैं (जैसे क्रेडेंशियल) उन्हें डेटाबेस में एन्क्रिप्ट किया जाता है। वर्तमान में, PostgreSQL को डेटाबेस के रूप में समर्थित किया जाता है और इसका परीक्षण Postgres 12 और उससे ऊपर के संस्करणों के साथ किया गया है।
Boundary केवल सामान्य एक्सटेंशन का उपयोग करता है, और होस्टेड तथा स्व-प्रबंधित दोनों प्रकार के इंस्टेंस समर्थित हैं। अधिकांश मामलों में, आपको केवल एक डेटाबेस एंडपॉइंट और उपयुक्त क्रेडेंशियल की आवश्यकता होती है।
Boundary विभिन्न उद्देश्यों के लिए KMS कुंजियों का उपयोग करता है, जैसे गोपनीय जानकारी की सुरक्षा, workers को प्रमाणित करना, डेटा पुनर्प्राप्त करना, Boundary के कॉन्फ़िगरेशन में मानों को एन्क्रिप्ट करना, और बहुत कुछ। Boundary इन उच्च-मूल्य वाली कुंजियों के प्रसार (key sprawl) से बचने के लिए कुंजी व्युत्पत्ति (key derivation) का व्यापक रूप से उपयोग करता है।
आप KMS आवश्यकता को पूरा करने के लिए किसी भी क्लाउड KMS या Vault के Transit Secrets Engine का उपयोग कर सकते हैं।
Boundary को अधिक स्थायी संदर्भ में चलाने के लिए कुछ और कदमों की आवश्यकता होती है, जैसे कि नोड्स को यह बताने के लिए कुछ सरल कॉन्फ़िगरेशन फ़ाइलें लिखना कि वे अपने डेटाबेस और KMS तक कैसे पहुँचें। नीचे दिए गए कदम, स्थायी स्थापनाओं के लिए आवश्यक अतिरिक्त जानकारी के साथ, हमारे स्थापना गाइड में विस्तृत हैं।
⚠️ Dev या परीक्षण मामलों को छोड़कर
mainब्रांच का उपयोग न करें। Boundary 0.10 ने रिलीज़ ब्रांच पेश की हैं जिन्हें ट्रैक करना सुरक्षित होना चाहिए, हालाँकि, यदि आवश्यक हो तोmainमें माइग्रेशन को पुनः क्रमांकित किया जा सकता है। लंबे समय तकmainचलाने से माइग्रेशन टूटने या अन्य बग होने पर Boundary टीम सहायता प्रदान करने में सक्षम नहीं होगी।
हमारे डाउनलोड पेज से सर्वर बाइनरी और उपयुक्त डेस्कटॉप क्लाइंट का नवीनतम रिलीज़ डाउनलोड करें
Boundary में एक dev मोड है जिसका उपयोग आप परीक्षण के लिए कर सकते हैं। dev मोड में, आप एक ही कमांड से
controller और worker दोनों शुरू कर सकते हैं, और उनमें
निम्नलिखित गुण होते हैं:
यदि आप निम्नलिखित स्थानीय आवश्यकताओं को पूरा करते हैं, तो आप Boundary के साथ जल्दी से काम शुरू कर सकते हैं:
बस यह चलाएँ:
make install
यह Boundary को बिल्ड करेगा। (पहली बार चलाने पर यह UI एसेट्स को प्राप्त करके
संकलित करेगा; जिसमें कुछ अतिरिक्त मिनट लगेंगे।) पूरा होने पर, Boundary को
dev मोड में चलाएँ:
$GOPATH/bin/boundary dev
कृपया ध्यान दें कि विकास के लिए अन्य टूल्स की आवश्यकता हो सकती है; Boundary टीम द्वारा उपयोग किए जाने वाले संस्करणों पर टूल्स का सेट स्थापित करने के लिए, यह चलाएँ:
make tools
ऐसा किए बिना, आपको make install चलाते समय त्रुटियों का सामना करना पड़ सकता है। यह भी ध्यान रखना महत्वपूर्ण
है कि make tools का उपयोग करने से Boundary विकास के लिए उपयोग किए जाने वाले विभिन्न टूल्स
सामान्य Go बाइनरी निर्देशिका में स्थापित हो जाएंगे; यह सिस्टम पर पहले से स्थापित टूल्स को ओवरराइट कर सकता है
या उन पर प्राथमिकता ले सकता है।
सर्वर बाइनरी को इसके साथ शुरू करें:
boundary dev
यह आने वाले API अनुरोधों के लिए http://127.0.0.1:9200 पर सुनने वाली एक Controller सेवा और
आने वाले सत्र अनुरोधों के लिए http://127.0.0.1:9202 पर सुनने वाली एक Worker सेवा
शुरू करेगा। यह विभिन्न डिफ़ॉल्ट संसाधन भी बनाएगा और विभिन्न उपयोगी जानकारियाँ प्रदर्शित
करेगा, जैसे कि एक लॉगिन नाम और पासवर्ड जिसका उपयोग प्रमाणीकरण के लिए किया जा सकता है।
dev मोड में Boundary के एक सरल परीक्षण के लिए आपको आमतौर पर
किसी भी संसाधन को कॉन्फ़िगर करने की आवश्यकता नहीं होती है! लेकिन यह समझना उपयोगी है कि dev मोड
ने आपके लिए क्या किया ताकि आप आगे के कदम उठा सकें। डिफ़ॉल्ट रूप से, dev मोड
निम्नलिखित बनाएगा:
global Scope, जिसमें एक पासवर्ड-प्रकार की
Auth Method और लॉगिन के लिए एक Account शामिल होगा।global के अंतर्गत एक संगठन Scope, और संगठन के अंदर एक
प्रोजेक्ट Scope।127.0.0.1) वाला एक Host शामिल होगा।22 (जैसे SSH) होगा।आप इन डिफ़ॉल्ट मानों को बदलने के लिए Boundary के वेब UI में जा सकते हैं या इसके API का उपयोग कर सकते हैं, उदाहरण के लिए यदि आप किसी भिन्न होस्ट से कनेक्ट करना चाहते हैं या कनेक्ट करने के लिए पोर्ट को संशोधित करने की आवश्यकता है।
अगला, आइए वास्तव में Boundary के माध्यम से आपके स्थानीय SSH डेमन से एक कनेक्शन बनाएँ:
dev मानों का उपयोग करते हुए, यह boundary authenticate password -auth-method-id ampw_1234567890 -login-name admin -password password होगा। (ध्यान दें कि यदि आप password फ्लैग शामिल नहीं करते
हैं, तो आपसे इसके लिए पूछा जाएगा।)boundary connect ssh -target-id ttcp_1234567890 चलाएँ। यदि आप उपयोगकर्ता नाम समायोजित
करना चाहते हैं, तो कमांड में -username <name> पास करें।प्रति सत्र कनेक्शन की संख्या सीमित करने (या बढ़ाने) या अधिकतम समय सीमा निर्धारित करने के लिए target
कॉन्फ़िगरेशन की संभावनाओं को देखें; सत्र पृष्ठ से या boundary sessions के माध्यम से किसी
सक्रिय सत्र को रद्द करने का प्रयास करें, boundary connect -exec के साथ अपने स्वयं के
कमांड बनाएँ, इत्यादि।
यह उदाहरण शुरू करने का एक सरल तरीका है, लेकिन इसमें कई प्रमुख कदम शामिल नहीं हैं जो उत्पादन संदर्भ में उठाए जा सकते हैं:
कृपया ध्यान दें: हम Boundary की सुरक्षा और अपने उपयोगकर्ताओं के विश्वास को बहुत गंभीरता से लेते हैं। यदि आपको लगता है कि आपको Boundary में कोई सुरक्षा समस्या मिली है, तो कृपया हमसे [email protected] पर संपर्क करके जिम्मेदारी से खुलासा करें।
योगदान में रुचि दिखाने के लिए धन्यवाद! कृपया मार्गदर्शन के लिए CONTRIBUTING.md देखें।