هذه الصفحة لا تنطبق على ClickHouse Cloud. الميزة الموثقة هنا غير متاحة في خدمات ClickHouse Cloud.
راجع دليل التوافق مع Cloud الخاص بـ ClickHouse لمزيد من المعلومات.
- استخدام LDAP كمُصادِق خارجي للمستخدمين الحاليين المعرَّفين في
users.xmlأو في local access control paths. - استخدام LDAP كدليل مستخدمين خارجي والسماح بمصادقة المستخدمين غير المعرَّفين محليًا إذا كانوا موجودين على خادم LDAP.
تعريف خادم LDAP
ldap_servers إلى ملف config.xml.
مثال
ldap_servers باستخدام أسماء مختلفة.
المعلمات
المعلمات الفرعية
user_dn_detection
قسم يحتوي على معلمات بحث LDAP لاكتشاف user DN الفعلي للمستخدم الذي تم تنفيذ bind له. يُستخدم هذا بشكل أساسي في search filters لمزيد من تعيين الأدوار عندما يكون الخادم هو Active Directory. سيُستخدم user DN الناتج عند استبدال المقاطع الفرعية {user_dn} حيثما كان استخدامها مسموحًا. افتراضيًا، يُضبط user DN ليكون مساويًا لـ bind DN، ولكن بمجرد تنفيذ بحث LDAP، سيتم تحديثه إلى قيمة user DN الفعلية المكتشفة.
المُصادِق الخارجي LDAP
users.xml أو في مسارات التحكّم بالوصول المحلية). ولتحقيق ذلك، حدِّد اسم خادم LDAP المعرَّف مسبقًا بدلًا من password أو الأقسام المشابهة في تعريف المستخدم.
عند كل محاولة تسجيل دخول، يحاول ClickHouse تنفيذ عملية “bind” إلى الـ DN المحدد في المعلمة bind_dn ضمن تعريف خادم LDAP باستخدام بيانات الاعتماد المقدَّمة، وإذا نجحت العملية، يُعَدّ المستخدم موثَّقًا. ويُسمّى هذا غالبًا أسلوب “simple bind”.
مثال
my_user يرتبط بـ my_ldap_server. يجب تهيئة خادم LDAP هذا في ملف config.xml الرئيسي كما وُضح سابقًا.
عند تمكين التحكم في الوصول وإدارة الحسابات المعتمد على SQL، يمكن أيضًا إنشاء المستخدمين الذين تجري مصادقتهم عبر خوادم LDAP باستخدام تعليمة CREATE USER.
Query
دليل المستخدمين الخارجي عبر LDAP
ldap داخل قسم users_directories في ملف config.xml.
عند كل محاولة تسجيل دخول، يحاول ClickHouse العثور على تعريف المستخدم محليًا ومصادقته كالمعتاد. وإذا لم يكن المستخدم معرّفًا، فسيفترض ClickHouse أن تعريفه موجود في دليل LDAP الخارجي، وسيحاول تنفيذ عملية “bind” إلى الـ DN المحدد على خادم LDAP باستخدام بيانات الاعتماد المقدَّمة. وإذا نجحت العملية، فسيُعتبر المستخدم موجودًا ومصادقًا عليه. وسيُسنَد إلى المستخدم ما يرد في قسم roles من أدوار. بالإضافة إلى ذلك، يمكن تنفيذ عملية “search” في LDAP، ويمكن تحويل النتائج لتُعامل على أنها أسماء أدوار ثم تُسنَد إلى المستخدم إذا كان قسم role_mapping مهيأً أيضًا. ويعني هذا كله أن التحكم في الوصول وإدارة الحسابات المعتمد على SQL مفعّل، وأن الأدوار أُنشئت باستخدام عبارة CREATE ROLE.
مثال
يوضع في config.xml.
my_ldap_server المشار إليه في قسم ldap داخل قسم user_directories يجب أن يكون خادم LDAP مُعرَّفًا مسبقًا ومُهيّأً في config.xml (راجع تعريف خادم LDAP).
المعلمات
المعلمات الفرعية لـ
role_mapping
قسم يتضمن معلمات بحث LDAP وقواعد تعيين الأدوار. عند مصادقة المستخدم، وأثناء استمرار الارتباط بـ LDAP، يُجرى بحث LDAP باستخدام search_filter واسم المستخدم الذي سجّل الدخول. ولكل entry يُعثر عليه أثناء هذا البحث، تُستخرج قيمة الـ attribute المحدد. ولكل قيمة attribute تحمل الـ prefix المحدد، يُزال الـ prefix، ويصبح الجزء المتبقي من القيمة اسم role محلي معرَّف في ClickHouse، ويُفترض أن يكون قد أُنشئ مسبقًا باستخدام عبارة CREATE ROLE. يمكن تعريف عدة أقسام role_mapping داخل قسم ldap نفسه، وستُطبَّق جميعها.