楼主: 幸福指数826
975 4

[休闲其它] 屏蔽动态类型,如何操作 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

学前班

0%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.0051
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
10 点
帖子
0
精华
0
在线时间
0 小时
注册时间
2021-1-27
最后登录
2021-1-27

楼主
幸福指数826 发表于 2021-1-27 22:55:12 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
屏蔽动态类型,如何操作
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:如何操作

沙发
相关系数矩阵047 发表于 2021-1-27 22:56:39

行级安全很适合于全有或全无决策,但有时候,用户需要访问数据的子集。例如,信用卡或者社会保险号的后四位。这可以在应用程序层面实现,但会留下犯错的空间。只要一次忘记屏蔽,就会导致敏感信息泄露。


SQL Server 2016试图通过一项名为“动态数据屏蔽(Dynamic Data Masking)”的特性解决这个问题。如果列在创建列时附加屏蔽,那么它默认只会返回透过屏蔽暴露出来的数据。当前,SQL Server提供了三种类型的屏蔽:


Default屏蔽会根据数据类型返回‘XXX’、0或‘01.01.2000 00:00:00.0000000’。

Email屏蔽会返回‘aXX@XXXX.com’,其中“a”是电子邮件地址的第一个字母,“com”为顶级域名。

Partial屏蔽返回前N个字母、像‘XXX-XX-XX’这样的常量表达式和最后N个字母。

有两种方法可以解除数据屏蔽。第一种是拥有UNMASK全局权限,它可以为用户关闭所有的数据屏蔽。第二种是将屏蔽列转换成底层数据类型。例如:


SELECT FirstName, CAST (Email AS nChar(50)) FROM Members;

局限性


由于屏蔽可以通过类型转换消除,所以不应该将这项特性看作是安全特性。确切地说,它是一个可以与诸如加密敏感信息、不允许用户执行“动态查询(ad hoc queries)”这样的最佳实践结合使用的便利功能。


屏蔽可能导致ORM出现问题。如果ORM不支持按字段跟踪变化,那么它可能会在更新操作时用屏蔽值覆盖实际的值。


藤椅
论文结论846 发表于 2021-1-27 22:57:26
非常感谢!

板凳
encn 发表于 2021-1-28 10:14:26
了解,谢谢提供分享!

报纸
cttn 发表于 2021-1-28 10:15:07
是的,谢谢发表分享!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-22 06:34