日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Azure SQL Database (23) Azure SQL Database Dynamic Data Masking动态数据掩码

發(fā)布時間:2024/9/5 数据库 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Azure SQL Database (23) Azure SQL Database Dynamic Data Masking动态数据掩码 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  《Windows Azure Platform 系列文章目錄》

?

  我們在使用關(guān)系型數(shù)據(jù)的時候,有時候希望:

  -  管理員admin,可以查看到所有的數(shù)據(jù)

  -  普通用戶,某些敏感字段,比如信用卡,電子郵件等字段都是屏蔽的

?

  在這種情況下,就可以使用Dynamic Data Masking動態(tài)數(shù)據(jù)掩碼,對數(shù)據(jù)表的某些字段進(jìn)行屏蔽。

  比如我們對用戶的信用卡信息、郵箱地址進(jìn)行屏蔽,可以起到保護(hù)用戶隱私的作用。

?

  動態(tài)數(shù)據(jù)屏蔽策略:

  1.不對其進(jìn)行屏蔽的SQL用戶:一組可以在 SQL 查詢結(jié)果中獲取非屏蔽數(shù)據(jù)的 SQL 用戶或 AAD 標(biāo)識。 始終不會對擁有管理員權(quán)限的用戶進(jìn)行屏蔽,這些用戶可以看到?jīng)]有任何屏蔽的原始數(shù)據(jù)。

  2.屏蔽規(guī)則:一組規(guī)則,定義將要屏蔽的指定字段,以及使用的屏蔽函數(shù)。 可以使用數(shù)據(jù)庫架構(gòu)名稱、表名稱和列名稱定義指定的字段。

  3.屏蔽函數(shù):一組方法,用于控制不同情況下的數(shù)據(jù)透露。

?

屏蔽函數(shù)屏蔽邏輯
默認(rèn)

根據(jù)指定字段的數(shù)據(jù)類型完全屏蔽

對于字符串?dāng)?shù)據(jù)類型(nchar、ntext、nvarchar),將使用 XXXX;如果字段大小小于 4 個字符,則使用更少的 X。
? 對于數(shù)字?jǐn)?shù)據(jù)類型(bigint、bit、decimal、int、money、numeric、smallint、smallmoney、tinyint、float、real),將使用零值。
對于日期/時間數(shù)據(jù)類型(date、datetime2、datetime、datetimeoffset、smalldatetime、time),將使用 1900-01-01。
? 對于 SQL 變量,將使用當(dāng)前類型的默認(rèn)值。
? 對于 XML,將使用文檔 。
? 對于特殊數(shù)據(jù)類型(timestamp、table、hierarchyid、GUID、binary、image、varbinary 空間類型),將使用空值。

信用卡

此屏蔽方法公開指定字段的最后四位數(shù),并添加一個信用卡格式的常量字符串作為前綴。

XXXX-XXXX-XXXX-1234

電子郵件

此屏蔽方法公開第一個字母并將域替換為 XXX.com,并使用一個電子郵件地址格式的常量字符串作為前綴。

aXX@XXXX.com

隨機(jī)數(shù)此屏蔽方法根據(jù)選定邊界和實際數(shù)據(jù)類型生成隨機(jī)數(shù)。 如果指定的邊界相等,則屏蔽函數(shù)將是常數(shù)。
自定義文本

此屏蔽方法公開第一個和最后一個字符,并在中間添加一個自定義填充字符串。 如果原始字符串短于公開的前綴和后綴,則只使用填充字符串。
前綴 [填充] 后綴

  準(zhǔn)備工作:

  1.準(zhǔn)備Azure China賬戶

  2.下載Azure SQL Server Management Studio: ?https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms

  ?

?

  1.首先我們登錄Azure ARM portal:?https://portal.azure.cn

  2.創(chuàng)建一個Azure SQL Database,命名為leisqldbsh。

  同時創(chuàng)建新的Azure SQL Database Server,創(chuàng)建登錄用戶名:leizhang

  

  3.創(chuàng)建完畢后,請設(shè)置SQL Server的IP白名單。

  

  4.使用SSMS鏈接這個數(shù)據(jù)庫。在leisqldbsh下,

  

  執(zhí)行以下T-SQL語句

CREATE TABLE [dbo].[UserInfo]([unikey] int NOT NULL IDENTITY(1,1),[FirstName] [nvarchar](50) NOT NULL,[LastName] [nvarchar](50) NOT NULL,[CreditCard] [nvarchar](50) NOT NULL,[Mail] [nvarchar](50) NOT NULL,[CellPhone] [nvarchar](50) NOT NULL,CONSTRAINT [PK_UserInfo] PRIMARY KEY CLUSTERED ([unikey] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ) GOINSERT INTO dbo.UserInfo(FirstName,LastName,CreditCard,Mail,CellPhone) VALUES ('San','Zhang','4300-0000-0000-0001','sanzhang@msn.com','13900000001'), ('Er','Wang','4300-0000-0000-0002','erwang@msn.com','13900000002'), ('Xiao','Zhang','4300-0000-0000-0003','xiaozhang@msn.com','13900000003'), ('Xiao','Li','4300-0000-0000-0004','xiaoli@msn.com','13900000004'), ('Xiao','Ming','4300-0000-0000-0005','xiaoming@msn.com','13900000005')

?

  5.如果我們以步驟2中創(chuàng)建的用戶leizhang,查詢UserInfor表,就可以查詢到所有的數(shù)據(jù)。如下圖:

?

  6.然后我們需要創(chuàng)建另外一個用戶untrusteddev。

  在master database下,執(zhí)行下面的T-SQL命令:

CREATE LOGIN untrusteddev WITH PASSWORD = 'N0tL0Lc4t5^' GOCREATE USER untrusteddev FOR LOGIN untrusteddev WITH DEFAULT_SCHEMA = [dbo] GO

?

  7.在leisqldbsh database下,執(zhí)行下面的T-SQL

CREATE USER untrusteddev FOR LOGIN untrusteddev WITH DEFAULT_SCHEMA = [dbo] GOEXEC sp_addrolemember N'db_datareader', N'untrusteddev' GO

?

  8.然后查看Dynamic Data Masking,如下圖:

  

?

  點擊上圖的Add Mask。針對CreditCard字段,增加Mask

  

?

  針對Mail字段,增加Mask

  

?

  9.這樣我們針對數(shù)據(jù)表的2個字段的Data Masking都設(shè)置好了。

  我們回顧一下數(shù)據(jù)庫的鏈接信息:

Server Nameleisqlserversh.database.chinacloudapi.cnleisqlserversh.database.secure.chinacloudapi.cn
Login Nameleizhanguntrusteddev
Password
說明sysadmindb_datareader

?

  10.我們以untrusteddev身份,登錄Server:leisqlserversh.database.secure.chinacloudapi.cn (注意這個DNS里面有secure信息)

  查詢表UserInfo,信息如下:

  可以看到CreditCard字段和Mail字段都被屏蔽了。

  

  這樣就能保護(hù)客戶的用戶隱私了。

轉(zhuǎn)載于:https://www.cnblogs.com/threestone/p/7116498.html

總結(jié)

以上是生活随笔為你收集整理的Azure SQL Database (23) Azure SQL Database Dynamic Data Masking动态数据掩码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。