动态数据掩码(Dynamic Data Masking,简称为DDM)能够防止把敏感数据暴露给未经授权的用户。DDM作用于数据表的字段上,在查询结果中隐藏敏感数据。启用DDM不会修改表中的数据,只是把查询结果对未经授权的用户屏蔽,使未授权用户看到的查询结果是被掩码的,例如,第二列是号码列,前7个数字被掩码,只暴露后三位数字:
![](https://i-blog.csdnimg.cn/blog_migrate/67264df7f3cf11b4a347934838a47996.png)
动态数据屏蔽在 SQL Server 2016 (13.x) 和 Azure SQL Database中开始提供,使用 Transact-SQL 命令进行配置。
一,定义动态数据掩码规则
对于数据表的列定义屏蔽规则,有4种掩码函数:
- Default:对于字符串类型,使用XXXX来做掩码;对于数值类型,使用0值来做掩码;对于date和time类型,使用01.01.1900 00:00:00.0000000来做掩码;对于binary类型,使用0来做掩码。
- Email: