最近更新文章
2017/12/15
2017 紅帽論壇:開源創新 始於個人
2017/12/15
遠傳攜手愛立信全台首演5G 下載飆速27Gbps
2017/12/15
TIBCO 聯手資拓宏宇開發"BankWiz 企業服務整合平台"
2017/12/15
日立Vantara新品牌策略 以數據驅動IoT未來
2017/12/15
依應用設定硬體組態 重新定位IT角色
2017/12/14
富士全錄全新六色量產型數位印刷機
2017/12/14
合勤推出全新三頻全覆蓋無線延伸系統
2017/12/14
Fortinet 2018預測報告:將出現高度毀滅性且能自我學習的群集網路攻擊
2017/12/14
凌羣雲端機器人-Ayuda智慧平台 獲頒2017雲端物聯網創新獎冠軍
2017/12/14
APT攻擊災損超乎想像
2017/12/14
遠交近攻助企業跨越門檻 混合雲應用不必再雙主修
2017/12/13
Forcepoint2018預測報告:安全威脅「隱私之戰」即將開打
2017/12/13
Aruba 創下Gartner六項企業存取網路使用案例評比皆冠
2017/12/13
用混合雲翻新應用架構 設備與服務齊頭並進
2017/12/12
威聯通發表「虛擬機工作站」技術白皮書
2017/12/12
由維運者賦予開發者體驗 實踐DevOps有捷徑
2017/12/12
實戰L3 IP Routing VPN 提升跨網段服務品質
2017/12/12
Wi-Fi體驗決定住房意願 飯店力拼網路基礎設施
2017/12/11
多雲資安上路 影子IT有解
2017/12/11
軟體定義儲存也要嚴選 東森得易購導入微軟S2D
2017/12/10
台灣 HITCON CTF 國際資安競賽 韓國隊Cykorkinesis拿下三連霸
2017/12/10
台灣艾默生網絡能源正式更名為台灣維諦
將此篇文章跟 Facebook 上的朋友分享將此篇文章跟 Plurk 上的朋友分享將此篇文章跟 Twitter 上的朋友分享列印轉寄
2016/4/11

雲端資料不怕管理員偷看 精細管控存取權限並防止外洩

實戰三大資料保護新功能 SQL Server 2016更安全

莊國志
本文將說明SQL Server 2016中三項與安全性有關的新功能:一律加密、資料列層級安全性及動態資料遮罩,讓企業即使將資料放在公有雲上也能擁有資料的所有權,並且可以管理資料存取權限,為資料建立遮罩避免外流。
若使用自行開發的應用程式,一樣只需在連線字串中加入上述連線參數,並擁有建立資料行主要金鑰(Column Master Keys)的憑證,同樣可以看到解密後的資料內容。

簡介資料列層級安全性(Row-Level Security)

資料列層級安全性提供DBA或者是開發人員更為細緻地控制存取資料表的權限,讓企業得以依照所需要之商業邏輯來設計篩選述詞函式(Filter Predicate Functions),進而限制查詢所回傳的資料結果集。

如圖12所示,即使是執行相同T-SQL指令碼,依照登入的使用者不同而有不同的結果,這是因為受到安全性原則所控管。


▲圖12 比較使用不同身分登入查詢相同資料表有不同結果。


這一切是如何運作的呢?首先在SQL Server Management Studio(SSMS)的物件總管視窗,於AdventureWorks2016CTP3資料庫的安全性原則節點,可以看到安全性原則customerPolicy,該原則使用Security.customerAccessPredicate資料表值函式來當作篩選述詞函式,並將FILTER和BLOCK動作套用到目標物件Sales.CustomerPII資料表,如圖13所示。


▲圖13 比較使用不同身分登入查詢相同資料表有不同結果。


而Security.customerAccessPredicate資料表值函式的邏輯主要是依據資料庫使用者、使用者的TerritoryID和角色來限制可以查看的資料列(圖14)。


▲圖14 篩選述詞函式範例。


若以michael9的使用者身分連接至資料庫,安全性原則就會依照篩選述詞函式來判斷有權存取的資料列,即使未使用任何WHERE條件來查詢Sales.CustomerPII資料表,僅有TerritoryID等於2的資料列會被傳回,如圖15所示。


▲圖15 取得michale9的TerritoryID及其可以查詢的資料。


一旦安全性原則套用至所指定的目標物件後,該資料表的CRUD(新增、查詢、更新和刪除)就會先被攔截,確認符合原則才會繼續往下做。承襲前面的範例,倘若michael9嘗試更新或刪除不屬於權限範圍的資料列(非TerritoryID等於2)則會被拒絕,如圖16所示。


▲圖16 嘗試更新或刪除不具權限的資料列。


至於新增動作也是一樣,若故意嘗試新增TerritoryID等於3的資料列,也會因為安全性原則而遭到封鎖(BLOCK),以確保新增資料時也不會誤將權限外的資料新增到資料表(圖17)。


▲圖17 嘗試更新或刪除不具權限的資料列。


經由上述示範,可見資料列層級安全性(Row-Level Security)所帶來的便利,針對應用程式所使用的登入(Login)或使用者的權限來規劃安全性原則,就能有效避免因為程式開發的疏忽而危及資料的安全性和正確性。

何謂動態資料遮罩(Dynamic Data Masking)

處理機敏資料往往是應用程式開發上的一項負擔,為了避免像是個人資料等資訊被有心人士有意或無意窺視,往往需要在資料傳送到應用程式端的時候,自行撰寫程式來模糊化或遮蔽,以避免呈現資料的原始樣貌。

現在這個工作可以交給SQL Server代為處理,藉由SQL Server 2016的動態資料遮罩(Dynamic Data Masking),可以輕易地在回傳查詢結果集時就將其遮罩,應用程式不須額外處理就可以避免資料外洩,對於測試環境或企業需要委外開發資訊系統,這是一項相當便利的功能。

這篇文章讓你覺得滿意不滿意
送出
相關文章
Akamai 發佈3Q' 17網際網路安全報告
依循數位證據處理規範 實戰熱門通訊App蒐證
進階管理MySQL複製 半同步模式不怕資料遺失
用SQL指令分析網站日誌 輕鬆掌握主機運作狀況
正規ADB工具鑑識術 萃取U通訊App有效跡證
留言
顯示暱稱:
留言內容:
送出