GCP - Artifact Registry Persistence
Artifact Registry
आर्टिफैक्ट रजिस्ट्री के बारे में अधिक जानकारी के लिए देखें:
GCP - Artifact Registry EnumDependency Confusion
अगर एक रिमोट और एक मानक रिपॉजिटरी एक वर्चुअल में मिलाए गए हैं और एक पैकेज दोनों में मौजूद है?
वर्चुअल रिपॉजिटरी में सेट की गई सर्वोच्च प्राथमिकता वाला पैकेज उपयोग में लाया जाता है।
अगर प्राथमिकता समान है:
अगर संस्करण समान है, तो वर्चुअल रिपॉजिटरी में वर्चुअल रिपॉजिटरी में अक्षरों के क्रम में पहला नाम उपयोग में लाया जाता है।
अगर नहीं, तो सर्वोच्च संस्करण का उपयोग किया जाता है।
इसलिए, यदि रिमोट रिपॉजिटरी में एक उच्चतम संस्करण (डिपेंडेंसी कन्फ्यूजन) है तो सार्वजनिक पैकेज रजिस्ट्री में इसका दुरुपयोग किया जा सकता है अगर रिमोट रिपॉजिटरी में उच्चतम या समान प्राथमिकता है।
यह तकनीक स्थिरता और अनधिकृत पहुंच के लिए उपयोगी हो सकती है क्योंकि इसे दुरुपयोग करने के लिए यह आवश्यक है कि आर्टिफैक्ट रजिस्ट्री में संग्रहित एक पुस्तकालय का नाम पता हो और **उसी पुस्तकालय को सार्वजनिक रिपॉजिटरी में (उदाहरण के लिए पायथन के लिए PyPi) उच्च संस्करण के साथ बनाने की आवश्यकता है।
स्थिरता के लिए निम्नलिखित चरणों का पालन करना होगा:
आवश्यकताएं: एक वर्चुअल रिपॉजिटरी मौजूद होना चाहिए और उसका उपयोग होना चाहिए, एक आंतरिक पैकेज का उपयोग करना चाहिए जिसका नाम सार्वजनिक रिपॉजिटरी में मौजूद नहीं है।
रिमोट रिपॉजिटरी बनाएं अगर यह मौजूद नहीं है
रिमोट रिपॉजिटरी को वर्चुअल रिपॉजिटरी में जोड़ें
वर्चुअल रजिस्ट्री की नीतियों को उच्च प्राथमिकता (या समान) देने के लिए संपादित करें। कुछ इस प्रकार चलाएं:
वैध पैकेज डाउनलोड करें, अपना दुरुपयोगी कोड जोड़ें और उसे सार्वजनिक रिपॉजिटरी में उसी संस्करण के साथ पंजीकृत करें। हर बार जब एक डेवलपर इसे इंस्टॉल करता है, वह आपका ही इंस्टॉल करेगा!
डिपेंडेंसी कन्फ्यूजन के बारे में अधिक जानकारी के लिए देखें:
Last updated