SQLServer有各种加密方式,比如使用加密函数进行数据列加密,Dynamic Data Masking(动态数据屏蔽),但是都达不到数据脱敏的效果,特别是动态数据屏蔽,可以强行绕过加密。而数据脱敏的效果应该是在从生产数据库迁移数据库到其它环境时,屏蔽掉敏感数据,而不改变其数据类型。对比Oracle的Data Masking,SQLServer在新版本的Management studio中推出了静态数据屏蔽的功能。本文就是针对这个功能的详细介绍。
操作前请先下载SSMS的18.0Preview5版本:链接: https://pan.baidu.com/s/1KF5GTcXDOxq456iRlyANFQ 提取码: n84j
使用场景:
•开发和测试
•分析和业务报告
• 故障排除
•与顾问,研究团队或任何第三方共享数据库
工作原理:
静态数据屏蔽发生在列级别。用户选择他们希望屏蔽的列,并且对于所选的每列,他们希望应用哪个屏蔽功能。有几种掩蔽功能可供选择,它们在掩蔽函数中有详细描述。
然后,静态数据屏蔽将创建数据库的副本。对于Azure SQL数据库,通过复制功能执行复制。对于SQL Server,它通过备份操作执行,然后执行还原操作。从那里,对于每列,静态数据掩蔽开始根据所选择的掩蔽功能用掩蔽后数据替换预掩蔽数据。
替换在存储级别完成,因此在静态数据屏蔽完成后,无法从数据库的屏蔽副本中检索预屏蔽数据。
操作步骤:
1. 启动SSMS,连接到您的数据库。在左侧的“对象资源管理器”窗格中,展开“数据库”文件夹。右键单击要屏蔽的数据库,左键单击“任务”,左键单击Mask数据库...(预览):
2. 弹出屏蔽配置窗口,它将显示数据库中的所有表。 这些表由模式表示,然后在模式中按字母顺序排序。
3. 单击表名