Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Kerberos

غير مدعوم في ClickHouse Cloud

يمكن مصادقة مستخدمي ClickHouse الحاليين والمُهيَّئين بشكل صحيح عبر بروتوكول مصادقة Kerberos.

حاليًا، لا يمكن استخدام Kerberos إلا كمُصادِق خارجي للمستخدمين الحاليين المُعرَّفين في users.xml أو في مسارات التحكم في الوصول المحلية. ولا يمكن لهؤلاء المستخدمين استخدام سوى طلبات HTTP، ويجب أن يكونوا قادرين على المصادقة باستخدام آلية GSS-SPNEGO.

في هذا النهج، يجب تهيئة Kerberos على النظام ويجب تمكينه في إعدادات ClickHouse.

تمكين Kerberos في ClickHouse

لتمكين Kerberos، يجب تضمين قسم kerberos في ملف config.xml. وقد يحتوي هذا القسم على معلمات إضافية.

المعلمات

  • principal - اسم الخدمة الأساسي المعياري الذي سيُكتسب ويُستخدم عند قبول سياقات الأمان.

    • هذا المعامل اختياري. إذا أُهمِل، فسيُستخدم الاسم الأساسي الافتراضي.
  • realm - قيمة realm التي ستُستخدم لقصر الاستيثاق على الطلبات التي تتطابق معها قيمة realm الخاصة بالمُبادِر فقط.

    • هذا المعامل اختياري. إذا أُهمِل، فلن يُطبَّق أي ترشيح إضافي حسب realm.
  • keytab - المسار إلى ملف keytab الخاص بالخدمة.

    • هذا المعامل اختياري. إذا أُهمِل، فيجب ضبط المسار إلى ملف keytab الخاص بالخدمة في متغير البيئة KRB5_KTNAME.

مثال (يوضع في config.xml):

<clickhouse>
    <!- ... -->
    <kerberos />
</clickhouse>

مع تحديد الاسم الأساسي:

<clickhouse>
    <!- ... -->
    <kerberos>
        <principal>HTTP/clickhouse.example.com@EXAMPLE.COM</principal>
    </kerberos>
</clickhouse>

مع التصفية حسب النطاق:

<clickhouse>
    <!- ... -->
    <kerberos>
        <realm>EXAMPLE.COM</realm>
    </kerberos>
</clickhouse>

Kerberos كمصادِق خارجي للمستخدمين الحاليين

يمكن استخدام Kerberos كوسيلة للتحقق من هوية المستخدمين المعرَّفين محليًا (المعرَّفين في users.xml أو في مسارات التحكم بالوصول المحلية). حاليًا، لا يمكن استخدام Kerberos إلا مع الطلبات الواردة عبر واجهة HTTP (من خلال آلية GSS-SPNEGO).

عادةً ما يتبع تنسيق الاسم الأساسي في Kerberos هذا النمط:

  • primary/instance@REALM

قد يظهر الجزء /instance صفر مرة أو أكثر. يُتوقَّع أن يتطابق جزء primary من الاسم المعياري للاسم الأساسي الخاص بالمبادر مع اسم المستخدم المستخدَم مع Kerberos لكي تنجح المصادقة.

تمكين Kerberos في users.xml

لتمكين المصادقة عبر Kerberos للمستخدم، حدِّد القسم kerberos بدلًا من password أو الأقسام المشابهة في تعريف المستخدم.

المعلمات:

  • realm - realm سيُستخدم لقصر المصادقة على الطلبات التي يتطابق فيها realm الخاص بالعقدة البادئة معه فقط.
    • هذا المعلَم اختياري، وإذا تم حذفه، فلن تُطبَّق أي تصفية إضافية حسب realm.

مثال (يوضع في users.xml):

<clickhouse>
    <!- ... -->
    <users>
        <!- ... -->
        <my_user>
            <!- ... -->
            <kerberos>
                <realm>EXAMPLE.COM</realm>
            </kerberos>
        </my_user>
    </users>
</clickhouse>

تفعيل Kerberos باستخدام SQL

عند تفعيل التحكم في الوصول وإدارة الحسابات المعتمدين على SQL في ClickHouse، يمكن أيضًا إنشاء مستخدمين يحدّدهم Kerberos باستخدام عبارات SQL.

CREATE USER my_user IDENTIFIED WITH kerberos REALM 'EXAMPLE.COM'

…أو، بدون التصفية حسب نطاق Kerberos:

CREATE USER my_user IDENTIFIED WITH kerberos
Navigation