国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

SQL?。樱澹颍觯澹驍?shù)據(jù)庫(kù)安全規(guī)劃

2009-08-19 09:01:44高小麗王振輝
關(guān)鍵詞:驗(yàn)證

張 敏 高小麗 王振輝

摘要:在改進(jìn)SQL Server 7.0系列所實(shí)現(xiàn)的安全機(jī)制的過(guò)程中,Microsoft建立了一種既靈活又強(qiáng)大的安全管理機(jī)制,它能夠?qū)τ脩粼L問(wèn)SQL Server服務(wù)器系統(tǒng)和數(shù)據(jù)庫(kù)的安全進(jìn)行全面地管理。按照本文介紹的步驟,你可以為SQL Server 2000構(gòu)造出一個(gè)靈活的、可管理的安全之門,而且它的安全性經(jīng)得起考驗(yàn)。

關(guān)鍵詞:驗(yàn)證;全局組;數(shù)據(jù)庫(kù)角色

1 前言。數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù)以防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞。系統(tǒng)安全保護(hù)措施是否有效是數(shù)據(jù)庫(kù)系統(tǒng)的主要指標(biāo)之一。本文幫助你理解SQL Server的安全性控制策略,以實(shí)現(xiàn)管理安全性的目標(biāo)。

2 實(shí)現(xiàn)方法

2.1 驗(yàn)證方法選擇

本文對(duì)驗(yàn)證(authentication)和授權(quán)(authorization)這兩個(gè)概念作不同的解釋。驗(yàn)證是指檢驗(yàn)用戶的身份標(biāo)識(shí);授權(quán)是指允許用戶做些什么。驗(yàn)證過(guò)程在用戶登錄SQL Server的時(shí)候出現(xiàn),授權(quán)過(guò)程在用戶試圖訪問(wèn)數(shù)據(jù)或執(zhí)行命令的時(shí)候出現(xiàn)。

構(gòu)造安全策略的第一個(gè)步驟是確定SQL Server用哪種方式驗(yàn)證用戶。SQL Server的驗(yàn)證是把一組帳戶、密碼與Master數(shù)據(jù)庫(kù)Sysxlogins表中的一個(gè)清單進(jìn)行匹配。Windows NT/2000的驗(yàn)證是請(qǐng)求域控制器檢查用戶身份的合法性。

一般地,如果服務(wù)器可以訪問(wèn)域控制器,我們應(yīng)該使用Windows NT/2000驗(yàn)證。域控制器可以是Win2K服務(wù)器,也可以是NT服務(wù)器。無(wú)論在哪種情況下,SQL Server都接收到一個(gè)訪問(wèn)標(biāo)記(Access Token)。訪問(wèn)標(biāo)記是在驗(yàn)證過(guò)程中構(gòu)造出來(lái)的一個(gè)特殊列表,其中包含了用戶的SID(安全標(biāo)識(shí)號(hào))以及一系列用戶所在組的SID。正如本文后面所介紹的,SQL Server以這些SID為基礎(chǔ)授予訪問(wèn)權(quán)限。

2.2 設(shè)置全局組

構(gòu)造安全策略的下一個(gè)步驟是確定用戶應(yīng)該屬于什么組。通常,每一個(gè)組織或應(yīng)用程序的用戶都可以按照他們對(duì)數(shù)據(jù)的特定訪問(wèn)要求分成許多類別??刂茢?shù)據(jù)訪問(wèn)權(quán)限最簡(jiǎn)單的方法是,對(duì)于每一組用戶,分別地為它創(chuàng)建一個(gè)滿足該組用戶權(quán)限要求的、域內(nèi)全局有效的組。我們既可以為每一個(gè)應(yīng)用分別創(chuàng)建組,也可以創(chuàng)建適用于整個(gè)企業(yè)的、涵蓋廣泛用戶類別的組。

創(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è)登錄帳戶設(shè)置為任何服務(wù)器角色的成員。接著再為SQL Server Denied Users重復(fù)這個(gè)過(guò)程,但這次要拒絕登錄訪問(wèn)。在SQL Server中,拒絕權(quán)限始終優(yōu)先。創(chuàng)建了這兩個(gè)組之后,我們就有了一種允許或拒絕用戶訪問(wèn)服務(wù)器的便捷方法。

注意sp_addsrvrolemember存儲(chǔ)過(guò)程的第一個(gè)參數(shù)要求是帳戶的完整路徑。

2.3 允許數(shù)據(jù)庫(kù)訪問(wèn)

在數(shù)據(jù)庫(kù)內(nèi)部,與迄今為止我們對(duì)登錄驗(yàn)證的處理方式不同,我們可以把權(quán)限分配給角色而不是直接把它們分配給全局組。這種能力使得我們能夠輕松地在安全策略中使用SQL Server驗(yàn)證的登錄。即使你從來(lái)沒(méi)有想要使用SQL Server登錄帳戶,本文仍舊建議分配權(quán)限給角色,因?yàn)檫@樣你能夠?yàn)槲磥?lái)可能出現(xiàn)的變化做好準(zhǔn)備。

創(chuàng)建了數(shù)據(jù)庫(kù)之后,我們可以用sp_grantdbaccess存儲(chǔ)過(guò)程授權(quán)DB_Name Users組訪問(wèn)它。但應(yīng)該注意的是,與sp_grantdbaccess對(duì)應(yīng)的sp_denydbaccess存儲(chǔ)過(guò)程并不存在,也就是說(shuō),你不能按照拒絕對(duì)服務(wù)器訪問(wèn)的方法拒絕對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)。如果要拒絕數(shù)據(jù)庫(kù)訪問(wèn),我們可以創(chuàng)建另外一個(gè)名為DB_Name Denied Users的全局組,授權(quán)它訪問(wèn)數(shù)據(jù)庫(kù),然后把它設(shè)置為db_denydatareader以及db_denydatawriter角色的成員。注意SQL語(yǔ)句權(quán)限的分配,這里的角色只限制對(duì)對(duì)象的訪問(wèn),但不限制對(duì)DDL(Data Definition Language,數(shù)據(jù)定義語(yǔ)言)命令的訪問(wèn)。

2.4 分配權(quán)限

實(shí)施安全策略的最后一個(gè)步驟是創(chuàng)建用戶定義的數(shù)據(jù)庫(kù)角色,然后分配權(quán)限。完成這個(gè)步驟最簡(jiǎn)單的方法是創(chuàng)建一些名字與全局組名字配套的角色。創(chuàng)建好角色之后就可以分配權(quán)限。在這個(gè)過(guò)程中,我們只需用到標(biāo)準(zhǔn)的GRANT、REVOKE和DENY命令。但應(yīng)該注意DENY權(quán)限,這個(gè)權(quán)限優(yōu)先于所有其他權(quán)限。如果用戶是任意具有DENY權(quán)限的角色或者組的成員,SQL Server將拒絕用戶訪問(wèn)對(duì)象。

接下來(lái)我們就可以加入所有SQL Server驗(yàn)證的登錄。用戶定義的數(shù)據(jù)庫(kù)角色可以包含SQL Server登錄以及NT全局組、本地組、個(gè)人帳戶,這是它最寶貴的特點(diǎn)之一。用戶定義的數(shù)據(jù)庫(kù)角色可以作為各種登錄的通用容器,我們使用用戶定義角色而不是直接把權(quán)限分配給全局組的主要原因就在于此。

由于內(nèi)建的角色一般適用于整個(gè)數(shù)據(jù)庫(kù)而不是單獨(dú)的對(duì)象,因此這里建議你只使用兩個(gè)內(nèi)建的數(shù)據(jù)庫(kù)角色,即db_securityadmin和db_owner。其他內(nèi)建數(shù)據(jù)庫(kù)角色,例如db_datareader,它授予對(duì)數(shù)據(jù)庫(kù)里面所有對(duì)象的SELECT權(quán)限。雖然你可以用db_datareader角色授予SELECT權(quán)限,然后有選擇地對(duì)個(gè)別用戶或組拒絕SELECT權(quán)限,但使用這種方法時(shí),你可能忘記為某些用戶或者對(duì)象設(shè)置權(quán)限。一種更簡(jiǎn)單、更直接而且不容易出現(xiàn)錯(cuò)誤的方法是為這些特殊的用戶創(chuàng)建一個(gè)用戶定義的角色,然后只把那些用戶訪問(wèn)對(duì)象所需要的權(quán)限授予這個(gè)用戶定義的角色。

2.5 簡(jiǎn)化安全管理

SQL Server驗(yàn)證的登錄不僅能夠方便地實(shí)現(xiàn),而且與NT驗(yàn)證的登錄相比,它更容易編寫到應(yīng)用程序里。但是,如果用戶的數(shù)量超過(guò)25,或者服務(wù)器數(shù)量在一個(gè)以上,或者每個(gè)用戶都可以訪問(wèn)一個(gè)以上的數(shù)據(jù)庫(kù),或者數(shù)據(jù)庫(kù)有多個(gè)管理員,SQL Server驗(yàn)證的登錄不容易管理。由于SQL Server沒(méi)有顯示用戶有效權(quán)限的工具,要記憶每個(gè)用戶具有哪些權(quán)限以及他們?yōu)楹我玫竭@些權(quán)限就更加困難。即使對(duì)于一個(gè)數(shù)據(jù)庫(kù)管理員還要擔(dān)負(fù)其他責(zé)任的小型系統(tǒng),簡(jiǎn)化安全策略也有助于減輕問(wèn)題的復(fù)雜程度。因此,首選的方法應(yīng)該是使用NT驗(yàn)證的登錄,然后通過(guò)一些精心選擇的全局組和數(shù)據(jù)庫(kù)角色管理數(shù)據(jù)庫(kù)訪問(wèn)。

下面是一些簡(jiǎn)化安全策略的經(jīng)驗(yàn)規(guī)則:

2.5.1 用戶通過(guò)SQL Server Users組獲得服務(wù)器訪問(wèn),通過(guò)DB_Name Users組獲得數(shù)據(jù)庫(kù)訪問(wèn)。

2.5.2 用戶通過(guò)加入全局組獲得權(quán)限,而全局組通過(guò)加入角色獲得權(quán)限,角色直接擁有數(shù)據(jù)庫(kù)里的權(quán)限。

2.5.3 需要多種權(quán)限的用戶通過(guò)加入多個(gè)全局組的方式獲得權(quán)限。

3 結(jié)束語(yǔ)

總之,只要規(guī)劃得恰當(dāng),你能夠在域控制器上完成所有的訪問(wèn)和權(quán)限維護(hù)工作,使得服務(wù)器反映出你在域控制器上進(jìn)行的各種設(shè)置調(diào)整。雖然實(shí)際應(yīng)用中情況可能有所變化,但本文介紹的基本措施仍舊適用,它們能夠幫助你構(gòu)造出很容易管理的安全策略。

參考文獻(xiàn)

[1]劉志成、彭勇,《數(shù)據(jù)庫(kù)系統(tǒng)原理與應(yīng)用》,機(jī)械工業(yè)出版社,2007.4

[2]羅運(yùn)模,《SQL Server數(shù)據(jù)庫(kù)系統(tǒng)基礎(chǔ)》,高等教育出版社,2006.5

[3]王珊、薩師煊,《數(shù)據(jù)庫(kù)系統(tǒng)概論》(第四版),高等教育出版社,2006.12

猜你喜歡
驗(yàn)證
歷史不可驗(yàn)證說(shuō)的語(yǔ)義結(jié)構(gòu)與內(nèi)在邏輯
讓冷峻與溫情并存
校核、驗(yàn)證與確認(rèn)在紅外輻射特性測(cè)量中的應(yīng)用
剖析智能化斷路器機(jī)械特性在線監(jiān)測(cè)關(guān)鍵技術(shù)設(shè)計(jì)及驗(yàn)證
科技資訊(2016年25期)2016-12-27 18:48:31
合理猜想,有效驗(yàn)證
晶閘管關(guān)斷特性的驗(yàn)證解析
小題也可大做
彈藥保障需求分析實(shí)驗(yàn)?zāi)P洼敵鰯?shù)據(jù)的驗(yàn)證研究
汽車外后視鏡抖動(dòng)問(wèn)題模型的試驗(yàn)驗(yàn)證
汽車科技(2016年5期)2016-11-14 08:08:15
核電項(xiàng)目A1號(hào)機(jī)組L521電氣貫穿件H通道問(wèn)題處理
科技視界(2016年23期)2016-11-04 15:08:42
湘潭市| 左贡县| 石城县| 平阳县| 武邑县| 修文县| 孟津县| 兴城市| 阿勒泰市| 盈江县| 靖安县| 双峰县| 永登县| 泰顺县| 朝阳县| 新巴尔虎右旗| 从化市| 迭部县| 施甸县| 子洲县| 彰化市| 苏尼特左旗| 田林县| 湘潭市| 唐海县| 临潭县| 合山市| 石家庄市| 中山市| 黄冈市| 泰兴市| 陇南市| 诸城市| 攀枝花市| 从江县| 拉萨市| 青河县| 山西省| 共和县| 辰溪县| 大荔县|