प्रमाणीकरण
समर्थित प्रमाणीकरण
अनाम पहुँच और मूल htpasswd Basic Auth समर्थित हैं। बाहरी Bearer सेवाएँ और OIDC समर्थित नहीं हैं। इस रिलीज़ में उपयोगकर्ता प्रबंधन नहीं है।
रजिस्ट्री-पक्ष Basic Auth
bcrypt पासवर्ड हैश के साथ एक htpasswd फ़ाइल बनाएं। निम्नलिखित उदाहरण एक अस्थायी आधिकारिक अपाचे कंटेनर का उपयोग करता है; उदाहरण क्रेडेंशियल बदलें और परिणामी फ़ाइल को सुरक्षित रखें:
mkdir -p auth
docker run --rm --entrypoint htpasswd httpd:2 -Bbn your-user choose-a-strong-password > auth/htpasswd
उदाहरण Distribution सेटिंग्स:
auth:
htpasswd:
realm: Registry
path: /auth/htpasswd
जेनरेट की गई फ़ाइल को /auth/htpasswd पर रजिस्ट्री कंटेनर में माउंट करें। रजिस्ट्री कॉन्फ़िगरेशन Crateview कॉन्फ़िगरेशन से अलग है। रिमोट एक्सेस के लिए HTTPS का उपयोग करें; Basic Auth एक एन्कोडिंग है, ट्रांसपोर्ट एन्क्रिप्शन नहीं। साझा शेल इतिहास या सार्वजनिक उदाहरणों में वास्तविक पासवर्ड छोड़ने से बचें।
यूआई सत्र
Nitro सर्वर रजिस्ट्री के विरुद्ध क्रेडेंशियल मान्य करता है। यह उन्हें एन्क्रिप्टेड, HttpOnly, सेमसाइट=स्ट्रिक्ट कुकी में संग्रहीत करता है। ब्राउज़र जावास्क्रिप्ट और localStorage को क्रेडेंशियल प्राप्त नहीं होते हैं। सत्र आठ घंटे के बाद समाप्त हो जाते हैं।
एक यादृच्छिक उत्पादन सत्र रहस्य सेट करें:
openssl rand -base64 32
उत्पन्न मान का उपयोग NUXT_SESSION_PASSWORD के रूप में करें, जिसमें कम से कम 32 अक्षर हों। लोड बैलेंसर के पीछे प्रत्येक फ्रंटएंड इंस्टेंस को समान मान का उपयोग करना चाहिए। कॉन्फ़िगरेशन के बिना, Crateview एक प्रक्रिया-स्थानीय रहस्य उत्पन्न करता है, इसलिए पुनरारंभ मौजूदा सत्रों को अमान्य कर देता है।
HTTPS और लॉगआउट
जब सार्वजनिक अनुरोध प्रोटोकॉल HTTPS होता है तो सत्र कुकी सिक्योर का उपयोग करती है। रिवर्स प्रॉक्सी के अग्रेषित प्रोटोकॉल को सही ढंग से कॉन्फ़िगर करें। साइन आउट करने से यूआई सत्र साफ़ हो जाता है; यह रजिस्ट्री उपयोगकर्ताओं को हटाता या संशोधित नहीं करता है।
Docker और अन्य CLI क्लाइंट अपने सामान्य रजिस्ट्री क्रेडेंशियल्स का उपयोग करके सीधे /v2/** प्रॉक्सी के माध्यम से प्रमाणित करते हैं। वेब यूआई में साइन इन करने से Docker CLI स्वचालित रूप से साइन इन नहीं होता है।
