184 похожих чатов

Про row policy (version 21.9.5): подскажите плиз: полиси работает на

локальные таблицы (mergeTree) и например ODBC, но не отрабатывает на дистрибьютед (смотрит на соседний кластер выделенным юзером) - это баг с предикатами/порядком обхода?
или это ожидаемое поведение и надо заворачивать в костыли?

9 ответов

8 просмотров

что значит "не отрабатывает"? когда вы читаете из local таблицы, то видите только часть строк, а когда из distributed, которая читает из этой самой local, все строки?

Piotr-Liakhavets Автор вопроса
ivan
что значит "не отрабатывает"? когда вы читаете из ...

дистрибьютед смотрит в другой кластер (данные только там, локально их не дублируем)

Piotr-Liakhavets Автор вопроса

@den_crane на Вас надежда row policy на таблицы distributed есть лёгкий способ накинуть? (юз-кейс - RLS, т.е. для многих разных пользователей различные правила доступности данных)

Piotr Liakhavets
@den_crane на Вас надежда row policy на таблицы di...

я читал, но ничего не понял. что за соседний кластер, на кого наложили полиси, где наложили

Piotr-Liakhavets Автор вопроса
Denny [Altinity]
я читал, но ничего не понял. что за соседний кла...

-- remote cluster create database test_row_policy on cluster preagg_tier; create table test_row_policy.tab on cluster preagg_tier (app_code String, col1 UInt64) Engine=ReplicatedMergeTree() order by col1 partition by app_code; insert into test_row_policy.tab values ('acme', 111), ('borc', 222); select * from test_row_policy.tab; -- separate machine where intended RLS row-policy create database test_row_policy_on_preagg_tier; create table test_row_policy_on_preagg_tier.tab (app_code String, col1 UInt64) Engine=Distributed('preagg_tier','test_row_policy', 'tab'); create user test_user_check_permissions_1 IDENTIFIED WITH sha256_password BY '123' DEFAULT ROLE ALL; GRANT SELECT ON test_row_policy_on_preagg_tier.tab TO test_user_check_permissions_1; CREATE ROW POLICY OR REPLACE pol__test_user_check_permissions_1__test_row_policy_on_preagg_tier__tab ON test_row_policy_on_preagg_tier.tab FOR SELECT USING app_code in ('acme') AS PERMISSIVE TO test_user_check_permissions_1; -- as user test_user_check_permissions_1 select * from test_row_policy_on_preagg_tier.tab format CSV; -- >> "acme",111 "borc",222 постарался собрать минимально воспроизводимый пример история есть выделенная машина с КХ , часть инфы на ней материализована и на разграничение прав доступа на физические (локальные) таблички работает норм есть необходимость поделиться с пользователями еще даннми с других кластеров (тут↑ - преагг тир; физически прокинуть не получится банально по месту) и тут row policy почему-то не отрабатывает

Piotr Liakhavets
-- remote cluster create database test_row_policy ...

https://github.com/ClickHouse/ClickHouse/issues/28334

Piotr-Liakhavets Автор вопроса
Denny [Altinity]
https://github.com/ClickHouse/ClickHouse/issues/28...

понял, спасибо *схитрить както можно? надстройками через Merge или мож вьюхи с секьюрити=дефайнер появились?

Piotr-Liakhavets Автор вопроса
Denny [Altinity]
нету, ничего такого нет

понял, спасибо большое

Похожие вопросы

Обсуждают сегодня

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
Хтось використовував Vapor на Windows?
Jaroshevskii
15
Тут кста кто-нибудь NeoVim использует?
Simple Sorcerer
13
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
у меня вопрос на счет .global <name> для чего это нужно если я пишу на ассемблере? только для того что бы сделать это видимым для линкера? вот что написано в докумментации GA...
Simple Sorcerer
1
Карта сайта