> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-revert-104359-revert-104251-parquet-single.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# هل يدعم ClickHouse الأمان على مستوى الصفوف والأعمدة؟

> تعرّف على قيود الوصول على مستوى الصفوف والأعمدة في ClickHouse وClickHouse Cloud، وكيفية تطبيق التحكم في الوصول المستند إلى الدور (RBAC) باستخدام السياسات.

<div id="clickhouse-and-clickhouse-cloud-both-support-row-and-column-level-access-restrictions">
  ## يدعم كلٌّ من ClickHouse وClickHouse Cloud قيود الوصول على مستوى الصفوف والأعمدة
</div>

يدعم كلٌّ من ClickHouse وClickHouse Cloud قيود الوصول على مستوى الصفوف والأعمدة للمستخدمين المخصّصين للقراءة فقط، وهي ضرورية لتطبيق نموذج التحكم في الوصول المستند إلى الدور (RBAC).

يمكن استخدام [سياسات الصفوف](/ar/concepts/features/security/access-rights#row-policy-management) لتحديد الصفوف التي ستُعاد إلى مستخدم للقراءة فقط عند تنفيذ استعلام على جدول. يكون ClickHouse Cloud مُهيّأً افتراضيًا لتمكين سير العمل المعتمد على SQL. للاستفادة من سير العمل هذا، [CREATE](/ar/reference/statements/create/user) مستخدمًا، ثم [GRANT](/ar/reference/statements/grant) امتيازات للمستخدم على جدول، ثم عيّن [ROW POLICY](/ar/concepts/features/security/access-rights#row-policy-management) المناسبة. عندما ينفّذ المستخدم `SELECT * FROM table`، فلن تُعرض إلا الصفوف التي تسمح بها السياسة.

تُرشّح سياسات الصفوف بيانات الجدول التي تُقرأ على ذلك الخادم. لترشيح الاستعلامات التي تمر عبر جدول [Distributed](/ar/reference/engines/table-engines/special/distributed)، أنشئ السياسة على الجدول المحلي الأساسي في كل خادم ضمن المجموعة: فلا يمكن تطبيق سياسة جدول `Distributed` نفسه على الاستعلام المُرسل إلى الخوادم البعيدة، وتُرفض عمليات القراءة هذه بدلًا من إرجاع صفوف غير مُرشّحة بصمت. لا تُطبَّق السياسة على الجدول المحلي عندما يُرسل البادئ خطة قراءة مُنشأة مسبقًا، لذا أبقِ [`serialize_query_plan = 0`](/ar/reference/settings/session-settings/serialize#serialize_query_plan) للمستخدمين الذين يجب فرض سياسات الصفوف عليهم (انظر [المشكلة #112891](https://github.com/ClickHouse/ClickHouse/issues/112891)).

يمكن تحديد القيود على مستوى الأعمدة مباشرةً باستخدام [عبارة GRANT](/ar/reference/statements/grant) لتمكين الوصول على مستوى الجدول للمستخدمين والأدوار. *لا يمكن للمستخدمين إلا* تضمين الأعمدة التي لديهم حق الوصول إليها في الاستعلام. إن تحديد أعمدة مقيّدة من جدول لا يملك فيه المستخدم حق الوصول إلى جميع الأعمدة المحددة، كما في الاستعلام `SELECT * FROM table`، سيؤدي إلى ظهور خطأ يفيد بأن المستخدم لا يملك الأذونات الكافية.
