版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1第四章 數(shù)據(jù)庫安全性 問題的提出數(shù)據(jù)庫的一大特點(diǎn)是數(shù)據(jù)可以共享但數(shù)據(jù)共享必然帶來數(shù)據(jù)庫的安全性問題數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)共享不能是無條件的共享例:軍事秘密、 國(guó)家機(jī)密、 新產(chǎn)品實(shí)驗(yàn)數(shù)據(jù)、 市場(chǎng)需求分析、市場(chǎng)營(yíng)銷策略、銷售計(jì)劃、 客戶檔案、 醫(yī)療檔案、 銀行儲(chǔ)蓄數(shù)據(jù)數(shù)據(jù)庫中數(shù)據(jù)的共享是在DBMS統(tǒng)一的嚴(yán)格的控制之下的共享,即只允許有合法使用權(quán)限的用戶訪問允許他存取的數(shù)據(jù)數(shù)據(jù)庫系統(tǒng)的安全保護(hù)措施是否有效是數(shù)據(jù)庫系統(tǒng)主要的性能指標(biāo)之一什么是數(shù)據(jù)庫的安全性數(shù)據(jù)庫的安全性是指保護(hù)數(shù)據(jù)庫,防止因用戶非法使用數(shù)據(jù)庫造成數(shù)據(jù)泄露、更改或破壞。什么是數(shù)據(jù)的保密數(shù)據(jù)保密是指用戶合法地訪問到機(jī)密數(shù)據(jù)后能否對(duì)這些數(shù)據(jù)保
2、密。通過制訂法律道德準(zhǔn)則和政策法規(guī)來保證。第1頁,共106頁。2第四章 數(shù)據(jù)庫安全性4.1 計(jì)算機(jī)安全性概述4.2 數(shù)據(jù)庫安全性控制4.3 視圖機(jī)制4.4 審計(jì)(Audit)4.5 數(shù)據(jù)加密4.6 統(tǒng)計(jì)數(shù)據(jù)庫安全性4.7 小結(jié)第2頁,共106頁。34.1 計(jì)算機(jī)安全性概述4.1.1 計(jì)算機(jī)系統(tǒng)的三類安全性問題 4.1.2 安全標(biāo)準(zhǔn)簡(jiǎn)介返回第3頁,共106頁。44.1.1 計(jì)算機(jī)系統(tǒng)的三類安全性問題 什么是計(jì)算機(jī)系統(tǒng)安全性為計(jì)算機(jī)系統(tǒng)建立和采取的各種安全保護(hù)措施,以保護(hù)計(jì)算機(jī)系統(tǒng)中的硬件、軟件及數(shù)據(jù),防止其因偶然或惡意的原因使系統(tǒng)遭到破壞,數(shù)據(jù)遭到更改或泄露等。計(jì)算機(jī)安全涉及問題計(jì)算機(jī)系統(tǒng)本身的
3、技術(shù)問題計(jì)算機(jī)安全理論與策略、計(jì)算機(jī)安全技術(shù)管理問題安全管理、安全評(píng)價(jià)、安全產(chǎn)品法學(xué)計(jì)算機(jī)安全法律犯罪學(xué)計(jì)算機(jī)犯罪與偵察安全監(jiān)察心理學(xué)第4頁,共106頁。5計(jì)算機(jī)系統(tǒng)的三類安全性問題(2) 技術(shù)安全類指計(jì)算機(jī)系統(tǒng)中采用具有一定安全性的硬件、軟件來實(shí)現(xiàn)對(duì)計(jì)算機(jī)系統(tǒng)及其所存數(shù)據(jù)的安全保護(hù),當(dāng)計(jì)算機(jī)系統(tǒng)受到無意或惡意的攻擊時(shí)仍能保證系統(tǒng)正常運(yùn)行,保證系統(tǒng)內(nèi)的數(shù)據(jù)不增加、不丟失、不泄露。管理安全類指由于管理不善導(dǎo)致的計(jì)算機(jī)設(shè)備和數(shù)據(jù)介質(zhì)的物理破壞、丟失等軟硬件意外故障以及場(chǎng)地的意外事故等安全問題政策法律類政府部門建立的有關(guān)計(jì)算機(jī)犯罪、數(shù)據(jù)安全保密的法律道德準(zhǔn)則和政策法規(guī)、法令。返回第5頁,共106頁。
4、64.1.2 安全標(biāo)準(zhǔn)簡(jiǎn)介隨著資源共享和網(wǎng)絡(luò)技術(shù)應(yīng)用的日益廣泛和深入,特別是Internet的發(fā)展,計(jì)算機(jī)安全性問題越來越得到人們的重視,為此在計(jì)算機(jī)安全技術(shù)方面逐步發(fā)展建立了一套可信(Trusted)計(jì)算機(jī)系統(tǒng)的概念和標(biāo)準(zhǔn)。只有建立了完善的可信或安全標(biāo)準(zhǔn),才能規(guī)范和指導(dǎo)安全計(jì)算機(jī)系統(tǒng)部件的生產(chǎn),比較準(zhǔn)確地測(cè)定產(chǎn)品的安全性能指標(biāo),滿足民用和國(guó)防的需要。為降低進(jìn)而消除對(duì)系統(tǒng)的安全攻擊,各國(guó)引用或制定了一系列安全標(biāo)準(zhǔn),最有影響的當(dāng)推TCSEC (桔皮書)和CC。第6頁,共106頁。7第7頁,共106頁。8可信計(jì)算機(jī)系統(tǒng)評(píng)測(cè)標(biāo)準(zhǔn)1985年美國(guó)國(guó)防部(DoD)正式頒布 DoD可信計(jì)算機(jī)系統(tǒng)評(píng)估標(biāo)準(zhǔn)(簡(jiǎn)
5、稱TCSEC或DoD85)TCSEC又稱桔皮書TCSEC標(biāo)準(zhǔn)的目的提供一種標(biāo)準(zhǔn),使用戶可以對(duì)其計(jì)算機(jī)系統(tǒng)內(nèi)敏感信息安全操作的可信程度做評(píng)估。給計(jì)算機(jī)行業(yè)的制造商提供一種可循的指導(dǎo)規(guī)則,使其產(chǎn)品能夠更好地滿足敏感應(yīng)用的安全需求。第8頁,共106頁。9可信計(jì)算機(jī)系統(tǒng)評(píng)測(cè)標(biāo)準(zhǔn)(2)1991年4月美國(guó)NCSC(國(guó)家計(jì)算機(jī)安全中心)頒布了可信計(jì)算機(jī)系統(tǒng)評(píng)估標(biāo)準(zhǔn)關(guān)于可信數(shù)據(jù)庫系統(tǒng)的解釋( Trusted Database Interpretation 簡(jiǎn)稱TDI)TDI又稱紫皮書。它將TCSEC擴(kuò)展到數(shù)據(jù)庫管理系統(tǒng)。TDI中定義了數(shù)據(jù)庫管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)中需滿足和用以進(jìn)行安全性級(jí)別評(píng)估的標(biāo)準(zhǔn)。第9頁,共
6、106頁。10可信計(jì)算機(jī)系統(tǒng)評(píng)測(cè)標(biāo)準(zhǔn)(3)TDI/TCSEC標(biāo)準(zhǔn)的基本內(nèi)容TDI與TCSEC一樣,從四個(gè)方面來描述安全性級(jí)別劃分的指標(biāo)安全策略責(zé)任保證文檔第10頁,共106頁。11可信計(jì)算機(jī)系統(tǒng)評(píng)測(cè)標(biāo)準(zhǔn)(4)R1 安全策略(Security Policy) R1.1 自主存取控制 (Discretionary Access Control,簡(jiǎn)記為DAC) R1.2 客體重用(Object Reuse) R1.3 標(biāo)記(Labels) R1.4 強(qiáng)制存取控制(Mandatory Access Control,簡(jiǎn)記為MAC)第11頁,共106頁。12自主存取控制方法(1)大型數(shù)據(jù)庫管理系統(tǒng)幾乎都支
7、持自主存取控制,目前的SQL標(biāo)準(zhǔn)也對(duì)自主存取控制提供支持,這主要通過SQL 的GRANT語句和REVOKE語句來實(shí)現(xiàn)。用戶權(quán)限是由兩個(gè)要素組成的:數(shù)據(jù)對(duì)象和操作類型。定義一個(gè)用戶的存取權(quán)限就是要定義這個(gè)用戶可以在哪些數(shù)據(jù)對(duì)象上進(jìn)行哪些類型的操作。在數(shù)據(jù)庫系統(tǒng)中,定義存取權(quán)限稱為授權(quán)(Authorization)。 用戶權(quán)限定義中數(shù)據(jù)對(duì)象范圍越小授權(quán)子系統(tǒng)就越靈活。例如上面的授權(quán)定義可精細(xì)到字段級(jí),而有的系統(tǒng)只能對(duì)關(guān)系授權(quán)。授權(quán)粒度越細(xì),授權(quán)子系統(tǒng)就越靈活,但系統(tǒng)定義與檢查權(quán)限的開銷也會(huì)相應(yīng)地增大。 第12頁,共106頁。13自主存取控制方法(2)衡量授權(quán)子系統(tǒng)精巧程度的另一個(gè)尺度是能否提供與數(shù)
8、據(jù)值有關(guān)的授權(quán)。上面的授權(quán)定義是獨(dú)立于數(shù)據(jù)值的,即用戶能否對(duì)某類數(shù)據(jù)對(duì)象執(zhí)行的操作與數(shù)據(jù)值無關(guān),完全由數(shù)據(jù)名決定。反之,若授權(quán)依賴于數(shù)據(jù)對(duì)象的內(nèi)容,則稱為是與數(shù)據(jù)值有關(guān)的授權(quán)。 有的系統(tǒng)還允許存取謂詞中引用系統(tǒng)變量,如一天中的某個(gè)時(shí)刻,某臺(tái)終端設(shè)備號(hào)。這樣用戶只能在某臺(tái)終端、某段時(shí)間內(nèi)存取有關(guān)數(shù)據(jù),這就是與時(shí)間和地點(diǎn)有關(guān)的存取權(quán)限。另外,我們還可以在存取謂詞中引用系統(tǒng)變量。如終端設(shè)備號(hào),系統(tǒng)時(shí)鐘等,這就是與時(shí)間地點(diǎn)有關(guān)的存取權(quán)限,這樣用戶只能在某段時(shí)間內(nèi),某臺(tái)終端上存取有關(guān)數(shù)據(jù)。 自主存取控制能夠通過授權(quán)機(jī)制有效地控制其他用戶對(duì)敏感數(shù)據(jù)的存取。但是由于用戶對(duì)數(shù)據(jù)的存取權(quán)限是“自主”的,用戶可以
9、自由地決定將數(shù)據(jù)的存取權(quán)限授予何人、決定是否也將“授權(quán)”的權(quán)限授予別人。在這種授權(quán)機(jī)制下,仍可能存在數(shù)據(jù)的“無意泄露”。 第13頁,共106頁。14強(qiáng)制存取控制方法 (1)所謂MAC是指系統(tǒng)為保證更高程度的安全性,按照TDI/TCSEC標(biāo)準(zhǔn)中安全策略的要求,所采取的強(qiáng)制存取檢查手段。它不是用戶能直接感知或進(jìn)行控制的。MAC適用于那些對(duì)數(shù)據(jù)有嚴(yán)格而固定密級(jí)分類的部門,例如軍事部門或政府部門。 在MAC中,DBMS所管理的全部實(shí)體被分為主體和客體兩大類。 主體是系統(tǒng)中的活動(dòng)實(shí)體,既包括DBMS所管理的實(shí)際用戶,也包括代表用戶的各進(jìn)程??腕w是系統(tǒng)中的被動(dòng)實(shí)體,是受主體操縱的,包括文件、基表、索引、視
10、圖等等。對(duì)于主體和客體,DBMS為它們每個(gè)實(shí)例(值)指派一個(gè)敏感度標(biāo)記(Label)。第14頁,共106頁。15強(qiáng)制存取控制方法 (2)敏感度標(biāo)記被分成若干級(jí)別,例如絕密(Top Secret)、機(jī)密(Secret)、可信(Confidential)、公開(Public)等。主體的敏感度標(biāo)記稱為許可證級(jí)別(Clearance Level),客體的敏感度標(biāo)記稱為密級(jí)(Classification Level)。MAC機(jī)制就是通過對(duì)比主體的Label和客體的Label,最終確定主體是否能夠存取客體。 當(dāng)某一用戶(或一主體)以標(biāo)記label注冊(cè)入系統(tǒng)時(shí),系統(tǒng)要求他對(duì)任何客體的存取必須遵循如下規(guī)則:
11、(1)僅當(dāng)主體的許可證級(jí)別大于或等于客體的密級(jí)時(shí),該主體才能讀取相應(yīng)的客體; (2)僅當(dāng)主體的許可證級(jí)別等于客體的密級(jí)時(shí),該主體才能寫相應(yīng)的客體。第15頁,共106頁。16可信計(jì)算機(jī)系統(tǒng)評(píng)測(cè)標(biāo)準(zhǔn)(5)R2 責(zé)任(Accountability)R2.1 標(biāo)識(shí)與鑒別(Identification & Authentication)R2.2 審計(jì)(Audit)R3 保證(Assurance)R3.1 操作保證(Operational Assurance)R3.2 生命周期保證(Life Cycle Assurance)第16頁,共106頁。17可信計(jì)算機(jī)系統(tǒng)評(píng)測(cè)標(biāo)準(zhǔn)(6)R4 文檔(Document
12、ation)R4.1 安全特性用戶指南(Security Features Users Guide)R4.2 可信設(shè)施手冊(cè)(Trusted Facility Manual)R4.3 測(cè)試文檔(Test Documentation)R4.4 設(shè)計(jì)文檔(Design Documentation)第17頁,共106頁。18可信計(jì)算機(jī)系統(tǒng)評(píng)測(cè)標(biāo)準(zhǔn)(7) TCSEC/TDI安全級(jí)別劃分安 全 級(jí) 別 定 義 A1驗(yàn)證設(shè)計(jì)(Verified Design) B3安全域(Security Domains) B2結(jié)構(gòu)化保護(hù)(Structural Protection) B1標(biāo)記安全保護(hù)(Labeled Sec
13、urity Protection)C2受控的存取保護(hù)(Controlled Access Protection)C1自主安全保護(hù)(Discretionary Security Protection) D最小保護(hù)(Minimal Protection)第18頁,共106頁。19可信計(jì)算機(jī)系統(tǒng)評(píng)測(cè)標(biāo)準(zhǔn)(8)四組(division)七個(gè)等級(jí) D C(C1,C2) B(B1,B2,B3) A(A1)按系統(tǒng)可靠或可信程度逐漸增高各安全級(jí)別之間具有一種偏序向下兼容的關(guān)系,即較高安全性級(jí)別提供的安全保護(hù)要包含較低級(jí)別的所有保護(hù)要求,同時(shí)提供更多或更完善的保護(hù)能力。第19頁,共106頁。20可信計(jì)算機(jī)系統(tǒng)評(píng)測(cè)
14、標(biāo)準(zhǔn)(9)D級(jí)(最小保護(hù))將一切不符合更高標(biāo)準(zhǔn)的系統(tǒng)均歸于D組典型例子:DOS是安全標(biāo)準(zhǔn)為D的操作系統(tǒng),DOS在安全性方面幾乎沒有什么專門的機(jī)制來保障。第20頁,共106頁。21可信計(jì)算機(jī)系統(tǒng)評(píng)測(cè)標(biāo)準(zhǔn)(10)C1級(jí)(自主安全保護(hù))非常初級(jí)的自主安全保護(hù)能夠?qū)崿F(xiàn)對(duì)用戶和數(shù)據(jù)的分離,進(jìn)行自主存取控制(DAC),保護(hù)或限制用戶權(quán)限的傳播。C2級(jí)(受控的存取保護(hù))安全產(chǎn)品的最低檔次提供受控的存取保護(hù),將C1級(jí)的DAC進(jìn)一步細(xì)化,以個(gè)人身份注冊(cè)負(fù)責(zé),并實(shí)施審計(jì)和資源隔離。達(dá)到C2級(jí)的產(chǎn)品在其名稱中往往不突出“安全”(Security)這一特色。典型例子 操作系統(tǒng):Microsoft的Windows 20
15、00、數(shù)字設(shè)備公司的Open VMS VAX 6.0和6.1 數(shù)據(jù)庫:Oracle公司的Oracle 7、Sybase公司的 SQL Server 11.0.6第21頁,共106頁。22可信計(jì)算機(jī)系統(tǒng)評(píng)測(cè)標(biāo)準(zhǔn)(11)B1級(jí)(標(biāo)記安全保護(hù))標(biāo)記安全保護(hù)?!鞍踩?Security)或“可信的”(Trusted)產(chǎn)品。對(duì)系統(tǒng)的數(shù)據(jù)加以標(biāo)記,對(duì)標(biāo)記的主體和客體實(shí)施強(qiáng)制存取控制(MAC)、審計(jì)等安全機(jī)制,B1級(jí)別的產(chǎn)品才認(rèn)為是真正意義上的安全產(chǎn)品。典型例子 操作系統(tǒng):數(shù)字設(shè)備公司的SEVMS VAX Version 6.0、惠普公司的HP-UX BLS release 9.0.9+ 。 數(shù)據(jù)庫:Ora
16、cle公司的Trusted Oracle 7、Sybase公司的Secure SQL Server version 11.0.6、Informix公司的Incorporated INFORMIX-OnLine / Secure 5.0第22頁,共106頁。23可信計(jì)算機(jī)系統(tǒng)評(píng)測(cè)標(biāo)準(zhǔn)(12)B2級(jí)(結(jié)構(gòu)化保護(hù))結(jié)構(gòu)化保護(hù)建立形式化的安全策略模型并對(duì)系統(tǒng)內(nèi)的所有主體和客體實(shí)施DAC和MAC。經(jīng)過認(rèn)證的B2級(jí)以上的安全系統(tǒng)非常稀少。典型例子 操作系統(tǒng)只有Trusted Information Systems公司的Trusted XENIX一種產(chǎn)品 標(biāo)準(zhǔn)的網(wǎng)絡(luò)產(chǎn)品只有Cryptek Secure Co
17、mmunications公司的LLC VSLAN一種產(chǎn)品 數(shù)據(jù)庫沒有符合B2標(biāo)準(zhǔn)的產(chǎn)品第23頁,共106頁。24可信計(jì)算機(jī)系統(tǒng)評(píng)測(cè)標(biāo)準(zhǔn)(13)B3級(jí)(安全域保護(hù))安全域。該級(jí)的TCB(受信任計(jì)算機(jī)庫)必須滿足訪問監(jiān)控器的要求,審計(jì)跟蹤能力更強(qiáng),并提供系統(tǒng)恢復(fù)過程。A1級(jí)(驗(yàn)證設(shè)計(jì))驗(yàn)證設(shè)計(jì),即提供B3級(jí)保護(hù)的同時(shí)給出系統(tǒng)的形式化設(shè)計(jì)說明和驗(yàn)證以確信各安全保護(hù)真正實(shí)現(xiàn)。B2以上的系統(tǒng)還處于理論研究階段。應(yīng)用多限于一些特殊的部門如軍隊(duì)等。美國(guó)正在大力發(fā)展安全產(chǎn)品,試圖將目前僅限于少數(shù)領(lǐng)域應(yīng)用的B2安全級(jí)別下放到商業(yè)應(yīng)用中來,并逐步成為新的商業(yè)標(biāo)準(zhǔn)。第24頁,共106頁。25可信計(jì)算機(jī)系統(tǒng)評(píng)測(cè)標(biāo)準(zhǔn)(
18、14)第25頁,共106頁。26可信計(jì)算機(jī)系統(tǒng)評(píng)測(cè)標(biāo)準(zhǔn)(15) 表示該級(jí)不提供對(duì)該指標(biāo)的支持; 表示該級(jí)新增的對(duì)該指標(biāo)的支持; 表示該級(jí)對(duì)該指標(biāo)的支持與相鄰低一級(jí)的 等級(jí)一樣; 表示該級(jí)對(duì)該指標(biāo)的支持較下一級(jí)有所增 加或改動(dòng)。第26頁,共106頁。27公共標(biāo)準(zhǔn)CCCC是在之前各評(píng)估標(biāo)準(zhǔn)及具體實(shí)踐基礎(chǔ)上,通過相互總結(jié)和互相補(bǔ)充發(fā)展而來的。和早期的準(zhǔn)則相比,CC具有結(jié)構(gòu)開放、表達(dá)方式通用等特點(diǎn)。CC提出了目前國(guó)際上公認(rèn)的表述信息技術(shù)安全性的結(jié)構(gòu),即把信息產(chǎn)品的安全要求分為安全功能要求和安全保證要求。安全功能要求用以規(guī)范產(chǎn)品和系統(tǒng)的安全行為,安全保證要求解決如何正確有效地實(shí)施這些功能。二者都以“類-
19、子類-組件”的結(jié)構(gòu)表述,組件是安全要求的最小構(gòu)成件。第27頁,共106頁。28CC的組成“簡(jiǎn)介和一般模型”,介紹CC中的有關(guān)術(shù)語、基本概念和一般模型以及與評(píng)估有關(guān)的一些框架,CC的附錄部分主要介紹“保護(hù)輪廓(Protection Profile,簡(jiǎn)稱PP)”和“安全目標(biāo)(Security Target,簡(jiǎn)稱ST)”的基本內(nèi)容。安全功能要求,列出了一系列的功能組件、子類和類,具體來說有11類、66個(gè)子類、135個(gè)組件組成。安全保證要求,有7個(gè)類、26個(gè)子類、74個(gè)組件組成。另外,第三部分中根據(jù)系統(tǒng)對(duì)安全保證要求的支持情況提出了評(píng)估保證級(jí)(ELA),并定義了保護(hù)輪廓PP和安全目標(biāo)ST的評(píng)估標(biāo)準(zhǔn),用
20、于對(duì)PP和ST的評(píng)估。三部分的有機(jī)結(jié)合具體體現(xiàn)在PP和ST中,CC提出的安全功能要求和安全保證要求都可以在具體的PP和ST中進(jìn)一步細(xì)化和擴(kuò)展。CC的具體應(yīng)用也是通過PP和ST這兩種結(jié)構(gòu)來實(shí)現(xiàn)的。第28頁,共106頁。29CC與PP和ST的關(guān)系PP用于表達(dá)一類產(chǎn)品或系統(tǒng)的用戶需求,是CC在某一領(lǐng)域的具體化(如OS PP、DBMS PP等)。ST是對(duì)特定的一種產(chǎn)品進(jìn)行描述,參加CC評(píng)估的產(chǎn)品必須提供自己的ST。PP的編制有助于提高安全保護(hù)的針對(duì)性和有效性,ST在PP的基礎(chǔ)上,將安全要求進(jìn)一步具體化,解決安全要求的具體實(shí)現(xiàn)。通過PP和ST這兩種結(jié)構(gòu),能夠方便的將CC的安全性要求具體應(yīng)用到信息產(chǎn)品的開
21、發(fā)、生產(chǎn)、測(cè)試、評(píng)估和信息系統(tǒng)的集成、運(yùn)行、評(píng)估、管理中。除了PP和ST外,還一個(gè)重要的結(jié)構(gòu)是包,包是組件的特定組合,用來描述一組特定的安全功能和保證要求。評(píng)估保證級(jí)(ELA)就是一包。第29頁,共106頁。30表4-2 CC評(píng)估保證級(jí)評(píng)估保證級(jí)定義TCSEC安全級(jí)別(近似相當(dāng))EAL1功能測(cè)試EAL2結(jié)構(gòu)測(cè)試C1EAL3系統(tǒng)地測(cè)試和檢查C2EAL4系統(tǒng)地設(shè)計(jì)、測(cè)試和復(fù)查B1EAL5半形式化設(shè)計(jì)和測(cè)試B2EAL6半形式化驗(yàn)證的設(shè)計(jì)和測(cè)試B3EAL7形式化驗(yàn)證的設(shè)計(jì)和測(cè)試A1返回第30頁,共106頁。314.2 數(shù)據(jù)庫安全性控制4.2.0 數(shù)據(jù)庫安全性控制概述4.2.1 用戶標(biāo)識(shí)與鑒別4.2.2
22、 存取控制4.2.3 自主存取控制方法4.2.4 授權(quán)與回收4.2.5 角色4.2.6 強(qiáng)制存取控制方法返回第31頁,共106頁。324.2.0 數(shù)據(jù)庫安全性控制概述非法使用數(shù)據(jù)庫的情況用戶編寫一段合法的程序繞過DBMS及其授權(quán)機(jī)制,通過操作系統(tǒng)直接存取、修改或備份數(shù)據(jù)庫中的數(shù)據(jù);直接或編寫應(yīng)用程序執(zhí)行非授權(quán)操作;通過多次合法查詢數(shù)據(jù)庫從中推導(dǎo)出一些保密數(shù)據(jù),例:某數(shù)據(jù)庫應(yīng)用系統(tǒng)禁止查詢單個(gè)人的工資,但允許查任意一組人的平均工資。用戶甲想了解張三的工資,于是他:首先查詢包括張三在內(nèi)的一組人的平均工資; 然后查用自己替換張三后這組人的平均工資, 從而推導(dǎo)出張三的工資。破壞安全性的行為可能是無意的
23、,故意的,惡意的。第32頁,共106頁。33計(jì)算機(jī)系統(tǒng)中的安全模型 應(yīng)用DBMSOS DB 低 高安全性控制層次 方法: 用戶標(biāo)識(shí)和鑒定 存取控制審計(jì)視圖 操作系統(tǒng) 安全保護(hù) 密碼存儲(chǔ) 第33頁,共106頁。34數(shù)據(jù)庫安全性控制概述(2)數(shù)據(jù)庫安全性控制的常用方法用戶標(biāo)識(shí)和鑒定存取控制視圖審計(jì)密碼存儲(chǔ)返回第34頁,共106頁。354.2.1 用戶標(biāo)識(shí)與鑒別(Identification &Authentication)系統(tǒng)提供的最外層安全保護(hù)措施基本方法系統(tǒng)提供一定的方式讓用戶標(biāo)識(shí)自己的名字或身份;系統(tǒng)內(nèi)部記錄著所有合法用戶的標(biāo)識(shí);每次用戶要求進(jìn)入系統(tǒng)時(shí),由系統(tǒng)核對(duì)用戶提供的身份標(biāo)識(shí);通過鑒定
24、后才提供機(jī)器使用權(quán)。用戶標(biāo)識(shí)和鑒定可以重復(fù)多次第35頁,共106頁。36用戶標(biāo)識(shí)自己的名字或身份用戶名/口令簡(jiǎn)單易行,容易被人竊取每個(gè)用戶預(yù)先約定好一個(gè)計(jì)算過程或者函數(shù)系統(tǒng)提供一個(gè)隨機(jī)數(shù)用戶根據(jù)自己預(yù)先約定的計(jì)算過程或者函數(shù)進(jìn)行計(jì)算系統(tǒng)根據(jù)用戶計(jì)算結(jié)果是否正確鑒定用戶身份返回第36頁,共106頁。374.2.2 存取控制存取控制機(jī)制的功能存取控制機(jī)制的組成 定義存取權(quán)限,并將用戶權(quán)限登記到數(shù)據(jù)字典中:在數(shù)據(jù)庫系統(tǒng)中,為了保證用戶只能訪問他有權(quán)存取的數(shù)據(jù),必須預(yù)先對(duì)每個(gè)用戶定義存取權(quán)限。合法權(quán)限檢查:對(duì)于通過鑒定獲得上機(jī)權(quán)的用戶(即合法用戶),系統(tǒng)根據(jù)他的存取權(quán)限定義對(duì)他的各種操作請(qǐng)求進(jìn)行控制,
25、確保他只執(zhí)行合法操作。用戶權(quán)限定義和合法權(quán)檢查機(jī)制一起組成了DBMS的安全子系統(tǒng)第37頁,共106頁。38存取控制(2)常用存取控制方法自主存取控制(Discretionary Access Control ,簡(jiǎn)稱DAC) C2級(jí); 靈活。同一用戶對(duì)于不同的數(shù)據(jù)對(duì)象有不同的存取權(quán)限不同的用戶對(duì)同一對(duì)象也有不同的權(quán)限用戶還可將其擁有的存取權(quán)限轉(zhuǎn)授給其他用戶強(qiáng)制存取控制(Mandatory Access Control,簡(jiǎn)稱 MAC) B1級(jí);嚴(yán)格。每一個(gè)數(shù)據(jù)對(duì)象被標(biāo)以一定的密級(jí)每一個(gè)用戶也被授予某一個(gè)級(jí)別的許可證對(duì)于任意一個(gè)對(duì)象,只有具有合法許可證的用戶才可以存取返回第38頁,共106頁。394
26、.2.3 自主存取控制方法定義存取權(quán)限存取權(quán)限 存取權(quán)限由兩個(gè)要素組成數(shù)據(jù)庫對(duì)象操作類型對(duì)非關(guān)系系統(tǒng)中,用戶只能對(duì)數(shù)據(jù)進(jìn)行操作,存取控制的數(shù)據(jù)庫對(duì)象也僅限于數(shù)據(jù)本身;而在關(guān)系系統(tǒng)中存取控制的對(duì)象不僅有數(shù)據(jù)本身,還有數(shù)據(jù)庫模式。第39頁,共106頁。40關(guān)系數(shù)據(jù)庫系統(tǒng)中的存取權(quán)限對(duì)象類型對(duì)象操作類型數(shù)據(jù)庫模式、數(shù)據(jù)庫Create schemaCreate database模式基本表Create tableAlter table視圖Create view索引Create Index數(shù)據(jù)基本表和視圖Select,insert,update,delete,references,all privileg
27、es數(shù)據(jù)屬性列Select,insert,update,references,all privileges第40頁,共106頁。41自主存取控制方法(續(xù))關(guān)系系統(tǒng)中的存取權(quán)限(續(xù))例: 一張授權(quán)表 用戶名 數(shù)據(jù)對(duì)象名 允許的操作類型 王 平 關(guān)系Student SELECT 張明霞 關(guān)系Student UPDATE 張明霞 關(guān)系Course ALL 張明霞 SC. Grade UPDATE 張明霞 SC. Sno SELECT 張明霞 SC. Cno SELECT第41頁,共106頁。42自主存取控制方法(續(xù))檢查存取權(quán)限對(duì)于獲得上機(jī)權(quán)后又進(jìn)一步發(fā)出存取數(shù)據(jù)庫操作的用戶DBMS查找數(shù)據(jù)字典,根
28、據(jù)其存取權(quán)限對(duì)操作的合法性進(jìn)行檢查若用戶的操作請(qǐng)求超出了定義的權(quán)限,系統(tǒng)將拒絕執(zhí)行此操作 授權(quán)粒度授權(quán)粒度是指可以定義的數(shù)據(jù)對(duì)象的范圍它是衡量授權(quán)機(jī)制是否靈活的一個(gè)重要指標(biāo)。授權(quán)定義中數(shù)據(jù)對(duì)象的粒度越細(xì),即可以定義的數(shù)據(jù)對(duì)象的范圍越小,授權(quán)子系統(tǒng)就越靈活。關(guān)系數(shù)據(jù)庫中授權(quán)的數(shù)據(jù)對(duì)象粒度: 數(shù)據(jù)庫、 表、屬性列、 行。能否提供與數(shù)據(jù)值有關(guān)的授權(quán)反映了授權(quán)子系統(tǒng)精巧程度。第42頁,共106頁。43自主存取控制方法(續(xù))實(shí)現(xiàn)與數(shù)據(jù)值有關(guān)的授權(quán)利用存取謂詞存取謂詞可以很復(fù)雜可以引用系統(tǒng)變量,如終端設(shè)備號(hào),系統(tǒng)時(shí)鐘等,實(shí)現(xiàn)與時(shí)間地點(diǎn)有關(guān)的存取權(quán)限,這樣用戶只能在某段時(shí)間內(nèi),某臺(tái)終端上存取有關(guān)數(shù)據(jù) 例:規(guī)
29、定“教師只能在每年1月份和7月份星期一至星期五上午8點(diǎn)到下午5點(diǎn)處理學(xué)生成績(jī)數(shù)據(jù)”。第43頁,共106頁。44自主存取控制方法(續(xù))自主存取控制小結(jié)定義存取權(quán)限用戶檢查存取權(quán)限D(zhuǎn)BMS授權(quán)粒度數(shù)據(jù)對(duì)象粒度:數(shù)據(jù)庫、表、屬性列、行數(shù)據(jù)值粒度:存取謂詞授權(quán)粒度越細(xì),授權(quán)子系統(tǒng)就越靈活,能夠提供的安全性就越完善。但另一方面,因數(shù)據(jù)字典變大變復(fù)雜,系統(tǒng)定義與檢查權(quán)限的開銷也會(huì)相應(yīng)地增大。第44頁,共106頁。45自主存取控制方法(續(xù))自主存取控制小結(jié)(續(xù))優(yōu)點(diǎn)能夠通過授權(quán)機(jī)制有效地控制其他用戶對(duì)敏感數(shù)據(jù)的存取缺點(diǎn)可能存在數(shù)據(jù)的“無意泄露”原因:這種機(jī)制僅僅通過對(duì)數(shù)據(jù)的存取權(quán)限來進(jìn)行安全控制,而數(shù)據(jù)本身
30、并無安全性標(biāo)記。 解決:對(duì)系統(tǒng)控制下的所有主客體實(shí)施強(qiáng)制存取控制策略。返回第45頁,共106頁。464.2.4授權(quán)(authorization)與回收一、 SQL Server中的用戶管理二、授權(quán)語句三、DENY語句四、收權(quán)語句五、創(chuàng)建數(shù)據(jù)庫模式的權(quán)限第46頁,共106頁。47一、SQL Server中的用戶管理用戶管理概述角色概述在企業(yè)管理中的用戶管理在T-SQL中的用戶管理第47頁,共106頁。48用戶管理概述用戶在連接到 SQL Server 2000 時(shí)與標(biāo)識(shí)符 (ID) 相關(guān)聯(lián)。ID 是控制訪問 SQL Server 系統(tǒng)的帳戶。若不先指定有效ID,用戶就不能連接到 SQL Serv
31、er。sysadmin 固定服務(wù)器角色成員定義 ID。登錄ID 本身并不提供訪問數(shù)據(jù)庫對(duì)象的用戶權(quán)限。一個(gè)登錄ID 必須與每個(gè)數(shù)據(jù)庫中的一個(gè)用戶 ID 相關(guān)聯(lián)后,用這個(gè)登錄 ID 連接的人才能訪問數(shù)據(jù)庫中的對(duì)象。如果登錄 ID 沒有與數(shù)據(jù)庫中的任何用戶 ID 顯式關(guān)聯(lián),就與 guest 用戶 ID 相關(guān)聯(lián)。如果數(shù)據(jù)庫沒有 guest 用戶帳戶,則該登錄就不能訪問該數(shù)據(jù)庫,除非它已與一個(gè)有效的用戶帳戶相關(guān)聯(lián)。sp_grantlogin 使用 Windows 身份驗(yàn)證授予 Windows網(wǎng)絡(luò)帳戶(組帳戶或用戶帳戶)作為連接到 SQL Server 的 SQL Server 。sp_addlogin
32、 則使用 SQL Server 身份驗(yàn)證為 SQL Server 連接定義登錄帳戶。第48頁,共106頁。49角色概述角色是一個(gè)強(qiáng)大的工具,使您得以將用戶集中到一個(gè)單元中,然后對(duì)該單元應(yīng)用權(quán)限。對(duì)一個(gè)角色授予、拒絕或廢除的權(quán)限也適用于該角色的任何成員。可以建立一個(gè)角色來代表單位中一類工作人員所執(zhí)行的工作,然后給這個(gè)角色授予適當(dāng)?shù)臋?quán)限。當(dāng)工作人員開始工作時(shí),只須將他們添加為該角色成員,當(dāng)他們離開工作時(shí),將他們從該角色中刪除。而不必在每個(gè)人接受或離開工作時(shí),反復(fù)授予、拒絕和廢除其權(quán)限。權(quán)限在用戶成為角色成員時(shí)自動(dòng)生效。如果根據(jù)工作職能定義了一系列角色,并給每個(gè)角色指派了適合這項(xiàng)工作的權(quán)限,則很容易
33、在數(shù)據(jù)庫中管理這些權(quán)限。之后,不用管理各個(gè)用戶的權(quán)限,而只須在角色之間移動(dòng)用戶即可。如果工作職能發(fā)生改變,則只須更改一次角色的權(quán)限,并使更改自動(dòng)應(yīng)用于角色的所有成員,操作比較容易。在SQL Server中有兩種角色:固定服務(wù)器角色和數(shù)據(jù)庫角色。第49頁,共106頁。50在企業(yè)管理器中管理用戶展開服務(wù)器實(shí)例安全項(xiàng)中的登錄項(xiàng),右擊,可以創(chuàng)建、刪除一個(gè)用戶登錄,在定義一個(gè)登錄或或登錄屬性對(duì)話框中可以改變登錄所隸屬的服務(wù)器角色和數(shù)據(jù)庫角色,同時(shí)也可以改變登錄的權(quán)限。右擊安全項(xiàng)中的服務(wù)器角色中的一個(gè)角色,可以給該角色增加或刪除成員。對(duì)著一個(gè)具體數(shù)據(jù)庫中的庫名或之中的用戶右擊,執(zhí)行“新建數(shù)據(jù)庫用戶”命令,
34、可以為數(shù)據(jù)庫增加一個(gè)安全I(xiàn)D,對(duì)著一個(gè)具體的安全I(xiàn)D右擊可以刪除一個(gè)安全I(xiàn)D或更改一個(gè)安全I(xiàn)d的權(quán)限。對(duì)著某庫中的角色操作, 可以定義一個(gè)新角色、刪除一個(gè)用戶定義的角色、更新角色的權(quán)限和改變角色中的成員等。第50頁,共106頁。51在T-SQL中的用戶管理(1)創(chuàng)建一個(gè)登錄1. sp_addlogin創(chuàng)建新的登錄,使用戶得以連接使用 SQL Server 身份驗(yàn)證的 SQL Server 實(shí)例。語法: sp_addlogin loginame = login , passwd = password , defdb = database 缺省數(shù)據(jù)庫是master2. Sp_grantlogin使
35、 Windows NT用戶或組帳戶得以使用 Windows 身份驗(yàn)證連接到 Microsoft SQL Server。語法: sp_grantlogin loginame = login第51頁,共106頁。52在T-SQL中的用戶管理(2)刪除一個(gè)登錄1. sp_droplogin刪除SQL Server登錄。語法: sp_droplogin loginame = login2. Sp_revokelogin從 SQL Server中刪除用 sp_grantlogin 或 sp_denylogin 創(chuàng)建的 Windows NT用戶或組的登錄項(xiàng)。語法: sp_revokelogin login
36、ame = login第52頁,共106頁。53在T-SQL中的用戶管理(3)給數(shù)據(jù)庫添加安全帳戶1. sp_adduser為當(dāng)前數(shù)據(jù)庫中的新用戶添加安全帳戶。包括此過程是為了向后兼容。請(qǐng)使用 sp_grantdbaccess。語法: sp_adduser loginame = login , name_in_db = user , grpname = group 2. sp_grantdbaccess為SQL Server登錄或Windows NT用戶或組在當(dāng)前數(shù)據(jù)庫中添加一個(gè)安全帳戶,并使其能夠被授予在數(shù)據(jù)庫中執(zhí)行活動(dòng)的權(quán)限。語法: sp_grantdbaccess loginame =
37、login第53頁,共106頁。54在T-SQL中的用戶管理(4)給數(shù)據(jù)庫刪除安全帳戶1. sp_dropuser從當(dāng)前數(shù)據(jù)庫中刪除SQL Server用戶或Windows NT 用戶。提供 sp_dropuser 是為了向后兼容。使用 sp_revokedbaccess 刪除用戶。語法: sp_dropuser name_in_db = user2. sp_revokedbaccess從當(dāng)前數(shù)據(jù)庫中刪除安全帳戶。語法: sp_revokedbaccess name_in_db = name第54頁,共106頁。55在T-SQL中的用戶管理(5)數(shù)據(jù)庫角色的創(chuàng)建與刪除1. sp_addrole
38、在當(dāng)前數(shù)據(jù)庫創(chuàng)建新的SQL Server角色。語法:sp_addrole rolename = role , ownername = owner 2.sp_droprole從當(dāng)前數(shù)據(jù)庫刪除 SQL Server 角色。語法: sp_droprole rolename = role第55頁,共106頁。56在T-SQL中的用戶管理(6)數(shù)據(jù)庫角色成員的添加與刪除1. sp_addrolemember 功能:將安全帳戶作為當(dāng)前數(shù)據(jù)庫中現(xiàn)有數(shù)據(jù)庫角色的成員進(jìn)行添加。語法: sp_addrolemember rolename = role, membername = security_account2
39、. sp_droprolemember功能:從當(dāng)前數(shù)據(jù)庫中的角色中刪除安全帳戶。語法: sp_droprolemember rolename = role , membername = security_account第56頁,共106頁。57在T-SQL中的用戶管理(7)服務(wù)器角色成員的添加與刪除1. sp_addsrvrolemember功能:添加登錄,使其成為固定服務(wù)器角色的成員。語法:sp_addsrvrolemember loginame = loginrolename = role2. sp_dropsrvrolemember功能:從固定服務(wù)器角色中刪除SQL Server登錄或
40、Windows NT 用戶或組。語法:sp_dropsrvrolemember loginame = login , rolename = role第57頁,共106頁。58二、授權(quán)語句標(biāo)準(zhǔn)SQL中的管理員專用授權(quán)命令GRANT CONNEXT|RESOURCE|DBA TO 用戶名 IDENTIFED BY 口令CONNECT表示DBA允許指定的用戶具有連接到數(shù)據(jù)庫的權(quán)力。RESOURCE表示允許用戶建立自己的新關(guān)系模式。DBA表示將自己的特權(quán)授予指定的用戶。SQL Server 2000中的管理員專用授權(quán)(語句授權(quán)) GRANT ALL | statement ,.n TO securit
41、y_account ,.n 可用statement包括 CREATE DATABASE CREATE DEFAULT CREATE FUNCTION CREATE PROCEDURE CREATE RULE CREATE TABLE CREATE VIEW BACKUP DATABASE BACKUP LOG 示例:grant create table to sun1 第58頁,共106頁。59授權(quán)語句(2)對(duì)象授權(quán)語句的一般格式: GRANT ,. ON , TO , WITH GRANT OPTION;發(fā)出該語句的是DBA和表的建立者(即表的屬主)也可以是已經(jīng)擁在該權(quán)限的用戶。接受該權(quán)限的
42、用戶可以是一個(gè)或多個(gè),也可以是PUBLIC,即全部用戶。如果指定了WITH GRANT OPTION子句,剛獲得某種權(quán)限的用戶還可以把這種權(quán)限授予其他人。SQL標(biāo)準(zhǔn)允許具有WITH GRANT OPTION的用戶把相應(yīng)權(quán)限或其子集授予其他用戶,但不允許循環(huán)授權(quán)。第59頁,共106頁。60授 權(quán)語句(3)對(duì)象授權(quán)語句的完整格式 GRANT ALL PRIVILEGES | permission ,.n ( column ,.n ) ON table | view | ON table | view ( column ,.n ) | ON stored_procedure | extended_p
43、rocedure | ON user_defined_function TO security_account ,.n WITH GRANT OPTION AS group | role 第60頁,共106頁。61參數(shù)介紹(1/2)permission是當(dāng)前授予的對(duì)象權(quán)限。當(dāng)在表、表值函數(shù)或視圖上授予對(duì)象權(quán)限時(shí),權(quán)限列表可以包括這些權(quán)限中的一個(gè)或多個(gè):SELECT、INSERT、DELETE、REFENENCES 或 UPDATE。列列表可以與 SELECT 和 UPDATE 權(quán)限一起提供。如果列列表未與 SELECT 和 UPDATE 權(quán)限一起提供,那么該權(quán)限應(yīng)用于表、視圖或表值函數(shù)中的所有
44、列。在存儲(chǔ)過程上授予的對(duì)象權(quán)限只可以包括 EXECUTE。在標(biāo)量值函數(shù)上授予的對(duì)象權(quán)限可以包括 EXECUTE 和 REFERENCES。為在 SELECT 語句中訪問某個(gè)列,該列上需要有 SELECT 權(quán)限。為使用 UPDATE 語句更新某個(gè)列,該列上需要有 UPDATE 權(quán)限。為創(chuàng)建引用某個(gè)表的 FOREIGN KEY 約束,該表上需要有 REFERENCES 權(quán)限。為使用引用某個(gè)對(duì)象的 WITH SCHEMABINDING 子句創(chuàng)建 FUNCTION 或 VIEW,該對(duì)象上需要有 REFERENCES 權(quán)限。第61頁,共106頁。62參數(shù)介紹(2/2)WITH GRANT OPTION
45、表示給予了 security_account 將指定的對(duì)象權(quán)限授予其它安全帳戶的能力。WITH GRANT OPTION 子句僅對(duì)對(duì)象權(quán)限有效。AS group | role 指當(dāng)前數(shù)據(jù)庫中有執(zhí)行 GRANT 語句權(quán)力的安全帳戶的可選名。當(dāng)對(duì)象上的權(quán)限被授予一個(gè)組或角色時(shí)使用 AS,對(duì)象權(quán)限需要進(jìn)一步授予不是組或角色的成員的用戶。因?yàn)橹挥杏脩簦ǘ皇墙M或角色)可執(zhí)行 GRANT 語句,組或角色的特定成員授予組或角色權(quán)力之下的對(duì)象的權(quán)限第62頁,共106頁。63示例(1/2)1. 在權(quán)限層次中授予對(duì)象權(quán)限 下例顯示權(quán)限的優(yōu)先順序。首先,給 public 角色授予 SELECT 權(quán)限。然后,將特定
46、的權(quán)限授予用戶 Mary、John 和 Tom。于是這些用戶就有了對(duì) authors 表的所有權(quán)限。 USE pubs GO GRANT SELECT ON authors TO public GO GRANT INSERT, UPDATE, DELETE ON authors TO Mary, John, Tom GO 第63頁,共106頁。64示例(2/2)2. 用 AS 選項(xiàng)授予權(quán)限 用戶 Jean 擁有表 Plan_Data。Jean 將表 Plan_Data 的 SELECT 權(quán)限授予 Accounting 角色(指定 WITH GRANT OPTION 子句)。用戶 Jill 是
47、Accounting 的成員,他要將表 Plan_Data 上的 SELECT 權(quán)限授予用戶 Jack,Jack 不是 Accounting 的成員。因?yàn)閷?duì)表 Plan_Data 用 GRANT 語句授予其他用戶 SELECT 權(quán)限的權(quán)限是授予 Accounting 角色而不是顯式地授予 Jill,不能因?yàn)橐咽谟?Accounting 角色中成員該權(quán)限,而使 Jill 能夠授予表的權(quán)限。Jill 必須用 AS 子句來獲得 Accounting 角色的授予權(quán)限。 /* User Jean */ GRANT SELECT ON Plan_Data TO Accounting WITH GRANT
48、OPTION /* User Jill */ GRANT SELECT ON Plan_Data TO Jack AS Accounting 第64頁,共106頁。65三、DENY語句DENY語句:在安全系統(tǒng)中創(chuàng)建一項(xiàng),以拒絕給當(dāng)前數(shù)據(jù)庫內(nèi)的安全帳戶授予權(quán)限并防止安全帳戶通過其組或角色成員資格繼承權(quán)限。語句權(quán)限語法: DENY ALL | statement ,.n TO security_account ,.n 對(duì)象權(quán)限語法: DENY ALL PRIVILEGES | permission ,.n ( column ,.n ) ON table | view | ON table | vi
49、ew ( column ,.n ) | ON stored_procedure | extended_procedure | ON user_defined_function TO security_account ,.n CASCADE CASCADE:指定拒絕來自 security_account 的權(quán)限時(shí),也將拒絕由 security_account 授權(quán)的任何其它安全帳戶。第65頁,共106頁。66四、收權(quán)語句標(biāo)準(zhǔn)SQL中管理員專用的權(quán)力回收 REVORK CONNECT|RESOURCE|DBA FROM 用戶名SQL Server 2000中的語句授權(quán)回收 REVOKE ALL |
50、 statement ,.n FROM security_account ,.n 第66頁,共106頁。67收權(quán)語句(2)SQL Server 2000中的對(duì)象授權(quán)回收 REVOKE GRANT OPTION FOR ALL PRIVILEGES | permission ,.n ( column ,.n ) ON table | view | ON table | view ( column ,.n ) | ON stored_procedure | extended_procedure | ON user_defined_function TO | FROM security_accoun
51、t ,.n CASCADE AS group | role 第67頁,共106頁。68參數(shù)(1/2)GRANT OPTION FOR指定要?jiǎng)h除的 WITH GRANT OPTION 權(quán)限。在 REVOKE 中使用 GRANT OPTION FOR 關(guān)鍵字可消除 GRANT 語句中指定的WITH GRANT OPTION 設(shè)置的影響。用戶仍然具有該權(quán)限,但是不能將該權(quán)限授予其他用戶。如果要廢除的權(quán)限原先不是通過 WITH GRANT OPTION 設(shè)置授予的,則忽略 GRANT OPTION FOR(若指定了此參數(shù))并照例廢除權(quán)限。如果要廢除的權(quán)限原先是通過 WITH GRANT OPTION
52、設(shè)置授予的,則指定 CASCADE 和 GRANT OPTION FOR 子句,否則將返回一個(gè)錯(cuò)誤。第68頁,共106頁。69參數(shù)(2/2)CASCADE指定刪除來自 security_account 的權(quán)限時(shí),也將刪除由 security_account 授權(quán)的任何其它安全帳戶。廢除可授予的權(quán)限時(shí)使用 CASCADE。如果要廢除的權(quán)限原先是通過 WITH GRANT OPTION 設(shè)置授予 security_account 的,則指定 CASCADE 和 GRANT OPTION FOR 子句;否則將返回一個(gè)錯(cuò)誤。指定 CASCADE 和 GRANT OPTION FOR 子句將只廢除通過
53、WITH GRANT OPTION 設(shè)置授予 security_account 的權(quán)限以及由 security_account 授權(quán)的其它安全帳戶。第69頁,共106頁。70應(yīng)用舉例例1 把查詢Student表權(quán)限授給用戶U1 GRANT SELECT ON Student TO U1;例2 把對(duì)Student表和Course表的全部權(quán)限授予用戶U2和U3 GRANT ALL PRIVILIGES ON Student, Course TO U2, U3;例3 把對(duì)表SC的查詢權(quán)限授予所有用戶 GRANT SELECT ON SC TO PUBLIC;第70頁,共106頁。71應(yīng)用舉例(2)例
54、4 把查詢Student表和修改學(xué)生學(xué)號(hào)的權(quán)限授給用戶U4 GRANT UPDATE(Sno), SELECT ON Student TO U4;例5 把對(duì)表SC的INSERT權(quán)限授予U5用戶,并允許他再將此權(quán)限授予其他用戶 GRANT INSERT ON SC TO U5 WITH GRANT OPTION; 執(zhí)行例5后,U5不僅擁有了對(duì)表SC的INSERT權(quán)限,還可以傳播此權(quán)限:例6 GRANT INSERT ON SC TO U6 WITH GRANT OPTION; 同樣,U6還可以將此權(quán)限授予U7:例7 GRANT INSERT ON SC TO U7; 但U7不能再傳播此權(quán)限。 U
55、5- U6- U7第71頁,共106頁。72應(yīng)用舉例(3)例8 DBA把在數(shù)據(jù)庫S_C中建立表的權(quán)限授予用戶U8GRANT CREATE TABLE TO U8;例9 把用戶U4修改學(xué)生學(xué)號(hào)的權(quán)限收回REVOKE UPDATE(Sno)ON Student FROM U4;例10 收回所有用戶對(duì)表SC的查詢權(quán)限 REVOKE SELECT ON SC FROM PUBLIC;例11 把用戶U5對(duì)SC表的INSERT權(quán)限收回REVOKE INSERT ON SC FROM U5;第72頁,共106頁。73小結(jié):SQL靈活的授權(quán)機(jī)制DBA擁有對(duì)數(shù)據(jù)庫中所有對(duì)象的所有權(quán)限,并可以根據(jù)應(yīng)用的需要將不同
56、的權(quán)限授予不同的用戶。用戶對(duì)自己建立的基本表和視圖擁有全部的操作權(quán)限,并且可以用GRANT語句把其中某些權(quán)限授予其他用戶。被授權(quán)的用戶如果有“繼續(xù)授權(quán)”的許可,還可以把獲得的權(quán)限再授予其他用戶。所有授予出去的權(quán)力在必要時(shí)又都可以用REVOKE語句收回。返回第73頁,共106頁。744.2.5角色角色概述固定服務(wù)器角色固定數(shù)據(jù)庫角色第74頁,共106頁。75角色概述角色是一個(gè)強(qiáng)大的工具,使您得以將用戶集中到一個(gè)單元中,然后對(duì)該單元應(yīng)用權(quán)限。對(duì)一個(gè)角色授予、拒絕或廢除的權(quán)限也適用于該角色的任何成員。可以建立一個(gè)角色來代表單位中一類工作人員所執(zhí)行的工作,然后給這個(gè)角色授予適當(dāng)?shù)臋?quán)限。當(dāng)工作人員開始工
57、作時(shí),只須將他們添加為該角色成員,當(dāng)他們離開工作時(shí),將他們從該角色中刪除。而不必在每個(gè)人接受或離開工作時(shí),反復(fù)授予、拒絕和廢除其權(quán)限。權(quán)限在用戶成為角色成員時(shí)自動(dòng)生效。如果根據(jù)工作職能定義了一系列角色,并給每個(gè)角色指派了適合這項(xiàng)工作的權(quán)限,則很容易在數(shù)據(jù)庫中管理這些權(quán)限。之后,不用管理各個(gè)用戶的權(quán)限,而只須在角色之間移動(dòng)用戶即可。如果工作職能發(fā)生改變,則只須更改一次角色的權(quán)限,并使更改自動(dòng)應(yīng)用于角色的所有成員,操作比較容易。在SQL Server中有兩種角色:固定服務(wù)器角色和數(shù)據(jù)庫角色。第75頁,共106頁。76固定服務(wù)器角色第76頁,共106頁。77固定服務(wù)器角色描述固定服務(wù)器角色描述sys
58、admin可以在 SQL Server 中執(zhí)行任何活動(dòng)。serveradmin可以設(shè)置服務(wù)器范圍的配置選項(xiàng),關(guān)閉服務(wù)器。setupadmin可以管理鏈接服務(wù)器和啟動(dòng)過程。securityadmin可以管理登錄和 CREATE DATABASE 權(quán)限,還可以讀取錯(cuò)誤日志和更改密碼。processadmin可以管理在 SQL Server 中運(yùn)行的進(jìn)程。dbcreator可以創(chuàng)建、更改和除去數(shù)據(jù)庫。diskadmin可以管理磁盤文件。bulkadmin可以執(zhí)行 BULK INSERT 語句。第77頁,共106頁。78固定服務(wù)器角色說明無法創(chuàng)建的固定服務(wù)器角色在服務(wù)器級(jí)別上定義,并存在于各數(shù)據(jù)庫的外
59、部。若要將用戶添加到固定服務(wù)器角色,用戶必須具有 SQL Server 或 Windows NT 4.0 或 Windows 2000 登錄帳戶。固定服務(wù)器角色的任何成員都可以添加其它登錄。身為 BUILTINAdministrators 組成員的 Windows NT 4.0 或 Windows 2000 用戶自動(dòng)成為 sysadmin 固定服務(wù)器角色成員。 可以從 sp_helpsrvrole 獲得固定服務(wù)器角色的列表,可以從 sp_srvrolepermission 獲得每個(gè)角色的特定權(quán)限。每個(gè)數(shù)據(jù)庫都有一系列固定數(shù)據(jù)庫角色。雖然每個(gè)數(shù)據(jù)庫中都存在名稱相同的角色,但各個(gè)角色的作用域只是在
60、特定的數(shù)據(jù)庫內(nèi)。例如,如果 Database1 和 Database2 中都有叫 UserX 的用戶 ID,將 Database1 中的 UserX 添加到 Database1 的 db_owner 固定數(shù)據(jù)庫角色中,對(duì) Database2 中的 UserX 是否是 Database2 的 db_owner 角色成員沒有任何影響。 第78頁,共106頁。79固定數(shù)據(jù)庫角色第79頁,共106頁。80固定數(shù)據(jù)庫角色說明可以創(chuàng)建的固定數(shù)據(jù)庫角色在數(shù)據(jù)庫級(jí)別上定義,并存在于每個(gè)數(shù)據(jù)庫中??蓪⑷魏斡行У挠脩魩簦╓indows NT 4.0 或 Windows 2000 用戶或組,或 SQL Serve
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機(jī)跑馬燈課課程設(shè)計(jì)
- 體育專業(yè)課課程設(shè)計(jì)
- android驅(qū)動(dòng)課程設(shè)計(jì)
- 工作分析課程設(shè)計(jì)內(nèi)容
- 幼兒中醫(yī)課程設(shè)計(jì)
- 小學(xué)紀(jì)律意識(shí)課程設(shè)計(jì)
- 蜜雪冰城特許經(jīng)營(yíng)合同范本
- 軟件使用合同
- 政府部門公務(wù)用車維護(hù)合同
- 不同地區(qū)租房合同差異分析
- 國(guó)家開放大學(xué)《中文學(xué)科論文寫作》形考任務(wù)(1-4)試題及答案解析
- 外科洗手法-課件
- 人員定位系統(tǒng)管理制度管理辦法規(guī)定匯編(修訂完稿)
- 二年級(jí)上冊(cè)口算1000題(常用)
- 變更初物標(biāo)示卡
- 三角堰水頭高度與流量查算表
- Q∕SY 03026-2019 石腦油-行業(yè)標(biāo)準(zhǔn)
- 定向井及水平井基礎(chǔ)知識(shí)介紹
- 環(huán)保設(shè)備停運(yùn)報(bào)告單
- “補(bǔ)鏈強(qiáng)鏈”之國(guó)產(chǎn)新材料篇
- 2020 ACLS-PC-SA課前自我測(cè)試試題及答案
評(píng)論
0/150
提交評(píng)論