请教各位大佬,目前公司有个需求,需要解析 sql ,获取到这个 sql 中用的哪些数据的表和字段,然后做一些业务逻辑的判断,大概了解到 Trino 中使用了 Antlr Parser 进行 sql 解析 公司的目前的需求是:sql 传给 trino->需要做个业务判断,这个 sql 里面的表和字段是否都有权限可以使用->可以使用才能执行这个 sql 。 想请教一下各位大佬,trino 中有没有可以直接使用的 api 进行使用?我只需要获取到 sql 树,然后遍历出表和字段,结合业务进行判断。
1
ccw4wcc OP 补充一下:感觉如果把 trino 里面的这一快逻辑单独抽一份出来在业务代码里,回比较臃肿,所以想知道有没有办法直接通过 trino 来控制
|
2
YouXia 295 天前
这种随便怎么搞都可以,比如写个 Trino 插件,然后实现 SystemAccessControl 接口,在获取表和字段的接口里做下判断,比如在 checkCanSelectFromColumns 里做下字段权限的判断。
|
3
ccw4wcc OP 每个用户申请到的字段权限都是不一样的,而且会经常变更,所以个人认为通过 ranger 这样的账号控制的话不太灵活
|