authentication) تسجيل الدخول عبر LDAP داخل كل Pod من Pods Ayakaleaf Pro. وعلى خلاف OIDC وSAML، تتواصل الـ Pods مع الدليل بنفسها. أعدّ جانب الدليل كما في مصادقة LDAP، ثم ضع القيم في Kubernetes كما هو موضح أدناه.
أين تعمل المكوّنات
الإعداد
1
اسمح للـ Pods بالوصول إلى الدليل
يفتح كل Pod يشغّل Ayakaleaf Pro اتصالات LDAP. إذا كان الدليل محميًا بجدار حماية أو NetworkPolicy، فاسمح بالعناوين التي تغادر بها الـ Pods الكتلة (cluster): وهي عادةً عناوين العقد، أو بوابة الخروج (egress gateway) لديك.لا تحتوي الصورة على يجب أن يطبع سطر
ldapsearch. لتشغيل فحص البحث من داخل الكتلة، استخدم Pod مؤقتًا:dn: واحدًا بالضبط.2
أضف الإعدادات إلى الـ ConfigMap
30-config.yaml (additions)
OVERLEAF_LDAP_* مدرجة في متغيرات البيئة. وكلها توضع في الـ ConfigMap باستثناء كلمة مرور الربط (bind). ضع بين علامتي اقتباس القيمتين "true" و"false"، وقيم JSON مثل OVERLEAF_LDAP_SEARCH_ATTRIBUTES: '["mail", "cn"]'، والقيم التي تبدأ بـ *.3
ضع كلمة مرور الربط في الـ Secret
4
LDAPS أو STARTTLS مع جهة شهادات خاصة بك (اختياري)
ضع جهة الشهادات (CA) في الـ Secret تحلّ قائمة جهات الشهادات هذه محل جهات شهادات النظام في اتصالات LDAP. وتُقرأ عند بدء تشغيل web.
overleaf-certs المركّب على /var/lib/overleaf/certs (راجع الشهادات والملفات الأخرى) ثم أشر إليها:5
طبّق التغييرات وأعد التشغيل
عدة نسخ متماثلة
لا حاجة إلى شيء إضافي سوى جدار الحماية في الخطوة 1: تتصل كل نسخة متماثلة بالدليل بنفسها، وتُحفظ نتيجة تسجيل الدخول في الجلسة داخل Redis.الاختبار على Kubernetes
مع LDAP outpost من goauthentik بوصفه الدليل، على Kubernetes 1.37 مع ثلاث نسخ متماثلة خلف HAProxy، نجحت اختباراتنا الشاملة لـ LDAP (26 حالة): تسجيل دخول المسؤول الأول من launchpad عبر LDAP، وتسجيل الدخول بكلمة مرور الربط من الـ Secret، ورفض كلمات المرور الخاطئة والمستخدمين غير المعروفين، وربط صلاحية المسؤول حسب المجموعة ودون ربط، وتحديث الاسم وعلامة المسؤول عند كل تسجيل دخول (سمة اسم واحدة، أو الاسم الأول واسم العائلة)، وجهات الاتصال من الدليل، وتسجيل الخروج، وقواعد كلمات المرور لحسابات LDAP، والحسابات المعلّقة، وتسجيل الدخول عبر LDAP مع reCAPTCHA.أسئلة وأجوبة
يفشل تسجيل الدخول عبر LDAP على بعض الـ Pods فقط
يفشل تسجيل الدخول عبر LDAP على بعض الـ Pods فقط
الإجابة: لا يمكن الوصول إلى الدليل من كل العقد. تحقّق من كل Pod:
أين أرى سبب فشل تسجيل الدخول؟
أين أرى سبب فشل تسجيل الدخول؟
الإجابة: في سجل web الخاص بالـ Pod الذي خدم عملية تسجيل الدخول:

