هذه الصفحة لا تنطبق على ClickHouse Cloud. الميزة الموثقة هنا غير متاحة في خدمات ClickHouse Cloud.
راجع دليل التوافق مع Cloud الخاص بـ ClickHouse لمزيد من المعلومات.
تكون مصادقة المستخدم عبر SSL مدعومة عند استخدام واجهات
https وnative وmysql وpostgresql.يجب ضبط <verificationMode>strict</verificationMode> على عُقد ClickHouse لضمان مصادقة آمنة (مع أن relaxed يعمل لأغراض الاختبار).إذا كنت تستخدم AWS NLB مع واجهة MySQL، فيتعين عليك أن تطلب من دعم AWS تمكين الخيار غير الموثّق التالي:
أود أن أتمكن من تهيئة بروتوكول الوكيل v2 لـ NLB لدينا على النحو التالي: proxy_protocol_v2.client_to_server.header_placement,Value=on_first_ack.
1
إنشاء شهادات مستخدم SSL
يستخدم هذا المثال شهادات موقَّعة ذاتيًا مع CA موقَّعة ذاتيًا. في بيئات production، أنشئ CSR وقدّمه إلى فريق PKI لديك أو إلى موفّر الشهادات للحصول على شهادة معتمدة.
- أنشئ طلب توقيع شهادة (CSR) ومفتاحًا. يكون التنسيق الأساسي كما يلي:
في هذا المثال، سنستخدم ما يلي للنطاق والمستخدم اللذين سيُستخدمان في بيئة العينة هذه:
قيمة CN اختيارية، ويمكن استخدام أي سلسلة نصية كمعرّف للشهادة. وتُستخدم عند إنشاء المستخدم في الخطوات التالية.
- أنشئ شهادة المستخدم الجديدة ووقّعها لاستخدامها في المصادقة. يكون التنسيق الأساسي كما يلي:
في هذا المثال، سنستخدم ما يلي للنطاق والمستخدم اللذين سيُستخدمان في بيئة العينة هذه:
2
إنشاء مستخدم في SQL ومنحه الأذونات
للاطّلاع على تفاصيل حول كيفية تمكين مستخدمي SQL وتعيين الأدوار، راجع دليل المستخدم تعريف مستخدمي SQL والأدوار.
-
أنشئ مستخدم SQL مُهيّأ لاستخدام المصادقة بالشهادة:
-
امنح مستخدم الشهادة الجديد الامتيازات:
يُمنح المستخدم امتيازات إدارية كاملة في هذا التمرين لأغراض العرض التوضيحي. راجع وثائق ClickHouse الخاصة بـ RBAC للاطّلاع على إعدادات الأذونات.
نوصي باستخدام SQL لتعريف المستخدمين والأدوار. ومع ذلك، إذا كنت تُعرّف المستخدمين والأدوار حاليًا في ملفات التهيئة، فسيبدو المستخدم كما يلي:
3
التحقق
- انسخ شهادة المستخدم، والمفتاح الخاص بالمستخدم، وشهادة CA إلى عقدة بعيدة.
-
قم بتكوين OpenSSL في إعدادات العميل الخاصة بـ ClickHouse باستخدام الشهادة والمسارات.
-
شغّل
clickhouse-client.
لاحظ أن كلمة المرور التي يتم تمريرها إلى clickhouse-client يتم تجاهلها عند تحديد شهادة في الإعدادات.
4
اختبار HTTP
- انسخ شهادة المستخدم ومفتاح المستخدم وشهادة CA إلى node بعيدة.
-
استخدم
curlلاختبار أمر SQL تجريبي. يكون التنسيق الأساسي كما يلي:على سبيل المثال:سيكون الناتج مشابهًا لما يلي:
لاحظ أنه لم يتم تحديد أي كلمة مرور؛ إذ تُستخدم الشهادة بدلًا من كلمة المرور، وهي الطريقة التي سيُجري بها ClickHouse مصادقة المستخدم.
الملخص
clickhouse-client أو أي عميل يدعم واجهة https ويمكن تعيين رؤوس HTTP فيه. يجب الحفاظ على خصوصية الشهادة والمفتاح اللذين جرى إنشاؤهما مع تقييد الوصول إليهما، لأن الشهادة تُستخدم لمصادقة المستخدم وتخويله لإجراء عمليات على قاعدة بيانات ClickHouse. تعامل مع الشهادة والمفتاح كما لو كانا كلمتي مرور.