ClickHouse и ClickHouse Cloud поддерживают ограничения доступа на уровне строк и столбцов
SELECT * FROM table, отображаются только строки, разрешённые политикой.
Политики строк фильтруют данные таблицы, считываемые на данном сервере. Чтобы фильтровать запросы, проходящие через таблицу Distributed, создайте политику для базовой локальной таблицы на каждом сервере кластера: политику для самой таблицы Distributed нельзя применить к запросу, отправленному на удалённые серверы, поэтому такие операции чтения отклоняются вместо того, чтобы незаметно возвращать неотфильтрованные строки. Политика для локальной таблицы не применяется, когда инициатор отправляет уже сформированный план чтения, поэтому сохраняйте serialize_query_plan = 0 для пользователей, чьи политики строк должны применяться (см. issue #112891).
Ограничения на уровне столбцов можно задать напрямую с помощью оператора GRANT, чтобы предоставить пользователям и ролям доступ к таблице. Пользователи могут включать в запрос только те столбцы, к которым у них есть доступ. Попытка выбрать ограниченные столбцы из таблицы, в которой у пользователя нет доступа ко всем указанным столбцам, например в запросе SELECT * FROM table, приведёт к ошибке о том, что у пользователя недостаточно прав.