在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

SQLServer动态掩码的案例分析

99次阅读
没有评论

共计 2400 个字符,预计需要花费 6 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章给大家分享的是有关 SQLServer 动态掩码的案例分析的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考。一起跟随丸趣 TV 小编过来看看吧。

动态数据掩码(DDM)是 SQL Server 2016 引入的一个新功能。目的就是限制没有权限的人去看到一些隐私信息。管理员用户能够决定哪些字段是需要被掩码的,那么如何在不改变应用程序代码的基础上掩码?还要保证无论如何访问数据,都是一致的。

这是 Azure SQL 数据库中首次引入的特性,它在云上接受用户的测试,并已迁移到本地产品。我想很多其他的新特性也会遵循这条方式(云 – 本地)。

需要注意的是与我之前的行级别数据安全一样,这些都是数据安全相关内容(推荐课程:MySQL 教程)

列数据掩码

首先创建一个在一些数据上带有掩码版的表。我将在表定义中开始的一个字段中添加一个掩码。注意,这样做的方式是在数据类型之后使用“mask with()”格式,但是在 NULL 和默认选项之前,要在圆括号内包含 FUNCTION =,它指定了我们的函数。在引号内,我们指定掩码。CREATE TABLE 语句如下

CREATE TABLE MyTable
 (MySSN VARCHAR (10) MASKED WITH (FUNCTION = default() ) DEFAULT (0000000000)
 , MyName VARCHAR (200) DEFAULT ( )
 , MyEmail VARCHAR (250) DEFAULT ( )
 , MyInt int
INSERT dbo. MyTable
 (MySSN , MyName, MyEmail , MyInt)
VALUES
 (1234567890 , Steve Jones , [email protected] , 10)

如果创建者查询这个表,就会看到一个普通的表。我得到所有的数据,当它被插入时。这是因为我是一个有权限的用户。同理那些具有 dbo 特权 (db_owner 或 sysadmin 角色) 的用户将不会看到屏蔽数据。现在创建一个正常的用户没有高权限的用户。当然,我需要授予普通的 SQL Server 权限来查看表中的数据。

CREATE USER mytest WITHOUT LOGIN
GRANT SELECT ON mytable TO mytest

现在我们可以用这个用户查询这个表,看一下有什么不同。

SQLServer 动态掩码的案例分析

我们可以看到第一列包含掩码数据。只有 x 出现在数据的位置。这就实现了我想要的,即对非特权用户隐藏数据。注意,磁盘上的数据没有更改。数据只有在返回给非特权用户时才会被屏蔽。
我可以在执行计划的最后一部分看到这种情况。我需要授予用户查看计划的权限,但是当我这样做时,我看到的是用户的计划,使用的是上面相同的查询。

SQLServer 动态掩码的案例分析

我可以在表上定义其他类型的掩码。有一个自定义的掩码格式,允许控制显示的内容,一个电子邮件地址的遮罩,和一个随机的数字遮罩。我们将在另一篇文章中详细讨论这些问题。

现在可以添加掩码到另一列上面,比如邮件 MyEmail 列,可以使用邮件掩码的格式,具体代码如下:

ALTER TABLE dbo.MyTable
 ALTER COLUMN MyEmail VARCHAR(250) MASKED WITH (FUNCTION= email() )
GO

然后查询结果如下:

SQLServer 动态掩码的案例分析

也可以对多个和列进行掩码

CREATE TABLE MySecondTable (MyEmail VARCHAR( 250) MASKED WITH (FUNCTION= email() )
, MySSN VARCHAR (10) MASKED WITH (FUNCTION = default() )
, MyID INT MASKED WITH (FUNCTION = random(1,4) )
)GOINSERT MySecondTable VALUES
 ([email protected] , 1234567890 , 100)
 , ([email protected] , 0123456789 , 555)
 , ([email protected] , 9876543210 , 999)

查询结果如下:

SQLServer 动态掩码的案例分析

正如我们所看到的,我从不同的行得到不同的掩码,每个掩码应用于特定行的数据。

允许用户看到掩码真实数据

SQL Server 2016 中有一个新的 DDM 权限。这是 UNMASK 权限,它和其他任何权限一样被授予。让我们来看看这是如何工作的。我将创建一个具有与现有用户相同权限的新用户。然后我将查询该表。

SQLServer 动态掩码的案例分析

与之前相似的结果,然后我们在给用授权打开掩码。

SQLServer 动态掩码的案例分析

现在我们可以看到数据的显示方式与特权用户的显示方式相同。对于 NewTester 用户,所有的数据都是“未屏蔽的”。
然而,这也有不利的一面。UNMASK 权限在数据库范围内授予用户。没有按表或列划分的粒度。如果用户具有 UNMASK,他们可以查看存储在数据库中的表中具有 SELECT 权限的所有数据。我们可以通过使用 Newtest 查询第一个表来看到这一点。

SQLServer 动态掩码的案例分析

移除掩码

代码如下:

ALTER TABLE dbo.MySecondTable
 ALTER COLUMN MySSN DROP MASKED;

一旦我这样做,用户将直接看到真实数据。

SQLServer 动态掩码的案例分析

MySSN 列的数据是未屏蔽的,但是 MyEmail 和 MyID 的数据仍然是屏蔽的

动态数据屏蔽是一个很好的新特性,旨在更容易地?;な莶皇芊翘厝ㄓ没У挠跋?。这可以在数据库中实现,而不需要更改任何应用程序代码,从而允许您以最小的成本和工作量对应用程序用户屏蔽敏感数据。我还要提醒您,这并不是真正的安全特性。存储在磁盘和表中的数据不会以任何方式更改。这仍然是纯文本数据,如果用户能够查询系统,他们仍然可以潜在地查询您的数据并发现其值。

感谢各位的阅读!关于 SQLServer 动态掩码的案例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-18发表,共计2400字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 日韩 视频在线播放 | 久久精品亚洲一级毛片 | 国产精品一区二区午夜嘿嘿嘿小说 | 色偷偷狠狠色综合网 | 国产真实高潮太爽了 | 亚洲av片劲爆在线观看 | 久久网站视频 | 国产成人在线观看免费网站 | 国产偷v国产偷v亚洲高清 | 蜜臀av色欲a片无码精品一区 | 毛片内射-百度 | 韩国三级久久网 | 初尝黑人嗷嗷叫中文字幕 | 四虎高清成人永久免费影院 | 老师脱了内裤让我爽了一夜 | 久久精品国产精品亚洲艾 | 欧美成人性高清观看 | 一本到视频在线 | 91探花福利精品国产自产在线 | 欧美深深色噜噜狠狠yyy | 在线播放亚洲精品 | 成人在线视屏 | 久久久久亚洲av成人网人人网站 | 日韩一区精品视频一区二区 | 亚洲人成人网站在线观看 | 久久综合久久88 | 天河影院在线观看 | 国产亚洲新品一区二区 | 亚洲国产精品久久久久秋霞 | 国产日韩免费 | 欧美 日 | 精品视频自拍 | 少妇高清精品毛片在线视频 | 精品国产乱码久久久久久口爆网站 | 免费一级黄 | 中出人妻中文字幕无码 | 青草草在线视频永久免费 | 亚洲av伊人久久综合密臀性色 | 一区二区三区视频在线播放 | 高清欧美色欧美综合网站 | 国产成人 免费观看 |