我尝试过用Azure Portal的动态数据屏蔽来实现敏感数据屏蔽。灵感来自这篇文章:https://joeydantoni.com/2016/11/07/exporting-masked-data-with-dynamic-data-masking
基本上,我已经创建了具有有限权限的用户,定义了一些掩码,并尝试导出数据库(从Azure Portal和SSMS)。当没有定义掩码时,使用非管理员用户进行导出将按预期进行。然而,当我添加了至少一个掩码-导出失败,消息:
无法从数据库导出模式和数据。发生了一个或多个错误。发生了一个或多个错误。发生了一个或多个错误。发生了一个或多个错误。发生了一个或多个错误。无效的值。
是Azure SQL中的一个bug吗?我没主意了。
编辑:从SSMS"导出数据层应用程序";我发现这个问题发生在少数几个表上(60多个表中的4-5个),但是mask只应用在其中一个表上(准确地说是一个列)。
我已经联系Azure支持来解决这个问题。
此问题仅影响Azure SQL数据库。导出屏蔽数据需要一些只有管理员拥有的权限。因此,以下内容适用于非admin:
- 他可以在不启用屏蔽的情况下导出数据库。
- 他不能导出屏蔽启用的数据库。当获得
UNMASK
授权时,可以导出屏蔽数据库,但导出的数据未被屏蔽。
真可惜。