एक वीपीएन के पीछे GitLab स्व-प्रबंधित के लिए इंजीनियरिंग विश्लेषण
जब होस्ट किया गया एप्लिकेशन ग्राहक नेटवर्क तक नहीं पहुंच पाता है तो निजी GitLab डिलीवरी डेटा का विश्लेषण करने के लिए एक सुरक्षित पैटर्न।
नेटवर्क बाधा को समझें
एक होस्ट किया गया SaaS बैकएंड आमतौर पर GitLab इंस्टेंस को कॉल नहीं कर सकता है जो केवल कंपनी वीपीएन या निजी नेटवर्क पर उपलब्ध है। प्रत्येक ग्राहक मूल को परिनियोजन कॉन्फ़िगरेशन में जोड़ने से स्केल नहीं होता है, और ग्राहक को GitLab को सार्वजनिक रूप से उजागर करने के लिए कहने से सुरक्षा सीमा कमजोर हो जाती है। हालाँकि, वीपीएन से कनेक्ट होने पर उपयोगकर्ता के ब्राउज़र में पहले से ही अधिकृत नेटवर्क एक्सेस हो सकता है। यह मैन्युअल, ब्राउज़र-डायरेक्ट सिंक के लिए एक व्यावहारिक मार्ग बनाता है, बशर्ते उत्पाद ब्राउज़र को एक अविश्वसनीय सीमा के रूप में मानता है और जो इसे छोड़ता है उसे कम करता है।
ब्राउज़र को सीधे GitLab को कॉल करने दें
ब्राउज़र-डायरेक्ट मोड में, उपयोगकर्ता GitLab मूल, समूह स्कोप और पृष्ठ में केवल पढ़ने योग्य टोकन में प्रवेश करता है। ब्राउज़र में चल रहा जावास्क्रिप्ट मौजूदा वीपीएन कनेक्शन के माध्यम से GitLab API को कॉल करता है। यह केवल उत्पाद के लिए आवश्यक डिलीवरी मेटाडेटा को सामान्य करता है और उस सामान्यीकृत पेलोड को होस्ट किए गए एप्लिकेशन पर भेजता है। टोकन को कभी भी उस पेलोड, एप्लिकेशन लॉग, त्रुटि निगरानी या विश्लेषण में शामिल नहीं किया जाना चाहिए। वैकल्पिक सुविधा भंडारण टैब-स्कोप्ड सत्र भंडारण होना चाहिए, न कि लगातार स्थानीय भंडारण, और टैब बंद करने से क्रेडेंशियल हट जाना चाहिए।
सबसे संकीर्ण व्यावहारिक अनुमतियों का उपयोग करें
केवल-पढ़ने के लिए एपीआई एक्सेस के लिए एक टोकन बनाएं और उन समूहों या परियोजनाओं के लिए सिंक का दायरा बनाएं जिनके विश्लेषण के लिए कार्यक्षेत्र अधिकृत है। GitLab मूल को HTTPS के रूप में मान्य करें, URL में एम्बेडेड क्रेडेंशियल्स को अस्वीकार करें, और जहां संभव हो मनमाने ढंग से आंतरिक होस्ट पर कॉल को रोकें। होस्ट किए गए अंतर्ग्रहण मार्ग को स्वतंत्र रूप से साइन-इन कार्यक्षेत्र प्रबंधक, स्वीकृत प्रदाता प्रकार, पेलोड स्कीमा, अधिकतम आकार, रिपॉजिटरी स्कोप और दर सीमा को सत्यापित करना चाहिए। ब्राउज़र-हेल्ड टोकन सर्वर-साइड गुप्त एक्सपोज़र को कम करता है, लेकिन यह ब्राउज़र द्वारा सबमिट की गई हर चीज़ को मान्य करने की आवश्यकता को दूर नहीं करता है।
बंधे हुए पृष्ठों के आसपास सिंक को अनुकूलित करें
सबसे बड़े समर्थित पेज आकार के साथ प्रोजेक्ट और हालिया मर्ज अनुरोध प्राप्त करें, GitLab पेजिनेशन हेडर का सम्मान करें, और इतिहास को एक स्पष्ट समय विंडो या रिकॉर्ड सीमा से बांधें। जब तक किसी मीट्रिक को वास्तव में विस्तृत घटनाओं की आवश्यकता न हो, प्रति मर्ज अनुरोध एक अनुरोध से बचें। महंगी समीक्षा, प्रतिभागी, या पुनरावृत्ति डेटा को एक रूढ़िवादी सीमा के साथ समवर्ती रूप से लोड करें और पूर्ण कार्य द्वारा प्रगति दिखाएं, न कि एक मनमाना स्पिनर। एप्लिकेशन में कैश सामान्यीकृत परिणाम देता है ताकि रिपोर्ट वीपीएन फ़ेच को दोहराए नहीं। टैब बंद होने के बाद मैन्युअल ब्राउज़र-डायरेक्ट मोड विश्वसनीय बैकग्राउंड सिंक या वेबहुक प्रदान नहीं कर सकता है, इसलिए ताजगी को ईमानदारी से लेबल करें।
सुरक्षा वादे को सत्यापित करें
पायलट के दौरान, ब्राउज़र नेटवर्क पैनल का निरीक्षण करें और पुष्टि करें कि टोकन केवल ग्राहक के GitLab मूल पर भेजा गया है। जांचें कि एप्लिकेशन अनुरोधों में कच्चे रहस्य या स्रोत कोड के बजाय सामान्यीकृत मेटाडेटा शामिल है। टैब बंद करें और सत्यापित करें कि टोकन चला गया है। अमान्य मूल, समाप्त टोकन, कार्यस्थान अनुमतियों के बिना उपयोगकर्ता, बड़े आकार की प्रतिक्रिया और आंशिक सिंक का परीक्षण करें। अंत में, GitLab के साथ ही परियोजनाओं, मर्ज अनुरोधों, समीक्षकों, लेबलों, मील के पत्थर और पुनरावृत्तियों के नमूने की तुलना करें। एक सुरक्षित आर्किटेक्चर तभी उपयोगी होता है जब उपयोगकर्ता परिणामी साक्ष्य पर भी भरोसा कर सकें।
अपनी डिलीवरी प्रणाली को स्पष्ट रूप से देखें.
उत्पादन-जैसे ट्रूडो कार्यक्षेत्र का अन्वेषण करें और देखें कि कैसे वितरण साक्ष्य एक केंद्रित प्रबंधन संक्षिप्त बन जाता है।
लाइव डेमो देखें