52
社区成员
发帖
与我相关
我的任务
分享本文主要介绍了PolarDB数据库代理(Proxy)提供的动态脱敏功能。
PolarDB数据库代理版本需为2.4.12或以上。如何查看和升级当前数据库代理版本,请参见版本升级。
说明 当前PolarDB数据库代理版本为1.x.x时,暂不支持通过控制台升级到2.4.12及以上,请提交工单联系技术支持进行升级。
在数据库使用中,需要实时地从生产环境中的数据库(即生产库)获取最新的客户数据来进行报表生成、数据分析、开发测试等。但为了不泄露真实的客户个人信息(Personmal Identifiable Information),需要将这些数据进行脱敏处理后才能提供给第三方使用。目前脱敏方案包括动态脱敏和静态脱敏两种,PolarDB数据库代理使用的是动态脱敏方案。
| 脱敏方案 | 说明 | 优点 | 缺点 |
|---|---|---|---|
| 动态脱敏 | 当应用程序发起数据查询请求时,系统会在数据库内部对敏感数据进行变换后再返回给应用程序。
开始查询前,仅需指定需要进行脱敏查询的数据库账号,以及需要脱敏的数据库、表或列的名称即可。 |
| 由于需要对实时数据进行脱敏,因此相较于镜像库,生产库的查询性能会略受影响。 |
| 静态脱敏 | 将生产库的全量数据导入至一个镜像数据库中,同时在导数据的过程中对敏感数据进行加密或脱敏。 | 应用程序访问的不是真正的生产库而是镜像库,因此脱敏过程完全不会影响正常业务对生产库的使用。 |
|
在PolarDB控制台上设置完脱敏规则后,控制台会将规则写入至Proxy中。当应用程序通过规则中指定的账号连接至数据库并查询规则中指定的列时,Proxy会先将数据库返回的数据脱敏转换,再将脱敏后的数据返回给客户端。
上图的脱敏规则为:
testAcc账号连接数据库进行查询时生效。name和age列的数据进行脱敏。当应用程序使用testAcc连接数据库,并查询某个表中的name、age和hobby时,Proxy会将name和age列的数据进行脱敏后再返回,hobby列的数据则未进行脱敏原样返回。
Proxy会对不同类型的数据进行不同的脱敏处理,具体脱敏处理说明如下表所示。
·····