Skip to main content

يدعم كلٌّ من ClickHouse وClickHouse Cloud قيود الوصول على مستوى الصفوف والأعمدة

يدعم كلٌّ من ClickHouse وClickHouse Cloud قيود الوصول على مستوى الصفوف والأعمدة للمستخدمين المخصّصين للقراءة فقط، وهي ضرورية لتطبيق نموذج التحكم في الوصول المستند إلى الدور (RBAC). يمكن استخدام سياسات الصفوف لتحديد الصفوف التي ستُعاد إلى مستخدم للقراءة فقط عند تنفيذ استعلام على جدول. يكون ClickHouse Cloud مُهيّأً افتراضيًا لتمكين سير العمل المعتمد على SQL. للاستفادة من سير العمل هذا، CREATE مستخدمًا، ثم GRANT امتيازات للمستخدم على جدول، ثم عيّن ROW POLICY المناسبة. عندما ينفّذ المستخدم SELECT * FROM table، فلن تُعرض إلا الصفوف التي تسمح بها السياسة. تُرشّح سياسات الصفوف بيانات الجدول التي تُقرأ على ذلك الخادم. لترشيح الاستعلامات التي تمر عبر جدول Distributed، أنشئ السياسة على الجدول المحلي الأساسي في كل خادم ضمن المجموعة: فلا يمكن تطبيق سياسة جدول Distributed نفسه على الاستعلام المُرسل إلى الخوادم البعيدة، وتُرفض عمليات القراءة هذه بدلًا من إرجاع صفوف غير مُرشّحة بصمت. لا تُطبَّق السياسة على الجدول المحلي عندما يُرسل البادئ خطة قراءة مُنشأة مسبقًا، لذا أبقِ serialize_query_plan = 0 للمستخدمين الذين يجب فرض سياسات الصفوف عليهم (انظر المشكلة #112891). يمكن تحديد القيود على مستوى الأعمدة مباشرةً باستخدام عبارة GRANT لتمكين الوصول على مستوى الجدول للمستخدمين والأدوار. لا يمكن للمستخدمين إلا تضمين الأعمدة التي لديهم حق الوصول إليها في الاستعلام. إن تحديد أعمدة مقيّدة من جدول لا يملك فيه المستخدم حق الوصول إلى جميع الأعمدة المحددة، كما في الاستعلام SELECT * FROM table، سيؤدي إلى ظهور خطأ يفيد بأن المستخدم لا يملك الأذونات الكافية.
آخر تعديل في ١٤ أغسطس ٢٠٢٦