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

本文將說明SQL Server 2016中三項與安全性有關的新功能:一律加密、資料列層級安全性及動態資料遮罩,讓企業即使將資料放在公有雲上也能擁有資料的所有權,並且可以管理資料存取權限,為資料建立遮罩避免外流。

此外,也可以利用Always Encrypted Wizard來達到相同目的,如圖3所示。


▲圖3 使用Always Encrypted Wizard建立資料行主要金鑰與資料行加密金鑰。

在AdventureWorks2016CTP3範例資料庫內,已經事先將Sales.CustomerPII資料表的SSN和CreditCardNumber資料行啟用一律加密,因此在沒有資料行主要金鑰(Column Master Keys)的環境中只會看到加密後的結果,如圖4所示。


▲圖4 SSN和CreditCardNumber資料行已啟用一律加密,若無資料行主要金鑰,則會看到編碼後的內容。

若要解密,必須匯入建立資料行主要金鑰所使用的憑證,其路徑為「範例程式碼解壓縮路徑SQLServer2016CTP3Samples\AlwaysEncrypted\Always EncryptedCMK.pfx」。

於憑證匯入精靈選擇預設存放位置為目前使用者後,按下〔下一步〕按鈕,如圖5所示。


▲圖5 匯入範例程式碼中用來建立資料行主要金鑰的憑證。

如圖6所示,確認憑證檔案路徑無誤後,再按下〔下一步〕按鈕。


▲圖6 確認憑證路徑。

輸入私密金鑰密碼為「AlwaysEncrypted」,並按下〔下一步〕按鈕,如圖7所示。


▲圖7 輸入私密金鑰密碼。

然後,使用預設值來自動依據憑證類型選取憑證存放區,如圖8所示。


▲圖8 選擇憑證存放位置。

若一切順利,按下〔完成〕按鈕即可匯入憑證(圖9)。有了這張憑證,才可以正常使用資料行主要金鑰來解開一律加密所保護的資料行。


▲圖9 完成憑證匯入。

隨即重新連接到Database Engine,並如圖10所示在〔Additional Connection Parameters〕頁籤內輸入「Column Encryption Setting=Enabled」的連線 參數。


▲圖10 使用Column Encryption Setting連線參數。

如圖11所示,接著重新查詢Sales.CustomerPII資料表的SSN和CreditCardNumber資料行,就可以看到解密後的明文。


▲圖11 SSN和CreditCardNumber資料行解密後的結果。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!