對任何企業組織來說,數據的安全性最為重要。安全性主要是指允許那些具有相應的數據訪問權限的用戶能夠登錄到SQL Server 並訪問數據以及對數據庫對象實施各種權限范圍內的操作,但是要拒絕所有的非授權用戶的非法操作。因此,安全性管理與用戶管理是密不可分的。SQL Server 2000 提供了內置的安全性和數據保護,並且這種管理有效而又容易。
本章主要討論如何創建和管理用戶賬號,以及如何實現和管理安全性,同時包括很多技巧和注意事項,這些技巧和注意事項將使您的工作更輕松,高效。
SQL Server 2000 的安全性管理是建立在認證(authentication)和訪問許可(permission)兩者機制上的認證是指來確定登錄SQL Server 的用戶的登錄賬號和密碼是否正確,以此來驗證其是否具有連接SQL Server 的權限。但是,通過認證階段並不代表能夠訪問SQL Server 中的數據,用戶只有在獲取訪問數據庫的權限之後,才能夠對服務器上的數據庫進行權限許可下的各種操作(主要是針對數據庫對象,如表、視圖、存儲過程等),這種用戶訪問數據庫權限的設置是通過用戶賬號來實現的。同時在SQL Server 中,角色作為用戶組的代替物大大地簡化了安全性管理。
所以在SQL Server 的安全模型中包括以下幾部分:
SQL Server 登錄
數據庫用戶
權限
角色
14.1.1 SQL Server 登錄認證簡介
MS SQL Server 能在兩種安全模式下運行:
WINDOWS 認證模式
混合模式
(1) WINDOWS 認證模式
SQL Server 數據庫系統通常運行在NT 服務器平台或基於NT 構架的WINDOWS 2000 上,而NT 作為網絡操作系統,本身就具備管理登錄,驗證用戶合法性的能力,所以WIN- DOWS 認證模式正是利用這一用戶安全性和賬號管理的機制,允許SQL Server 也可以使用NT 的用戶名和口令。在該模式下,用戶只要通過WINDOWS 的認證就可連接到SQL Server, 而SQL Server 本身也沒有必要管理一套登錄數據。
WINDOWS 認證模式比起SQL Server 認證模式來有許多優點,原因在於WNDOWS 認證模式集成了NT 或WINDOWS 2000 的安全系統,並且NT 安全管理具有眾多特征,如安全合法性,口令加密,對密碼最小長度進行限制等。所以當用戶試圖登錄到SQL Server 時,它從NT 或WNDOWS 2000 的網絡安全屬性中獲取登錄用戶的賬號與密碼,並使用NT 或WINDWOS 2000 驗證賬號和密碼的機制來檢驗登錄的合法性,從而提高了SQL Server 的安全性。
在WINDOWS NT 中使用了用戶組,所以當使用WINDOWS 認證時,我們總是把用戶歸入一定的NT 用戶組,以便當在SQL Server 中對NT 用戶組進行數據庫訪問權限設置時,能夠把這種權限設置傳遞給單一用戶,而且當新增加一個登錄用戶時,也總把它歸入某一NT 用戶組,這種方法可以使用戶更為方便地加入到系統中,並消除了逐一為每一個用戶進行數據庫訪問權限設置而帶來的不必要的工作量。
注意:如果用戶在登際SQL Server時未給出用戶登陸名,則SQL Server將自身使用NT認證模式,而且如果SQL Server被設置為NT認證模式,則用戶在登錄時若輸入一個具體的登錄名時、SQL Server將忽略該登錄名。
如果SQL Server是運行在WINDOWS95/98上的桌面版,則NT認證模式無效。
(2)混合認證模式
在混合認證模式下,WINDOWS 認證和SQL Server 認證這兩種認證模式都是可用的。NT 的用戶既可以使用NT 認證,也可以使用SQL Server 認證。前面已經介紹了WINDOWS 認證的含義,下面向讀者介紹SQL Server 認證模式。
(3) SQL Server 認證
在該認證模式下,用戶在連接SQL Server 時必須提供登錄名和登錄密碼,這些登錄信息存儲在系統表syslogins 中,與NT 的登錄賬號無關。SQL Server 自己執行認證處理,如果輸入的登錄信息與系統表syslogins 中的某條記錄相匹配,則表明登錄成功。
14.1.2 SQL Server 認證模式的設置
在對登錄進行增加刪除等操作前,必須首先設置SQL Server 的認證模式。通過SQL Server Enterprise Manager 來進行認證模式的設置主要執行以下步驟:
(1) 啟動SQL Server EnterpriseManager 選擇,要進行認證模式設置的服務器。
(2) 右擊該服務器,在彈出菜單中選擇Properties, SQL Server 將彈出SQL Server Properties 對話框。
(3) 在SQL Server Properties對話框中選擇Security 選項。如圖14-1 所示。
(4) 在Security 選項欄的 Authentication 處選擇要設置的認證模式,同時可以在 Audit level 處選擇任意一個單選按鈕,來決定跟蹤記錄用戶登錄時的哪種信息,例如登錄成功或失敗的信息。
(5)在Starup service account 設置當啟動SQL Server Enterprise Manager 時默認的登錄者中哪一位用戶。