订阅更新

运营同事不小心删了表——Doris权限管理和多租户实践

Doris手册 第 15 题 约 4 分钟读完

本文目录
  1. 先说结论
  2. 用户和角色管理
  3. 权限粒度——从全局到列级别
  4. 列级权限的替代方案——视图脱敏
  5. 多租户资源隔离——Workload Group
  6. 实战经验:我在某元宇宙社交公司的权限设计
  7. 实战踩坑:差点被TRUNCATE TABLE搞崩的故事
  8. 面试高频追问
  9. 总结

先说结论

Doris的权限体系和MySQL几乎一致:用户 + 角色 + 权限三层模型。核心原则是最小权限——每个用户只给他需要的最少权限。生产环境至少要做到:查询用户只有SELECT权限、ETL用户有INSERT权限、管理员才有DDL和ADMIN权限。

多租户场景:不同部门创建不同的角色,每个角色绑定不同的库表权限。配合Workload Group做资源隔离,防止互相影响。

先把这段讲顺;面试官追问时,再展开下面的原理和细节。

详细讲解

在某元宇宙社交公司,有一次差点出大事:一个运营同事用Metabase连Doris做临时分析,不小心在SQL编辑器里执行了一个TRUNCATE TABLE。还好Doris有权限控制,他的账号没有DDL权限,执行直接报错了。但这次惊吓让我意识到权限管理的重要性。Doris兼容MySQL权限体系,用起来不难,但要设计合理。面试中大厂也越来越关注数据安全和权限治理。

用户和角色管理

权限粒度——从全局到列级别

权限粒度示例适用场景
全局权限GRANT ALL ON *.* TO user超级管理员
数据库级GRANT SELECT ON mydb.* TO user按部门分库
表级GRANT SELECT ON mydb.sensitive_table TO user敏感表单独控制
列级(Doris 2.0+)配合视图实现列级脱敏隐藏敏感字段

列级权限的替代方案——视图脱敏

多租户资源隔离——Workload Group

这样即使分析师跑了全表扫描的重查询,也只能用20%的内存和10%的CPU,不会影响实时大盘。这是我在元宇宙社交公司被SELECT *拖慢集群之后落地的方案。

实战经验:我在某元宇宙社交公司的权限设计

用户/系统角色权限Workload Group
Flink ETLetl_roleSELECT + LOAD(读+写)etl(30% CPU)
Metabase大盘dashboard_roleSELECT(特定库)dashboard(40% CPU)
运营分析师analyst_roleSELECT(脱敏视图)analyst(10% CPU)
产品经理analyst_roleSELECT(脱敏视图)analyst(10% CPU)
Wood(管理员)admin_roleALLadmin(不限制)

实战踩坑:差点被TRUNCATE TABLE搞崩的故事

前面开头提到的那次惊吓:运营同事在Metabase的SQL编辑器里想执行一个DELETE语句清理测试数据,结果手滑复制了一段SQL包含TRUNCATE TABLE dwd_user_event。幸好他的账号只有SELECT权限,执行报错了。

事后加强措施:① Metabase连接配置用只读账号;② 所有分析类工具用专用只读角色;③ ETL操作只通过Flink专用账号执行;④ DDL权限只有admin_role有,且需要审批流程。

这次之后再没出过权限相关的问题。权限设计就像安全带——平时觉得没用,出事的时候救命。

面试高频追问

追问一:Doris的权限和MySQL完全一样吗?

高度兼容但不完全一样。Doris额外有ADMIN_PRIV(集群管理)、NODE_PRIV(节点管理)、LOAD_PRIV(数据导入)。核心的SELECT/INSERT/CREATE/DROP和MySQL一致。

追问二:行级权限Doris支持吗?

Doris 2.0+支持Row Policy(行级安全策略)。也可以用视图+WHERE条件实现行级过滤——创建一个带WHERE country = 'US'的视图给美国运营用。

追问三:怎么审计谁执行了什么SQL?

Doris自带审计日志(Audit Log),记录每条SQL的执行者、时间、扫描行数、执行时间等。通过FE审计日志插件可以把日志写入Doris自身的表里,方便查询分析。

总结

Doris权限管理面试讲三个层面:① 权限模型(用户+角色+权限,最小权限原则);② 敏感数据保护(视图脱敏、行级策略);③ 资源隔离(Workload Group给不同角色分配CPU/内存配额)。能讲出'分析师差点TRUNCATE TABLE'的真实故事和事后加强措施,面试官会觉得你不只懂技术,还有安全意识和运维经验。

Doris 面试通关手册

第16-20篇:高级特性与面试总结

Wood聊大数据

9年大数据老兵,聊技术、聊职场、聊成长

刷题进度保存在当前浏览器