> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/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).

[Политики строк](/docs/ru/concepts/features/security/access-rights#row-policy-management) можно использовать, чтобы указать, какие строки будут возвращаться пользователю с доступом только для чтения при выполнении запроса к таблице. В ClickHouse Cloud по умолчанию включён SQL-управляемый рабочий процесс. Чтобы использовать этот рабочий процесс, выполните [CREATE](/docs/ru/reference/statements/create/user) пользователя, предоставьте пользователю привилегии [GRANT](/docs/ru/reference/statements/grant) на таблицу, а затем задайте соответствующую [ROW POLICY](/docs/ru/concepts/features/security/access-rights#row-policy-management). Когда пользователь выполняет `SELECT * FROM table`, отображаются только строки, разрешённые политикой.

Политики строк фильтруют данные таблицы, считываемые на данном сервере. Чтобы фильтровать запросы, проходящие через таблицу [Distributed](/docs/ru/reference/engines/table-engines/special/distributed), создайте политику для базовой локальной таблицы на каждом сервере кластера: политику для самой таблицы `Distributed` нельзя применить к запросу, отправленному на удалённые серверы, поэтому такие операции чтения отклоняются вместо того, чтобы незаметно возвращать неотфильтрованные строки. Политика для локальной таблицы не применяется, когда инициатор отправляет уже сформированный план чтения, поэтому сохраняйте [`serialize_query_plan = 0`](/docs/ru/reference/settings/session-settings/serialize#serialize_query_plan) для пользователей, чьи политики строк должны применяться (см. [issue #112891](https://github.com/ClickHouse/ClickHouse/issues/112891)).

Ограничения на уровне столбцов можно задать напрямую с помощью [оператора GRANT](/docs/ru/reference/statements/grant), чтобы предоставить пользователям и ролям доступ к таблице. Пользователи могут включать в запрос *только* те столбцы, к которым у них есть доступ. Попытка выбрать ограниченные столбцы из таблицы, в которой у пользователя нет доступа ко всем указанным столбцам, например в запросе `SELECT * FROM table`, приведёт к ошибке о том, что у пользователя недостаточно прав.
