FlinkSQL 的行级权限解决方案及源码
原文中文,约12900字,阅读约需31分钟。发表于: 。FlinkSQL的行级权限解决方案及源码,支持面向用户级别的行级数据访问控制,即特定用户只能访问授权过的行,隐藏未授权的行数据。此方案是实时领域Flink的解决方案,类似离线数仓Hive中Ranger Row-level Filter方案。
FlinkSQL支持不同用户执行相同SQL时,根据用户名和表名查找配置的行级权限条件,重新组装Where条件,实现行级权限控制。源码修改包括新增Parser和ParserImpl类,新增SqlSelect类,封装SecurityContext类,计划支持数据脱敏和开发ranger-flink-plugin。