|
最后,如果用戶(hù)都有個(gè)人數(shù)字證書(shū),你可以把那些證書(shū)映射到本地域的NT帳戶(hù)上。個(gè)人數(shù)字證書(shū)與服務(wù)器數(shù)字證書(shū)以同樣的技術(shù)為基礎(chǔ),它證明用戶(hù)身份標(biāo)識(shí)的合法性,所以可以取代NT的Challenge/Response(質(zhì)詢(xún)/回應(yīng))驗(yàn)證算法。Netscape和IE都自動(dòng)在每一個(gè)頁(yè)面請(qǐng)求中把證書(shū)信息發(fā)送給IIS。IIS提供了一個(gè)讓管理員把證書(shū)映射到NT帳戶(hù)的工具。因此,我們可以用數(shù)字證書(shū)取代通常的提供帳戶(hù)名字和密碼的登錄過(guò)程。 由此可見(jiàn),通過(guò)NT帳戶(hù)驗(yàn)證用戶(hù)時(shí)我們可以使用多種實(shí)現(xiàn)方法。即使當(dāng)用戶(hù)通過(guò)IIS跨越Internet連接SQL Server時(shí),選擇仍舊存在。因此,你應(yīng)該把NT驗(yàn)證作為首選的用戶(hù)身份驗(yàn)證辦法。
三、設(shè)置全局組
構(gòu)造安全策略的下一個(gè)步驟是確定用戶(hù)應(yīng)該屬于什么組。通常,每一個(gè)組織或應(yīng)用程序的用戶(hù)都可以按照他們對(duì)數(shù)據(jù)的特定訪問(wèn)要求分成許多類(lèi)別。例如,會(huì)計(jì)應(yīng)用軟件的用戶(hù)一般包括:數(shù)據(jù)輸入操作員,數(shù)據(jù)輸入管理員,報(bào)表編寫(xiě)員,會(huì)計(jì)師,審計(jì)員,財(cái)務(wù)經(jīng)理等。每一組用戶(hù)都有不同的數(shù)據(jù)庫(kù)訪問(wèn)要求。
控制數(shù)據(jù)訪問(wèn)權(quán)限最簡(jiǎn)單的方法是,對(duì)于每一組用戶(hù),分別地為它創(chuàng)建一個(gè)滿足該組用戶(hù)權(quán)限要求的、域內(nèi)全局有效的組。我們既可以為每一個(gè)應(yīng)用分別創(chuàng)建組,也可以創(chuàng)建適用于整個(gè)企業(yè)的、涵蓋廣泛用戶(hù)類(lèi)別的組。然而,如果你想要能夠精確地了解組成員可以做些什么,為每一個(gè)應(yīng)用程序分別創(chuàng)建組是一種較好的選擇。例如,在前面的會(huì)計(jì)系統(tǒng)中,我們應(yīng)該創(chuàng)建Data Entry Operators、Accounting Data Entry Managers等組。請(qǐng)記住,為了簡(jiǎn)化管理,最好為組取一個(gè)能夠明確表示出作用的名字。
除了面向特定應(yīng)用程序的組之外,我們還需要幾個(gè)基本組;窘M的成員負(fù)責(zé)管理服務(wù)器。按照習(xí)慣,我們可以創(chuàng)建下面這些基本組:SQL Server Administrators,SQL Server Users,SQL Server Denied Users,SQL Server DB Creators,SQL Server Security Operators,SQL Server Database Security Operators,SQL Server Developers,以及 DB_Name Users(其中DB_Name是服務(wù)器上一個(gè)數(shù)據(jù)庫(kù)的名字)。當(dāng)然,如果必要的話,你還可以創(chuàng)建其他組。
創(chuàng)建了全局組之后,接下來(lái)我們可以授予它們?cè)L問(wèn)SQL Server的權(quán)限。首先為SQL Server Users創(chuàng)建一個(gè)NT驗(yàn)證的登錄并授予它登錄權(quán)限,把Master數(shù)據(jù)庫(kù)設(shè)置為它的默認(rèn)數(shù)據(jù)庫(kù),但不要授予它訪問(wèn)任何其他數(shù)據(jù)庫(kù)的權(quán)限,也不要把這個(gè)登錄帳戶(hù)設(shè)置為任何服務(wù)器角色的成員。接著再為SQL Server Denied Users重復(fù)這個(gè)過(guò)程,但這次要拒絕登錄訪問(wèn)。在SQL Server中,拒絕權(quán)限始終優(yōu)先。創(chuàng)建了這兩個(gè)組之后,我們就有了一種允許或拒絕用戶(hù)訪問(wèn)服務(wù)器的便捷方法。
為那些沒(méi)有直接在Sysxlogins系統(tǒng)表里面登記的組授權(quán)時(shí),我們不能使用Enterpris Managr,因?yàn)镋nterprise Manager只允許我們從現(xiàn)有登錄名字的列表選擇,而不是域內(nèi)所有組的列表。要訪問(wèn)所有的組,請(qǐng)打開(kāi)Query Analyzer,然后用系統(tǒng)存儲(chǔ)過(guò)程sp_addsrvrolemember以及sp_addrolemember進(jìn)行授權(quán)。
對(duì)于操作服務(wù)器的各個(gè)組,我們可以用sp_addsrvrolemember存儲(chǔ)過(guò)程把各個(gè)登錄加入到合適的服務(wù)器角色:SQL Server Administrators成為Sysadmins角色的成員,SQL Server DB Creators成為Dbcreator角色的成員,SQL Server Security Operators成為Securityadmin角色的成員。注意sp_addsrvrolemember存儲(chǔ)過(guò)程的第一個(gè)參數(shù)要求是帳戶(hù)的完整路徑。例如,BigCo域的JoeS應(yīng)該是bigco\joes(如果你想用本地帳戶(hù),則路徑應(yīng)該是server_name\joes)。
要?jiǎng)?chuàng)建在所有新數(shù)據(jù)庫(kù)中都存在的用戶(hù),你可以修改Model數(shù)據(jù)庫(kù)。為了簡(jiǎn)化工作,SQL Server自動(dòng)把所有對(duì)Model數(shù)據(jù)庫(kù)的改動(dòng)復(fù)制到新的數(shù)據(jù)庫(kù)。只要正確運(yùn)用Model數(shù)據(jù)庫(kù),我們無(wú)需定制每一個(gè)新創(chuàng)建的數(shù)據(jù)庫(kù)。另外,我們可以用sp_addrolemember存儲(chǔ)過(guò)程把SQL Server Security Operators加入到db_securityadmin,把SQL Server Developers加入到db_owner角色。 本新聞共 4頁(yè),當(dāng)前在第 2頁(yè) 1 2 3 4 |
【收藏】【打印】【進(jìn)入論壇】 |
|
|
|
|
|
|
|