SQL Server驗(yàn)證方法選擇
SQL Server建立了一種既靈活又強(qiáng)大的安全管理機(jī)制,在SQL Server驗(yàn)證等方面保障了數(shù)據(jù)庫的安全,下面就為您介紹SQL Server驗(yàn)證方法選擇,供您參考。
下面對驗(yàn)證(authentication)和授權(quán)(authorization)這兩個(gè)概念作不同的解釋。SQL Server驗(yàn)證是指檢驗(yàn)用戶的身份標(biāo)識;授權(quán)是指允許用戶做些什么。在本文的討論中,驗(yàn)證過程在用戶登錄SQL Server的時(shí)候出現(xiàn),授權(quán)過程在用戶試圖訪問數(shù)據(jù)或執(zhí)行命令的時(shí)候出現(xiàn)。
構(gòu)造安全策略的***個(gè)步驟是確定SQL Server用哪種方式驗(yàn)證用戶。SQL Server的驗(yàn)證是把一組帳戶、密碼與Master數(shù)據(jù)庫Sysxlogins表中的一個(gè)清單進(jìn)行匹配。Windows NT/2000的驗(yàn)證是請求域控制器檢查用戶身份的合法性。
一般地,如果服務(wù)器可以訪問域控制器,我們應(yīng)該使用Windows NT/2000驗(yàn)證。域控制器可以是Win2K服務(wù)器,也可以是NT服務(wù)器。無論在哪種情況下,SQL Server都接收到一個(gè)訪問標(biāo)記(Access Token)。訪問標(biāo)記是在驗(yàn)證過程中構(gòu)造出來的一個(gè)特殊列表,其中包含了用戶的SID(安全標(biāo)識號)以及一系列用戶所在組的SID。
正如本文后面所介紹的,SQL Server以這些SID為基礎(chǔ)授予訪問權(quán)限。注意,操作系統(tǒng)如何構(gòu)造訪問標(biāo)記并不重要,SQL Server只使用訪問標(biāo)記中的SID。也就是說,不論你使用SQL Server 2000、SQL Server 7.0、Win2K還是NT進(jìn)行驗(yàn)證都無關(guān)緊要,結(jié)果都一樣。
如果使用SQL Server驗(yàn)證的登錄,它***的好處是很容易通過Enterprise Manager實(shí)現(xiàn),***的缺點(diǎn)在于SQL Server驗(yàn)證的登錄只對特定的服務(wù)器有效,也就是說,在一個(gè)多服務(wù)器的環(huán)境中管理比較困難。使用SQL Server進(jìn)行驗(yàn)證的第二個(gè)重要的缺點(diǎn)是,對于每一個(gè)數(shù)據(jù)庫,我們必須分別地為它管理權(quán)限。
如果某個(gè)用戶對兩個(gè)數(shù)據(jù)庫有相同的權(quán)限要求,我們必須手工設(shè)置兩個(gè)數(shù)據(jù)庫的權(quán)限,或者編寫腳本設(shè)置權(quán)限。如果用戶數(shù)量較少,比如25個(gè)以下,而且這些用戶的權(quán)限變化不是很頻繁,SQL Server驗(yàn)證的登錄或許適用。但是,在幾乎所有的其他情況下(有一些例外情況,例如直接管理安全問題的應(yīng)用),這種登錄方式的管理負(fù)擔(dān)將超過它的優(yōu)點(diǎn)。
【編輯推薦】