數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用第5章 數(shù)據(jù)庫(kù)安全技術(shù)_第1頁(yè)
數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用第5章 數(shù)據(jù)庫(kù)安全技術(shù)_第2頁(yè)
數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用第5章 數(shù)據(jù)庫(kù)安全技術(shù)_第3頁(yè)
數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用第5章 數(shù)據(jù)庫(kù)安全技術(shù)_第4頁(yè)
數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用第5章 數(shù)據(jù)庫(kù)安全技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

5.1.1計(jì)算機(jī)系統(tǒng)的三類(lèi)安全性問(wèn)題安全性問(wèn)題不是數(shù)據(jù)庫(kù)系統(tǒng)所獨(dú)有的,所有計(jì)算機(jī)系統(tǒng)都有這個(gè)問(wèn)題。只是在數(shù)據(jù)庫(kù)系統(tǒng)中安全性問(wèn)題更為突出。數(shù)據(jù)庫(kù)的安全性已成為評(píng)價(jià)數(shù)據(jù)庫(kù)系統(tǒng)性能的一個(gè)重要指標(biāo)。數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù)以防止不合法的使用所造成的數(shù)據(jù)泄漏、更改或破壞。

計(jì)算機(jī)系統(tǒng)的安全性問(wèn)題可分為三大類(lèi):(1)技術(shù)安全是指采用具有一定安全性的硬件、軟件來(lái)保護(hù)計(jì)算機(jī)系統(tǒng)中的硬件、軟件及數(shù)據(jù)。當(dāng)計(jì)算機(jī)系統(tǒng)受到無(wú)意或惡意的攻擊時(shí)仍能保證系統(tǒng)正常運(yùn)行,保證系統(tǒng)內(nèi)的數(shù)據(jù)不丟失、不泄露。(2)管理安全是指管理不善所導(dǎo)致的計(jì)算機(jī)設(shè)備和數(shù)據(jù)介質(zhì)的物理破壞或丟失,防止軟硬件意外故障以及場(chǎng)地的意外事故。(3)政策法規(guī)是指政府部門(mén)建立的有關(guān)計(jì)算機(jī)犯罪、數(shù)據(jù)安全保密的法律道德準(zhǔn)則和政策法規(guī)、法令等。這里只討論技術(shù)安全。

5.1.2安全標(biāo)準(zhǔn)簡(jiǎn)介1985年美國(guó)國(guó)防部(DoD)頒布的《DoD可信計(jì)算機(jī)系統(tǒng)評(píng)估標(biāo)準(zhǔn)》(TCSEC)和1991年美國(guó)國(guó)家計(jì)算機(jī)安全中心(NCSC)頒布的《可信計(jì)算機(jī)系統(tǒng)評(píng)估標(biāo)準(zhǔn)關(guān)于可信數(shù)據(jù)庫(kù)系統(tǒng)的解釋》(TDI)。TDI將TCSEC擴(kuò)展到數(shù)據(jù)庫(kù)管理系統(tǒng),定義了數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)中需要滿(mǎn)足和用以進(jìn)行安全性級(jí)別評(píng)估的標(biāo)準(zhǔn)。TCSEC/TDI將系統(tǒng)劃分為DCBA四組,D、C1、C2、B1、B2、B3和A1從低到高七個(gè)等級(jí)。(1)D級(jí)為最低級(jí)別,提供最小保護(hù)。如DOS。(2)C1級(jí)只提供了非常初級(jí)的自主安全保護(hù)。能夠?qū)崿F(xiàn)用戶(hù)與數(shù)據(jù)的分離,進(jìn)行自主存取控制(DAC),保護(hù)或限制用戶(hù)權(quán)限的傳播。(3)C2級(jí)是安全產(chǎn)品的最低檔次,提供受控的存取保護(hù)。將C1級(jí)的DAC進(jìn)一步細(xì)化,以個(gè)人身份注冊(cè)負(fù)責(zé),并實(shí)施審計(jì)和資源隔離。如Windows2000,Oracle7等。(4)B1級(jí)提供標(biāo)記安全保護(hù)。對(duì)系統(tǒng)的數(shù)據(jù)加以標(biāo)記,并對(duì)標(biāo)記的主體和客體實(shí)施強(qiáng)制存取控制(MAC),是真正意義上的安全產(chǎn)品。滿(mǎn)足B1級(jí)的產(chǎn)品出售時(shí),允許冠以“安全”或“可信的”字樣

。

5.1.2安全標(biāo)準(zhǔn)簡(jiǎn)介(5)B2級(jí)提供結(jié)構(gòu)化保護(hù)。建立形式化的安全策略模型并對(duì)系統(tǒng)內(nèi)的所有主體和客體實(shí)施DAC和MAC。(6)B3級(jí)提供安全域保護(hù)。要求可信任的運(yùn)算基礎(chǔ)必須滿(mǎn)足訪問(wèn)監(jiān)控器的要求,審計(jì)跟蹤能力更強(qiáng),并提供系統(tǒng)恢復(fù)過(guò)程。(7)A1級(jí)為驗(yàn)證設(shè)計(jì)。提供B3級(jí)保護(hù)的同時(shí)給出系統(tǒng)的形式化設(shè)計(jì)說(shuō)明和驗(yàn)證以確保各安全保護(hù)的真正實(shí)現(xiàn)。在TCSEC推出后,不同國(guó)家都開(kāi)始啟動(dòng)開(kāi)發(fā)建立在TCSEC概念上的評(píng)估準(zhǔn)則。

1993年CTCPEC、FC、TCSEC和ITSEC的發(fā)起組織開(kāi)始聯(lián)合行動(dòng),解決原標(biāo)準(zhǔn)中概念和技術(shù)上的差異,將各自獨(dú)立的準(zhǔn)則集合成一組單一的、能被廣泛使用的IT安全準(zhǔn)則(

CC通用準(zhǔn)則),歷經(jīng)多次討論和修改,CCV2.1版于1999年被ISO采用為國(guó)際標(biāo)準(zhǔn),2001年被我國(guó)采用為國(guó)家標(biāo)準(zhǔn)。目前CC已經(jīng)基本取代了TCSEC,成為評(píng)估信息產(chǎn)品安全性的主要標(biāo)準(zhǔn)。

CC在安全保證要求部分定義了七種評(píng)估保證級(jí)別,從EAL1至EAL7,按保證程度逐漸增高。粗略而言,TCSEC的C1到A1級(jí)分別相當(dāng)于EAL2到EAL7。

5.1.3數(shù)據(jù)庫(kù)安全性控制概述在網(wǎng)絡(luò)環(huán)境下,數(shù)據(jù)庫(kù)的安全體系涉及三個(gè)層次:網(wǎng)絡(luò)系統(tǒng)層、操作系統(tǒng)層和數(shù)據(jù)管理系統(tǒng)層。數(shù)據(jù)庫(kù)安全性控制是指為防止數(shù)據(jù)庫(kù)的不合法使用和因偶然或惡意的原因,使數(shù)據(jù)庫(kù)中數(shù)據(jù)遭到泄露、更改或破壞等所采取的各種技術(shù)和安全保護(hù)措施的總稱(chēng)。這里的討論只限于數(shù)據(jù)庫(kù)管理系統(tǒng)這一層次。1、用戶(hù)標(biāo)識(shí)和鑒別是系統(tǒng)安全控制機(jī)制中最重要、最外層的安全保護(hù)措施。鑒別用戶(hù)最常用的方法是用一個(gè)用戶(hù)名(用戶(hù)標(biāo)識(shí)符)來(lái)標(biāo)識(shí)用戶(hù),用口令來(lái)鑒別用戶(hù)身份的真?zhèn)巍?/p>

口令簡(jiǎn)單易行,但容易被人竊取。一種可行的方法是,每個(gè)用戶(hù)預(yù)先約定好一個(gè)計(jì)算過(guò)程;另一種是動(dòng)態(tài)口令。

5.1.3數(shù)據(jù)庫(kù)安全性控制概述2、存取控制數(shù)據(jù)庫(kù)安全最重要的是確保只授權(quán)給有資格的用戶(hù)訪問(wèn)數(shù)據(jù)庫(kù)的權(quán)限,同時(shí)令所有未被授權(quán)的人員無(wú)法接近數(shù)據(jù)。這一點(diǎn)主要是通過(guò)RDBMS的存取控制機(jī)制實(shí)現(xiàn)。存取控制機(jī)制(安全子系統(tǒng))主要包括兩部分:(1)定義用戶(hù)權(quán)限。用戶(hù)對(duì)某一數(shù)據(jù)庫(kù)對(duì)象的操作權(quán)力稱(chēng)為權(quán)限。定義經(jīng)過(guò)編譯后存放在系統(tǒng)的數(shù)據(jù)字典中,被稱(chēng)為安全規(guī)則或授權(quán)規(guī)則。(2)合法權(quán)限檢查。每當(dāng)用戶(hù)發(fā)出存取數(shù)據(jù)庫(kù)的操作請(qǐng)求后,DBMS查找數(shù)據(jù)字典,根據(jù)安全規(guī)則進(jìn)行合法權(quán)限檢查。若用戶(hù)的操作請(qǐng)求超出了定義的權(quán)限,系統(tǒng)將拒絕執(zhí)行此操作。常用的存取控制方法有C2級(jí)中的自主存取控制(DAC)和B1級(jí)中的強(qiáng)制存取控制(MAC)兩種。

5.1.3數(shù)據(jù)庫(kù)安全性控制概述2、存取控制自主存取控制非常靈活,但可能存在數(shù)據(jù)的“無(wú)意泄露”。要解決這一問(wèn)題,就需要對(duì)系統(tǒng)控制下的所有主客體(主體可理解為用戶(hù),客體可理解為數(shù)據(jù)庫(kù)對(duì)象)實(shí)施強(qiáng)制存取控制策略。在強(qiáng)制存取控制方法中,每一個(gè)數(shù)據(jù)庫(kù)對(duì)象被標(biāo)以一定的密級(jí),每一個(gè)用戶(hù)也被授予某一個(gè)級(jí)別的許可證。對(duì)于任意一個(gè)對(duì)象,只有具有合法許可證的用戶(hù)才可以存取。強(qiáng)制存取控制保證更高程度的安全性,適用于那些對(duì)數(shù)據(jù)有嚴(yán)格且固定密級(jí)分類(lèi)的部門(mén),例如軍事部門(mén)或政府部門(mén)。目前大型的DBMS一般都支持DAC,有些DBMS同時(shí)還支持MAC。本章稍后將討論DAC。

5.1.3數(shù)據(jù)庫(kù)安全性控制概述3、視圖機(jī)制通過(guò)為不同的用戶(hù)定義不同的視圖,可以把數(shù)據(jù)對(duì)象限制在一定的范圍內(nèi)。也就是說(shuō),通過(guò)視圖機(jī)制把要保密的數(shù)據(jù)對(duì)無(wú)權(quán)存取的用戶(hù)隱藏起來(lái),從而自動(dòng)地對(duì)數(shù)據(jù)提供一定程度的安全保護(hù)。視圖機(jī)制間接地實(shí)現(xiàn)支持存取謂詞的用戶(hù)權(quán)限定義。例5.1

把檢索計(jì)算機(jī)專(zhuān)業(yè)學(xué)生信息的權(quán)限授予趙亮,把對(duì)計(jì)算機(jī)專(zhuān)業(yè)學(xué)生信息的所有操作權(quán)限授予朱偉強(qiáng)。

CREATEVIEWCS_SASSELECT*FROMSWHEREMajor='計(jì)算機(jī)'GRANTSELECTONCS_STO趙亮

GRANTALLPRIVILEGESONCS_STO朱偉強(qiáng)

5.1.3數(shù)據(jù)庫(kù)安全性控制概述4、審計(jì)審計(jì)功能是DBMS達(dá)到C2以上安全級(jí)必不可少的一項(xiàng)指標(biāo)。安全保護(hù)措施都不是完美無(wú)缺的,審計(jì)功能把用戶(hù)對(duì)數(shù)據(jù)庫(kù)的所有操作自動(dòng)記錄下來(lái)存放在審計(jì)日志中,DBA可以利用審計(jì)跟蹤信息,重現(xiàn)導(dǎo)致數(shù)據(jù)庫(kù)現(xiàn)有狀況的一系列事件,找出非法存取數(shù)據(jù)的人、時(shí)間和內(nèi)容等。審計(jì)通常是很費(fèi)時(shí)間和空間的,所以DBMS往往都將其作為可選特征。5、數(shù)據(jù)加密數(shù)據(jù)加密是防止數(shù)據(jù)庫(kù)中數(shù)據(jù)在存儲(chǔ)和傳輸中失密的有效手段。加密方法:一種是替換方法;另一種是置換方法。這兩種方法的結(jié)合的典型例子是美國(guó)的官方加密標(biāo)準(zhǔn)(DES)。數(shù)據(jù)加密與解密也是比較費(fèi)時(shí)的操作,也作為可選特征。

5.2.1用戶(hù)管理在SQLServer中,有登錄名(LoginName)和數(shù)據(jù)庫(kù)用戶(hù)(DatabaseUser)兩個(gè)概念。DBA有權(quán)進(jìn)行登錄名和數(shù)據(jù)庫(kù)用戶(hù)的管理。1、創(chuàng)建登錄名T-SQL語(yǔ)言中,創(chuàng)建登錄名用CREATELOGIN語(yǔ)句,其格式如下:

CREATELOGIN<登錄名>WITHPASSWORD='password'[,DEFAULT_DATABASE=<數(shù)據(jù)庫(kù)名>]

說(shuō)明:在SQLServer中有四種類(lèi)型的登錄名,這里只介紹SQLServer登錄名。有一個(gè)特殊的登錄名sa(即系統(tǒng)管理員),他擁有操作SQLServer系統(tǒng)的所有權(quán)限,該登錄名不能被刪除。數(shù)據(jù)庫(kù)名如果缺省,則默認(rèn)打開(kāi)的數(shù)據(jù)庫(kù)將設(shè)置為master。

5.2.1用戶(hù)管理例5.2

創(chuàng)建SQLServer登錄名carl,密碼為1234,默認(rèn)打開(kāi)的數(shù)據(jù)庫(kù)為master。

CREATELOGINcarlWITHPASSWORD='1234'2、刪除登錄名T-SQL語(yǔ)言中,刪除登錄名用DROPLOGIN語(yǔ)句,其格式如下:

DROPLOGIN<登錄名>例5.3

刪除SQLServer登錄名carl。

DROPLOGINcarl

說(shuō)明:刪除登錄名,并不刪除該登錄名在各數(shù)據(jù)庫(kù)中對(duì)應(yīng)的數(shù)據(jù)庫(kù)用戶(hù)。

5.2.1用戶(hù)管理3、創(chuàng)建數(shù)據(jù)庫(kù)用戶(hù)登錄名授予訪問(wèn)某個(gè)數(shù)據(jù)庫(kù)的權(quán)限,需要在所要訪問(wèn)的數(shù)據(jù)庫(kù)中為該登錄名創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)用戶(hù)。在SQLServer中,每個(gè)數(shù)據(jù)庫(kù)中都有兩個(gè)特殊的數(shù)據(jù)庫(kù)用戶(hù)dbo和guest。dbo代表數(shù)據(jù)庫(kù)擁有者,sysadmin服務(wù)器角色成員都被自動(dòng)映射成dbo用戶(hù),dbo用戶(hù)默認(rèn)是數(shù)據(jù)庫(kù)角色db_owner的成員,可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行所有操作。guest用戶(hù)是所有沒(méi)有屬于自己的用戶(hù)賬號(hào)的登錄名的默認(rèn)數(shù)據(jù)庫(kù)用戶(hù)。T-SQL語(yǔ)言中,在當(dāng)前數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)庫(kù)用戶(hù)用CREATEUSER語(yǔ)句,其格式如下:

CREATEUSER<用戶(hù)名>[{FOR|FROM}LOGIN<登錄名>][WITHDEFAULT_SCHEMA=<架構(gòu)名>]

說(shuō)明:如果缺省登錄名,則新建數(shù)據(jù)庫(kù)用戶(hù)將被映射到同名的登錄名。如果缺省架構(gòu)名,則將使用dbo架構(gòu)作為其默認(rèn)架構(gòu)。

5.2.1用戶(hù)管理例5.4

在數(shù)據(jù)庫(kù)test2中為SQLServer登錄名carl創(chuàng)建數(shù)據(jù)庫(kù)用戶(hù)carluser,默認(rèn)架構(gòu)為dbo。

USEtest2GOCREATEUSERcarluserFORLOGINcarl4、刪除數(shù)據(jù)庫(kù)用戶(hù)T-SQL語(yǔ)言中,刪除當(dāng)前數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)用戶(hù)用DROPUSER語(yǔ)句,其格式如下:

DROPUSER<用戶(hù)名>例5.5

刪除數(shù)據(jù)庫(kù)test2中的數(shù)據(jù)庫(kù)用戶(hù)carluser。

USEtest2GODROPUSERcarluser

5.2.2角色管理角色是被命名的一組與數(shù)據(jù)庫(kù)操作相關(guān)的權(quán)限,角色是權(quán)限的集合??梢詾橐唤M具有相同權(quán)限的數(shù)據(jù)庫(kù)用戶(hù)創(chuàng)建一個(gè)角色,所以也可以說(shuō)角色是具有相同權(quán)限的數(shù)據(jù)庫(kù)用戶(hù)組。對(duì)一個(gè)角色授權(quán)或收回權(quán)限適用于該角色的所有成員,因此使用角色來(lái)管理權(quán)限可以簡(jiǎn)化授權(quán)的過(guò)程。

DBA有權(quán)進(jìn)行角色的管理。1、創(chuàng)建角色T-SQL語(yǔ)言中,在當(dāng)前數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)庫(kù)角色用CREATEROLE語(yǔ)句,其格式如下:

CREATEROLE<角色名>[AUTHORIZATION<所有者名>]

說(shuō)明:所有者名是將擁有新角色的數(shù)據(jù)庫(kù)用戶(hù)或角色,如果缺省該選項(xiàng),則執(zhí)行CREATEROLE的用戶(hù)將擁有該角色。例5.6

在數(shù)據(jù)庫(kù)test2中創(chuàng)建數(shù)據(jù)庫(kù)角色undergraduate,所有者為dbo。

USEtest2GOCREATEROLEundergraduateAUTHORIZATIONdbo

5.2.2角色管理2、為角色添加成員在SQLServer中,每個(gè)數(shù)據(jù)庫(kù)中都有一個(gè)特殊的public數(shù)據(jù)庫(kù)角色,數(shù)據(jù)庫(kù)中的每個(gè)用戶(hù)都是該角色的成員。在SQLServer2014中,使用系統(tǒng)存儲(chǔ)過(guò)程為某個(gè)數(shù)據(jù)庫(kù)角色添加成員,其格式如下:

EXECsp_addrolemember<角色名>,<成員名>

說(shuō)明:添加到角色中的成員會(huì)繼承該角色的權(quán)限。角色不能將自身包含為成員(間接地循環(huán)定義也無(wú)效),也不能向角色中添加SQLServer固定角色或dbo用戶(hù)。例5.7

為數(shù)據(jù)庫(kù)角色undergraduate添加數(shù)據(jù)庫(kù)用戶(hù)carluser。

EXECsp_addrolememberundergraduate,carluser

5.2.2角色管理3、從角色刪除成員其格式如下:

EXECsp_droprolemember<角色名>,<成員名>

說(shuō)明:刪除某個(gè)角色的成員后,該成員將失去作為該角色的成員身份所擁有的任何權(quán)限。不能刪除public角色的成員,也不能從任何角色中刪除dbo用戶(hù)。例5.8

從數(shù)據(jù)庫(kù)角色undergraduate中刪除數(shù)據(jù)庫(kù)用戶(hù)carluser。

EXECsp_droprolememberundergraduate,carluser4、刪除角色其格式如下:

DROPROLE<角色名>

說(shuō)明:不能刪除擁有成員的數(shù)據(jù)庫(kù)角色,也不能固定角色。例5.9

刪除數(shù)據(jù)庫(kù)test2中的數(shù)據(jù)庫(kù)角色undergraduate。

USEtest2GODROPROLEundergraduate

5.3.1授予權(quán)限用戶(hù)權(quán)限由數(shù)據(jù)庫(kù)對(duì)象和操作類(lèi)型兩個(gè)要素組成。定義一個(gè)用戶(hù)的存取權(quán)限就是定義這個(gè)用戶(hù)可以在哪些數(shù)據(jù)庫(kù)對(duì)象上進(jìn)行哪些類(lèi)型的操作,定義用戶(hù)的存取權(quán)限稱(chēng)為授權(quán)。在SQLServer2014中,數(shù)據(jù)庫(kù)對(duì)象有許多種類(lèi),其中主要有模式對(duì)象(如基表TABLE、視圖VIEW等)和數(shù)據(jù)對(duì)象(如基表或視圖、基表或視圖中的某個(gè)列)兩類(lèi)。1、授予模式對(duì)象權(quán)限在SQLServer2014中,要?jiǎng)?chuàng)建數(shù)據(jù)庫(kù)、基表或視圖,用戶(hù)必須擁有執(zhí)行相應(yīng)語(yǔ)句的權(quán)限。T-SQL語(yǔ)言中,授予模式對(duì)象權(quán)限的語(yǔ)句格式如下:

GRANT{ALL[PRIVILEGES]|<權(quán)限>[,…n]}TO<用戶(hù)名或角色名>[,…n][WITHGRANTOPTION]

說(shuō)明:DBA有權(quán)執(zhí)行該GRANT語(yǔ)句。模式對(duì)象的操作類(lèi)型有:CREATETABLE、CREATEVIEW等。操作類(lèi)型ALL不代表所有可能的權(quán)限。例5.10

授予用戶(hù)carluser在數(shù)據(jù)庫(kù)test2中創(chuàng)建基表和視圖的權(quán)限。

GRANTCREATETABLE,CREATEVIEWTOcarluser

5.3.1授予權(quán)限2、授予數(shù)據(jù)對(duì)象權(quán)限在SQLServer2014中,要查詢(xún)或者更新基表或視圖中的數(shù)據(jù),用戶(hù)在該基表或視圖上必須擁有相應(yīng)的權(quán)限。在T-SQL語(yǔ)言中,授予數(shù)據(jù)對(duì)象權(quán)限的語(yǔ)句格式如下:

GRANT{ALL[PRIVILEGES]|<權(quán)限>[(<列名>[,…n])][,…n]}ON<基表名或視圖名>TO<用戶(hù)名或角色名>[,…n][WITHGRANTOPTION]

說(shuō)明:DBA和對(duì)象的所有者有權(quán)執(zhí)行該GRANT語(yǔ)句。數(shù)據(jù)對(duì)象的操作類(lèi)型有:SELECT、INSERT、DELETE、UPDATE、REFERENCES。操作類(lèi)型ALL代表上述五種權(quán)限。INSERT和DELETE權(quán)限會(huì)影響整行,因此只可以應(yīng)用到基表或視圖上,而不能應(yīng)用到某些列上。SELECT、UPDATE和REFERENCES權(quán)限可以有選擇性地應(yīng)用到基表或視圖中的某些列上,如果未指定列,則應(yīng)用到基表或視圖的所有列上。例5.11

授予角色public在數(shù)據(jù)庫(kù)test2中查詢(xún)基表C所有列的權(quán)限。

GRANTSELECTONCTOpublic

5.3.1授予權(quán)限2、授予數(shù)據(jù)對(duì)象權(quán)限例5.12

授予角色undergraduate在數(shù)據(jù)庫(kù)test2中只能查詢(xún)基表T中的Tno、Tname、Tsex和Title列的權(quán)限。

GRANTSELECT(Tno,Tname,Tsex,Title)ONTTOundergraduate例5.13

授予角色undergraduate在數(shù)據(jù)庫(kù)test2中查詢(xún)基表S所有列,但只能修改Mphone列的權(quán)限。

GRANTSELECT,UPDATE(Mphone)ONSTOundergraduate例5.14

授予用戶(hù)carluser在數(shù)據(jù)庫(kù)test2中查詢(xún)基表SC所有列的權(quán)限,同時(shí)允許他將該權(quán)限轉(zhuǎn)授給其他用戶(hù)。

GRANTSELECTONSCTOcarluserWITHGRANTOPTION例5.15

授予用戶(hù)carluser和maryuser在數(shù)據(jù)庫(kù)test2中查詢(xún)基表TC所有列的權(quán)限。

GRANTSELECTONTCTOcarluser,maryuser最后要說(shuō)明的是:一個(gè)用戶(hù)擁有的全部操作權(quán)限包括直接授予該用戶(hù)的權(quán)限以及該用戶(hù)從他所屬的各個(gè)角色繼承得到的權(quán)限。

5.3.2收回權(quán)限1、收回模式對(duì)象權(quán)限在T-SQL語(yǔ)言中,收回模式對(duì)象權(quán)限的語(yǔ)句格式如下:

REVOKE[GRANTOPTIONFOR]{ALL[PRIVILEGES]|<權(quán)限>[,…n]}FROM<用戶(hù)名或角色名>[,…n][CASCADE]

說(shuō)明:ALL和權(quán)限的含義同授予模式對(duì)象權(quán)限的GRANT語(yǔ)句。GRANTOPTIONFOR表示要收回向其他用戶(hù)或角色授予指定權(quán)限的權(quán)限,但不會(huì)收回該權(quán)限本身。如果用戶(hù)或角色具有不帶WITHGRANTOPTION選項(xiàng)的指定權(quán)限,則將收回該權(quán)限本身。CASCADE表示在收回用戶(hù)或角色該權(quán)限的同時(shí),也會(huì)收回由其授予給其他用戶(hù)或角色的該權(quán)限。例5.16

收回用戶(hù)carluser在數(shù)據(jù)庫(kù)test2中創(chuàng)建基表和視圖的權(quán)限。

REVOKECREATETABLE,CREATEVIEWFROMcarluser2、收回?cái)?shù)據(jù)對(duì)象權(quán)限在T-SQL語(yǔ)言中,收回?cái)?shù)據(jù)對(duì)象權(quán)限的語(yǔ)句格式如下:

REVOKE[GRANTOPTIONFOR]{ALL[PRIVILEGES]|<權(quán)限>[(<列名>[,…n])][,…n]}ON<基表名或視圖名>FROM<用戶(hù)名或角色名>[,…n][CASCADE]

說(shuō)明:GRANTOPTIONFOR和CASCADE的含義同上一個(gè)語(yǔ)句。

5.3.2收回權(quán)限2、收回?cái)?shù)據(jù)對(duì)象權(quán)限例5.17

收回角色undergraduate在數(shù)據(jù)庫(kù)test2中查詢(xún)基表S所有列以及修改Mphone列的權(quán)限。

REVOKESELECT,UPDATE(Mphone)ONSFROMundergraduate例5.18

收回用戶(hù)carluser在數(shù)據(jù)庫(kù)test2中查詢(xún)基表SC所有列的權(quán)限,同時(shí)收回他將該權(quán)限轉(zhuǎn)授給其他用戶(hù)的權(quán)限。如果用戶(hù)carluser將查詢(xún)基表SC所有列的權(quán)限授予了其他用戶(hù),也一并收回。首先假定用戶(hù)carluser在獲得例5.14中的授權(quán)后,通過(guò)執(zhí)行GRANTSELECTONSCTOmaryuser語(yǔ)句,給用戶(hù)maryuser也授予了查詢(xún)基表SC所有列的權(quán)限。則DBA通過(guò)執(zhí)行REVOKESELECTONSCFROMcarluserCASCADE語(yǔ)句,就完成了例5.18中的要求。如果DBA執(zhí)行的是REVOKEGRANTOPTIONFORSELECTONSCFROMcarluserCASCADE語(yǔ)句,則用戶(hù)carluser仍然擁有查詢(xún)基表SC所有列的權(quán)限,但他向其他用戶(hù)或角色授予該權(quán)限的權(quán)限被收回。同時(shí)carluser給用戶(hù)maryuser授予的查詢(xún)基表SC所有列的權(quán)限也被收回。

5.4.1SQLServer2014的身份驗(yàn)證模式1、Windows身份驗(yàn)證模式Windows作為網(wǎng)絡(luò)操作系統(tǒng)本身就具備管理登錄、驗(yàn)證賬戶(hù)合法性的能力。

(1)數(shù)據(jù)庫(kù)管理員可以集中管理數(shù)據(jù)庫(kù),而無(wú)需管理用戶(hù)賬戶(hù)。

(2)Windows有更強(qiáng)的用戶(hù)賬戶(hù)管理工具,身份驗(yàn)證使用Kerberos安全協(xié)議。

(3)Windows的組策略支持多個(gè)用戶(hù)同時(shí)被授權(quán)訪問(wèn)SQLServer。2、混合身份驗(yàn)證模式混合驗(yàn)證模式對(duì)于可信用戶(hù)的連接請(qǐng)求,系統(tǒng)采用Windows身份驗(yàn)證模式;而對(duì)于非可信用戶(hù)的連接請(qǐng)求,則采用SQLServer身份驗(yàn)證模式。

(1)支持那些需要進(jìn)行SQLServer身份驗(yàn)證的舊版應(yīng)用程序或由第三方提供的應(yīng)用程序。

(2)支持具有混合操作系統(tǒng)的環(huán)境,在這種環(huán)境中并不是所有用戶(hù)均由Windows進(jìn)行驗(yàn)證。

5.4.1SQLServer2014的身份驗(yàn)證模式2、混合身份驗(yàn)證模式

(3)支持基于Web的應(yīng)用程序,在這些應(yīng)用程序中,用戶(hù)可創(chuàng)建自己的標(biāo)識(shí)。

(4)允許軟件開(kāi)發(fā)人員通過(guò)使用基于已知的預(yù)設(shè)SQLServer登錄名的復(fù)雜權(quán)限層次結(jié)構(gòu)來(lái)分發(fā)應(yīng)用程序。但SQLServer身份驗(yàn)證模式也存在著不能使用Kerberos安全協(xié)議、必須在連接時(shí)通過(guò)網(wǎng)絡(luò)傳遞已加密的登錄密碼。3、配置身份驗(yàn)證模式兩種方法配置身份驗(yàn)證模式。一種是在安裝SQLServer2014系統(tǒng)時(shí),另一種是對(duì)已經(jīng)安裝并選擇好驗(yàn)證模式的SQLServer2014服務(wù)器,可以修改其驗(yàn)證模式。

5.4.2SQLServer2014的固定角色在SQLServer2014中角色分服務(wù)器角色和數(shù)據(jù)庫(kù)角色兩種類(lèi)型,而數(shù)據(jù)庫(kù)角色又分為固定數(shù)據(jù)庫(kù)角色和用戶(hù)自定義數(shù)據(jù)庫(kù)角色。1、固定服務(wù)器角色服務(wù)器角色是指被授予管理SQLServer服務(wù)器權(quán)限的角色,它獨(dú)立于各個(gè)數(shù)據(jù)庫(kù),其成員是登錄名。服務(wù)器角色是內(nèi)置的(固定的),即不能添加、修改或刪除服務(wù)器角色,只能修改角色的成員。SQLServer2014共定義了9種固定服務(wù)器角色,如表5.1所示。

5.4.2SQLServer2014的固定角色1、固定服務(wù)器角色在SQLServer2014中,可以使用系統(tǒng)存儲(chǔ)過(guò)程為某個(gè)固定服務(wù)器角色添加成員,其格式如下:

EXECsp_addsrvrolemember<登錄名>,<角色名>例5.19

將登錄名carl添加為固定服務(wù)器角色sysadmin的成員。

EXECsp_addsrvrolemembercarl,sysadmin可以使用系統(tǒng)存儲(chǔ)過(guò)程將固定服務(wù)器角色中的某個(gè)成員刪除,其格式如下:

EXECsp_dropsrvrolemember<登錄名>,<角色名>例5.20

從固定服務(wù)器角色sysadmin中刪除成員carl。

EXECsp_dropsrvrolemembercarl,sysadmin

5.4.2SQLServer2014的固定角色2、固定數(shù)據(jù)庫(kù)角色數(shù)據(jù)庫(kù)角色定義在數(shù)據(jù)庫(kù)級(jí)別上,它可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行特定的管理和操作。固定數(shù)據(jù)庫(kù)角色是內(nèi)置的(固定的),即不能添加、修改或刪除固定數(shù)據(jù)庫(kù)角色,只能修改角色的成員。每個(gè)數(shù)據(jù)庫(kù)都有一系列固定數(shù)據(jù)庫(kù)角色,盡管在不同的數(shù)據(jù)庫(kù)中它們的名稱(chēng)相同,但各個(gè)角色的作用域都在各自所屬的數(shù)據(jù)庫(kù)范圍內(nèi)。SQLServer2014共定義了10種固定數(shù)據(jù)庫(kù)角色,如表5.2所示。public是一個(gè)特殊的數(shù)據(jù)庫(kù)角色,每個(gè)數(shù)據(jù)庫(kù)用戶(hù)都會(huì)自動(dòng)成為public角色的成員,并且不能從pub

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論