在 SQL Server 2000 中,安全管理可分為數(shù)據(jù)庫安全管理和服務(wù)器安全管理,數(shù)據(jù)庫的管理主要涉及到用戶對數(shù)據(jù)庫的權(quán)限,服務(wù)器的管理主要是用戶對整個服務(wù)器的操作權(quán)限。在這些權(quán)限管理中,使用基于角色的方式使管理配置變得非常簡單。
基于角色管理數(shù)據(jù)庫安全
當(dāng)我們新建一個數(shù)據(jù)庫后,會在數(shù)據(jù)庫中看到兩個容器:用戶和角色,數(shù)據(jù)庫用戶通過驗證后對于數(shù)據(jù)庫有操作權(quán)限,數(shù)據(jù)庫角色是預(yù)置數(shù)據(jù)庫權(quán)限的對象,有些類似于安全組,但是比組更加靈活,例如數(shù)據(jù)庫角色 db_backupoperator 擁有對于數(shù)據(jù)庫的備份操作權(quán)限,這樣我們只需把這個角色賦給指定用戶,用戶即有了備份數(shù)據(jù)庫權(quán)限。
具體配置方法很簡單:
在企業(yè)管理器中,雙擊用戶容器,通過右鍵菜單打開指定用戶的屬性,可以看到數(shù)據(jù)庫角色列表,選中想要賦予用戶的角色,點擊確定。
也可以打開角色容器,通過雙擊,打開想賦予的角色的屬性,點擊添加,把指定用戶加入這個角色,點擊確定。
缺省的數(shù)據(jù)庫角色有:
db_accessadmin
db_backupoperator
db_datareader
db_datawriter
db_ddladmin
db_denydatareader
db_denydatawriter
db_owner
db_securityadmin
我們還可以創(chuàng)建數(shù)據(jù)庫角色用于管理數(shù)據(jù)庫,在數(shù)據(jù)庫中角色容器,單擊右健,選擇新建數(shù)據(jù)庫角色,指定角色名稱和角色包括的用戶,點擊確定.再次打開這個角色時,單擊權(quán)限給角色配置數(shù)據(jù)庫權(quán)限,包括對數(shù)據(jù)表,視圖,存儲過程的 select , insert , update , delete , exec , dri 權(quán)限.我們可以把創(chuàng)建的數(shù)據(jù)庫角色加入到缺省數(shù)據(jù)庫角色中,來給新數(shù)據(jù)庫角色賦權(quán),但是缺省數(shù)據(jù)庫角色的權(quán)限不能修改.
基于角色管理服務(wù)器安全
在安全容器中,我們能看到登錄和服務(wù)器角色兩個容器,登錄容器中包括可以登錄到 SQL Server 的用戶和組,服務(wù)器角色擁有預(yù)置服務(wù)器操作權(quán)限,可以把用戶加入服務(wù)器角色來給用戶賦予對整個服務(wù)器的操作權(quán)限。
具體配置方法:
在企業(yè)管理器中,打開用戶登錄屬性,點擊服務(wù)器角色標(biāo)簽頁,選中想賦予用戶的服務(wù)器角色,在數(shù)據(jù)庫訪問標(biāo)簽頁,可以設(shè)置對于數(shù)據(jù)庫的訪問權(quán)限和數(shù)據(jù)庫角色,單擊確定。
也同樣可以通過服務(wù)器角色容器配置:打開指定服務(wù)器角色屬性,在常規(guī)標(biāo)簽頁,單擊添加來向這個角色增加用戶,在權(quán)限標(biāo)簽頁,可以看到這個服務(wù)器角色擁有的權(quán)限,為了保存設(shè)置單擊確定。
服務(wù)器角色有:
bulkadmin
dbcreator
diskadmin
processadmin
securityadmin
serveradmin
setupadmin
sysadmin
請注意,服務(wù)器角色的權(quán)限不可修改,與數(shù)據(jù)庫角色不同,我們不能創(chuàng)建服務(wù)器角色。