我想让数据库访问其他人,但是我想隐藏敏感数据,例如信用卡号和电子邮件地址。屏蔽功能在SQL Server 2012中不起作用。
解决此问题的最佳方法是什么?
答案 0 :(得分:1)
您无法使用dynamic data masking或row level security之类的新内容来限制对某些字段或行的访问,因此您可以使用旧方法。
创建视图并仅公开您需要显示的字段。仅授予对这些视图的访问权限。
不要为动态数据屏蔽感到难过。这不是安全功能,并且有多种技术可以公开信息。
尝试这样的事情:
CREATE VIEW [dbo].[vw_SenstiveData]
AS
SELECT [UserID]
,'XXXXXXXX' AS [UserName]
,LEFT([SocialID], 4) + '-XXX-XXX-XXXXXXX-' + RIGHT([SocialID], 3) AS [SocialID]
FROM [dbo].[Users]