新功能简介|MySQL8.0数据查询脱敏

2020-02-17 12:03:37 浏览数 (1)

数据库管理员会负责维护数据的隐私和完整性。针对数据的脱敏,通常的方案是:应用端实现或者引入加密机等。

不过现在MySQL8.0实现了数据脱敏这个功能,可以减少应用的复杂性、减少开发的工作量,也能友好的保护了数据的隐私和完整性。

在8.0.13企业版中推出插件“data_masking.so”,可以实现数据的脱敏操作。

可以实现例如:银行卡号中的后四位为X字符、生产随机数据、例如电子邮件地址和支付卡号等...

具体操作可以参考

https://dev.mysql.com/doc/refman/8.0/en/data-masking-usage.html

如果没有预算购买企业版MySQL,但迫切需要这个功能,该如何操作。

Percona MySQL Server实现了类似的功能。

在Percona Server 8.0.17-8的版本中,目前作为实验功能,具体操作文档如下:

https://www.percona.com/community-blog/2019/12/13/percona-server-for-mysql-8-0-new-data-masking-feature/

https://www.percona.com/doc/percona-server/LATEST/security/data-masking.html

不过Percona在实现的过程中,引入新的概念字典,可以直接使用Percona提供的字典,也可以根据Percona提供的字典进行修改。

简单举例

1.1创建表

1.2 创建视图做比对

1.3 结果对比

目前Percona MySQL Server 对此功能没有GA,现在不能在生产环境使用

少量数据:未来的规划中 可以使用逻辑备份,备份还原到新的数据库中。

大量数据:克隆原始数据(应该是物理备份之类的..)

大量数据:主从复制、或者proxysql的多路复用

更详细的介绍可以看percona的文档(扩展阅读第二个)

扩展阅读

https://dev.mysql.com/doc/refman/8.0/en/data-masking-usage.html

https://www.percona.com/community-blog/2019/12/13/percona-server-for-mysql-8-0-new-data-masking-feature/

https://www.percona.com/doc/percona-server/LATEST/security/data-masking.html

字典地址:

https://raw.githubusercontent.com/philipperemy/name-dataset/master/names_dataset/first_names.all.txt

https://raw.githubusercontent.com/philipperemy/name-dataset/master/names_dataset/last_names.all.txt

测试表地址:

https://github.com/datacharmer/test_db

0 人点赞