هذه الصفحة لا تنطبق على 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 وتعيين الأدوار، راجع دليل المستخدم Defining SQL Users and Roles.
-
أنشئ مستخدم SQL مُعدًّا لاستخدام authentication بالشهادة:
-
امنح المستخدم الجديد المعتمد على الشهادة الامتيازات:
يُمنح هذا المستخدم امتيازات المسؤول الكاملة في هذا التمرين لأغراض توضيحية. راجع وثائق RBAC في ClickHouse للاطلاع على إعدادات الصلاحيات.
نوصي باستخدام SQL لتعريف المستخدمين والأدوار. ومع ذلك، إذا كنت تُعرّف المستخدمين والأدوار حاليًا في ملفات configuration، فسيكون تعريف المستخدم على النحو التالي:
3. الاختبار
- انسخ شهادة المستخدم والمفتاح الخاص بالمستخدم وشهادة المرجع المصدق (CA) إلى عقدة بعيدة.
-
هيّئ OpenSSL في ملف إعدادات عميل ClickHouse وحدد الشهادة والمسارات.
-
شغّل
clickhouse-client.
لاحظ أن كلمة المرور التي تُمرَّر إلى clickhouse-client يتم تجاهلها عند تحديد شهادة في ملف الإعدادات.
4. اختبار HTTP
- انسخ شهادة المستخدم ومفتاحه وشهادة المرجع المصدق (CA) إلى عقدة بعيدة.
-
استخدم
curlلاختبار أمر SQL نموذجي. الصيغة الأساسية هي:على سبيل المثال:سيكون الناتج مشابهًا لما يلي:
لاحظ أنه لم يتم تحديد كلمة مرور؛ إذ تُستخدم الشهادة بدلًا منها، وبهذه الطريقة يُجري ClickHouse مصادقة المستخدم.
الملخص
clickhouse-client أو أي عميل يدعم واجهة https ويمكن تعيين رؤوس HTTP فيه. يجب الحفاظ على خصوصية الشهادة والمفتاح اللذين جرى إنشاؤهما مع تقييد الوصول إليهما، لأن الشهادة تُستخدم لمصادقة المستخدم وتخويله لإجراء عمليات على قاعدة بيانات ClickHouse. تعامل مع الشهادة والمفتاح كما لو كانا كلمتي مرور.