প্রমাণীকরণ
সমর্থিত প্রমাণীকরণ
বেনামি প্রবেশ ও নেটিভ htpasswd Basic Auth সমর্থিত। বাইরের Bearer সেবা ও OIDC সমর্থিত নয়। এই সংস্করণে ব্যবহারকারী ব্যবস্থাপনা নেই।
রেজিস্ট্রি-সাইড Basic Auth
একটি bcrypt পাসওয়ার্ড হ্যাশ দিয়ে একটি htpasswd ফাইল তৈরি করুন৷ নিম্নলিখিত উদাহরণ একটি অস্থায়ী অফিসিয়াল Apache ধারক ব্যবহার করে; উদাহরণ শংসাপত্রগুলি প্রতিস্থাপন করুন এবং ফলস্বরূপ ফাইলটি রক্ষা করুন:
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 একটি এনকোডিং, পরিবহন এনক্রিপশন নয়। শেয়ার্ড শেল ইতিহাস বা সর্বজনীন উদাহরণে আসল পাসওয়ার্ডগুলি এড়িয়ে চলুন।
UI সেশন
Nitro সার্ভার রেজিস্ট্রির বিরুদ্ধে প্রমাণপত্রাদি যাচাই করে। এটি একটি এনক্রিপ্ট করা, HttpOnly, SameSite=Strict কুকিতে সংরক্ষণ করে। ব্রাউজার জাভাস্ক্রিপ্ট এবং localStorage শংসাপত্রগুলি গ্রহণ করে না। আট ঘণ্টা পর সেশনের মেয়াদ শেষ হয়।
একটি র্যান্ডম উত্পাদন সেশন গোপন সেট করুন:
openssl rand -base64 32
জেনারেট করা মানটিকে NUXT_SESSION_PASSWORD হিসাবে ব্যবহার করুন, কমপক্ষে 32টি অক্ষর সহ। একটি লোড ব্যালেন্সারের পিছনে প্রতিটি ফ্রন্টএন্ড উদাহরণ একই মান ব্যবহার করতে হবে। কনফিগারেশন ছাড়া, Crateview একটি প্রসেস-লোকাল সিক্রেট তৈরি করে, তাই রিস্টার্ট বিদ্যমান সেশনগুলিকে বাতিল করে দেয়।
HTTPS এবং লগআউট
যখন পাবলিক রিকোয়েস্ট প্রোটোকল HTTPS হয় তখন সেশন কুকি সিকিউর ব্যবহার করে। বিপরীত প্রক্সির ফরোয়ার্ড প্রোটোকল সঠিকভাবে কনফিগার করুন। সাইন আউট করলে UI সেশন পরিষ্কার হয়; এটি রেজিস্ট্রি ব্যবহারকারীদের মুছে বা পরিবর্তন করে না।
Docker এবং অন্যান্য CLI ক্লায়েন্টরা তাদের সাধারণ রেজিস্ট্রি শংসাপত্র ব্যবহার করে /v2/** প্রক্সির মাধ্যমে সরাসরি প্রমাণীকরণ করে। ওয়েব UI-এ সাইন ইন করা স্বয়ংক্রিয়ভাবে Docker CLI সাইন ইন করে না।
