动态数据掩码停止工作

Dynamic Data Masks stopped working

我有一个测试网页,该网页使用受限 SQL 用户查询 Azure SQL 数据库以从屏蔽字段中获取数据。它返回数据并被屏蔽。我很高兴。 我用一个按钮更改了用户,瞧!我可以看到实际数据。

然后今天不知怎么的,不灵了,我哭了。

中间我没有更改任何代码。 但是,我确实使用 Azure 门户打开审核(无法想象会影响它)。 我认为 TDE 可能会与 DDM 冲突,但我在其他地方读到它不会冲突 - 而且它在工作时已经启用。 我 运行 查询显示我的 "nobody" SQL 用户有什么权限 - 只有 "connect"。

所以我删除了我的 "nobody" 用户并创建了一个新的 SQL 关联用户登录(而不是仅仅一个用户)。这样我就可以使用 SSMS 以应该受屏蔽影响的受限用户身份登录 - 但不会。

所以我可以在 TSQL 中或通过 Azure 设置掩码,Azure 会显示受影响的字段。但是我每次 运行 在 SSMS 中或通过 .net 进行查询时,我都会看到未屏蔽的数据。

我真的很困惑所以任何帮助都会很棒。

在某些情况下屏蔽会停止工作吗? 还有什么我可以检查以确保其设置正确吗?

非常多

SQL 具有管理权限的用户始终被排除在动态数据屏蔽之外。 DB_owners 也可以看到未屏蔽的数据。仅屏蔽 data_reader 的数据。因此,如果您看到未屏蔽的数据,请确保对要屏蔽数据的用户使用 data_reader 权限。

能否提供您的订阅、服务器名称和数据库名称?你可以直接发给我 - ronitr microsoft com 我们想对此进行调查 - 您可能遇到了我们正在追踪的错误案例。 谢谢

在与 Microsoft 合作找出问题所在后,得出的结论是动态数据屏蔽不能很好地与 Azure 数据分类功能配合使用。

当使用数据分类时,DDM 被关闭,导致只有 select 权限的人能够看到屏蔽的数据。

根据 MS 代表的说法,修复将在 4-5 周内完成,但没有关于何时推出的 ETA。