gpt4 book ai didi

c# - 如何使用原始值而不是掩码值将修改后的掩码值保存到azure SQL数据库中?

转载 作者:太空宇宙 更新时间:2023-11-03 23:04:14 25 4
gpt4 key购买 nike

我使用下面的链接在当前项目中实现了动态数据屏蔽概念。

https://learn.microsoft.com/en-us/azure/sql-database/sql-database-dynamic-data-masking-get-started

我添加了 SSN 字段的掩码,之后我只能看到 SSN 字段的掩码数据,例如 XXXX-XX-0001。但每当我修改 SSN 归档(XXXX-XX-0002)并保存到 azure SQL 数据库时,都会保存屏蔽数据而不是原始 SSN 值。

如何将更新后的掩码值与原始值一起保存到 Azure SQL 数据库中?

最佳答案

正如这位官方document关于 DDM 的说明:

Dynamic data masking helps prevent unauthorized access to sensitive data by enabling customers to designate how much of the sensitive data to reveal with minimal impact on the application layer. It’s a policy-based security feature that hides the sensitive data in the result set of a query over designated database fields, while the data in the database is not changed.

动态数据脱敏策略

SQL users excluded from masking - A set of SQL users or AAD identities that will get unmasked data in the SQL query results. Note that users with administrator privileges will always be excluded from masking, and will see the original data without any mask.

动态数据脱敏的目的是限制敏感数据的暴露,防止无权访问数据的用户查看数据。

根据您的描述,我假设您的 SQL 用户具有写入权限,但没有UNMASK权限。此时,当您将 SSN 字段更新到 Azure SQL 数据库时,您的 SSN 字段将包含静态屏蔽数据。

要授予查看未屏蔽数据的权限,您可以向 SQL 用户授予 UNMASK 权限,如下所示:

GRANT UNMASK TO TestUser;  
EXECUTE AS USER = 'TestUser';
SELECT * FROM Membership;
REVERT;

-- Removing the UNMASK permission
REVOKE UNMASK TO TestUser;

或者您可以登录 Azure 门户,键入应从屏蔽中排除的 SQL 用户或 AAD 身份,如下所示:

总而言之,由于您使用 DDM 来隐藏查询结果中的敏感数据,因此最好不要授予用户写入权限(db_datawriter db 角色)。您可以按照此 tutorial 中的“最佳实践和常见用例”部分进行操作。 。另外,你可以引用这个tutorial关于配置和自定义 SQL Azure 动态数据屏蔽。

关于c# - 如何使用原始值而不是掩码值将修改后的掩码值保存到azure SQL数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41912955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com