zczy 最近的时间轴更新
zczy

zczy

V2EX 第 222269 号会员,加入于 2017-03-21 19:59:54 +08:00
今日活跃度排名 3231
zczy 最近回复了
10 天前
回复了 zczy 创建的主题 程序员 sql 改写类的数据脱敏遇到的问题求助
@yzdobest 我个人设想是这样的

不同的用户有不同的策略,也就是配置了不同的 udf 函数

使用同一个 sql 语句,执行查询出来的结果看到的不一样

然后数据源是干净的,不是脱敏后的数据
11 天前
回复了 zczy 创建的主题 程序员 sql 改写类的数据脱敏遇到的问题求助
@dorothyREN 这个是个人开源项目
11 天前
回复了 zczy 创建的主题 程序员 sql 改写类的数据脱敏遇到的问题求助
@laminux29 你这个是数据脱敏,也有的

我们现在是策略脱敏,原数据是干净的
12 天前
回复了 zczy 创建的主题 程序员 sql 改写类的数据脱敏遇到的问题求助
@buliugu
如果是嵌在整个执行计划中,要适配不同的数据存储,可能也不太行

有的比较复杂的 sql 语句估计还是会有脱敏后计算的场景
13 天前
回复了 zczy 创建的主题 程序员 sql 改写类的数据脱敏遇到的问题求助
@buliugu
还有啥好的思路吗,大佬
13 天前
回复了 zczy 创建的主题 程序员 sql 改写类的数据脱敏遇到的问题求助
@gengzi
对,只是对 sql 语句的改写

分了三个模块,policy,metadata,rewriteSql 部分

https://github.com/xylou/sqlMask
13 天前
回复了 zczy 创建的主题 程序员 sql 改写类的数据脱敏遇到的问题求助
@dayeye2006199
当然不可以啦

with t1 as (select name from emps union select name from depts) select name from t1

你看一下这种类型的 sql

```
@Test
public void sqlTest4() throws Exception {
String originSql = "with t1 as (select name from emps union select name from depts) select name from t1";
String expectSql = "with t1 as (select hash_fun(1, 5, emps.name, '*') as name\n" +
"from sales.emps as emps\n" +
"union\n" +
"select hash_fun3(1, 7, depts.name, '*') as name\n" +
"from sales.depts as depts) (select t1.name\n" +
"from t1 as t1)";
String maskSql = qs3.getMaskSql(originSql);
compareSql(maskSql, expectSql);
}
```

如果后面有 where 语句的话
13 天前
回复了 zczy 创建的主题 程序员 sql 改写类的数据脱敏遇到的问题求助
@buliugu
那这种就不是改写 sql 了
13 天前
回复了 zczy 创建的主题 程序员 sql 改写类的数据脱敏遇到的问题求助
@buliugu

没明白什么意思,现在查到原始列了啊

问题是 where 语句里的列啊
13 天前
回复了 zczy 创建的主题 程序员 sql 改写类的数据脱敏遇到的问题求助
@RRRoger

但是这个思路估计是可以的

需要再写一个执行查询的接口,不让看到中间 sql 就行

原来只有 loadPolicy 和 loadMetadata 接口
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3136 人在线   最高记录 5298   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 25ms · UTC 14:05 · PVG 22:05 · LAX 06:05 · JFK 09:05
♥ Do have faith in what you're doing.