安全性問題一直DBA是比較關心的問題,因為建立數據庫的目的就是讓相關的的客戶端來進行訪問,所以很難避免不出現安全隱患,例如客戶端鏈接的權限、數據傳輸過程中的安全等問題,所以大家在考慮SQL Server服務器安全的同時時,必須留意以下幾個方面:
第一方面:
客戶端安全:首先需要保證客戶端必須是安全的,例如需要為你的客戶端安裝防病毒軟件,防火墻,安裝升級補丁等。
第二方面:
數據傳輸過程中的安全:數據在一般的傳輸過程中,很容易被監聽或被捕獲,所以大家應該使用加密機制來保證數據的機密性。
第三方面:
需要在數據庫服務器上實現安全機制以此來保證安全性。SQL Server數據庫是一個非常安全的數據庫,由于客戶端如果想對數據庫里的數據進行操作(select、insert等),就必須經歷三道檢查,也就是我們要經過的三道門(登錄驗證、數據庫驗證、對象權限)。
例:假如我們把SQL Server服務器看成一座大廈,我們首先要現有權利進入大廈,即通過大廈的大門(登錄驗證),然后還得擁有對某個房間的訪問權限(對數據庫的權限),進入房間后還得擁有打開保險柜的權利(對表的操作權限)。也就是首先我們必須先建立登錄帳戶,而登錄帳戶分為兩種:windows帳戶和SQL帳戶(因為SQL Server有兩種身份驗證,即windows身份驗證和混合身份驗證)。具體操作方法:打開“SSMS—SQL Server實例—安全性—登錄名”,右鍵選擇“新建登錄名”,選擇身份驗證模式(身份驗證模式不同,帳戶類型也不一樣,注意:建立windows登錄帳戶,必須先在windows操作系統上先建立該賬戶),輸入名字,并為該用戶選擇一個默認數據庫(比如默認為master數據庫)。該賬戶建立好之后,我們通過“新建”—“數據庫引擎查詢”的方式來測試用戶,我們會發現該用戶只能連接數據庫,并不能對數據庫進行任何其他操作。所以下面是第二道門,建立數據庫用戶,以便用戶可以訪問數據庫,對數據庫進行操作。我們在建立數據庫用戶時,其實就是映射登錄用戶,所以在一般情況下,我們的登錄名和數據庫用戶名是一致的。操作方法:第一種:打開“SSMS—SQL Server實例—具體的數據庫—安全性—數據庫用戶”;第二種:直接在以前建立過的登錄用戶上映射數據庫就可以了。最后一道門是在具體的數據庫對象(比如表)上授予具體的權限,三種權限如下:授予、回收和拒絕。
更多信息請查看IT技術專欄