Doris行权限原理
Doris支持了行级数据权限,当多租户模式使用的是共享表模式的情况下该功能能很方便的帮用户数实现行级权限控制。
Doris的行级权限是通过安全策略(ROW POLICY)实现的。
具体做法为:用户在指定表上创建安全策略并授权到具体的用户,当用户查询数据的时候查询规划会对SQL进行改写,将用户的安全策略注入到SQL中,改写后的SQL会携带用户的行权限。以实现多用户的数据行级权限控制。
(1)设置ROW POLICY:
在表test.table1 上创建一个名称为test_row_policy_1的ROW POLICY,并将POLICY绑定在用户test_user上。POLICY策略为:tenantid = ‘a’
CREATE ROW POLICY test_row_policy_1 ON test.table1
AS RESTRICTIVE TO test_user USING (tenantid = 'a');
(2)使用ROW POLICY查询:
当用户test_user执行查询语句的时,Doris进行SQL改写,将ROW POLICY注入到SQL中。
select * from (select * from table1 where tenantid

最低0.47元/天 解锁文章
3287

被折叠的 条评论
为什么被折叠?



