




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
9.1數(shù)據(jù)庫平安性控制的一般方法9.2SQLServer的平安體系結(jié)構(gòu)9.3SQLServer數(shù)據(jù)庫平安性管理2/6/2025數(shù)據(jù)庫的平安性是指保護(hù)數(shù)據(jù)庫,以防止不合法的使用造成的數(shù)據(jù)泄密、更改或破壞。數(shù)據(jù)庫管理系統(tǒng)平安性保護(hù),就是通過種種防范措施以防止用戶越權(quán)使用數(shù)據(jù)庫。平安保護(hù)措施是否有效是衡量數(shù)據(jù)庫系統(tǒng)的主要性能指標(biāo)之一。2/6/20259.1數(shù)據(jù)庫平安性控制的一般方法9.1.1平安性級(jí)別數(shù)據(jù)庫的完整性盡可能的防止對(duì)數(shù)據(jù)庫的無意濫用。數(shù)據(jù)庫的平安性盡可能防止對(duì)數(shù)據(jù)庫的惡意濫用。為了防止數(shù)據(jù)庫的惡意濫用,可以在下述不同的平安級(jí)別上設(shè)置各種平安措施。(1)環(huán)境級(jí):對(duì)計(jì)算機(jī)系統(tǒng)的機(jī)房和設(shè)備加以保護(hù),防止物理破壞。(2)職員級(jí):對(duì)數(shù)據(jù)庫系統(tǒng)工作人員,加強(qiáng)勞動(dòng)紀(jì)律和職業(yè)道德教育,并正確的授予其訪問數(shù)據(jù)庫的權(quán)限。(3)操作系統(tǒng)級(jí):防止未經(jīng)授權(quán)用戶從操作系統(tǒng)層著手訪問數(shù)據(jù)庫。(4)網(wǎng)絡(luò)級(jí):由于數(shù)據(jù)庫系統(tǒng)允許用戶通過網(wǎng)絡(luò)訪問,因此,網(wǎng)絡(luò)軟件內(nèi)部的平安性對(duì)數(shù)據(jù)庫的平安是很重要的。(5)數(shù)據(jù)庫系統(tǒng)級(jí):檢驗(yàn)用戶的身份是否合法,檢驗(yàn)用戶數(shù)據(jù)庫操作權(quán)限是否正確。本節(jié)主要討論數(shù)據(jù)庫系統(tǒng)級(jí)的平安性問題。2/6/20252/6/2025口令(Password)認(rèn)證用戶的口令,是合法用戶自己定義的密碼。為保密起見,口令由合法用戶自己定義并可以隨時(shí)變更??诹钫J(rèn)證是為了進(jìn)一步對(duì)用戶核實(shí)。通常系統(tǒng)要求用戶輸入口令,只有口令正確才能進(jìn)入系統(tǒng)。隨機(jī)數(shù)運(yùn)算認(rèn)證隨機(jī)數(shù)認(rèn)證實(shí)際上是非固定口令的認(rèn)證,即用戶的口令每次都是不同的。鑒別時(shí)系統(tǒng)提供一個(gè)隨機(jī)數(shù),用戶根據(jù)預(yù)先約定的計(jì)算過程或計(jì)算函數(shù)進(jìn)行計(jì)算,并將計(jì)算結(jié)果輸送到計(jì)算機(jī),系統(tǒng)根據(jù)用戶計(jì)算結(jié)果判定用戶是否合法。例如算法為:“口令=隨機(jī)數(shù)平方的后三位〞,出現(xiàn)的隨機(jī)數(shù)是36,那么口令是296。2/6/2025存取控制(授權(quán)機(jī)制)DBMS的存取控制機(jī)制是數(shù)據(jù)庫平安的一個(gè)重要保證,它確保具有數(shù)據(jù)庫使用權(quán)限的用戶訪問數(shù)據(jù)庫并進(jìn)行權(quán)限范圍內(nèi)的操作,同時(shí)令未被授權(quán)的用戶無法接近數(shù)據(jù)。存取機(jī)制的構(gòu)成存取控制機(jī)制主要包括兩局部:定義用戶權(quán)限用戶權(quán)限是指用戶對(duì)于數(shù)據(jù)對(duì)象能夠進(jìn)行的操作種類。要進(jìn)行用戶權(quán)限定義,DBMS必須提供有關(guān)定義用戶權(quán)限的語言,該語言稱為數(shù)據(jù)控制語言DCL。進(jìn)行權(quán)限檢查每當(dāng)用戶發(fā)出存取數(shù)據(jù)庫的操作請(qǐng)求后,DBMS首先查找數(shù)據(jù)字典,進(jìn)行合法權(quán)限檢查。如果用戶的操作請(qǐng)求沒有超出其數(shù)據(jù)操作權(quán)限,那么準(zhǔn)予執(zhí)行其數(shù)據(jù)操作;否那么,DBMS將拒絕執(zhí)行此操作。2/6/2025存取機(jī)制的類別在自主存取控制方法中,用戶對(duì)于不同的數(shù)據(jù)對(duì)象可以有不同的存取權(quán)限,不同的用戶對(duì)同一數(shù)據(jù)對(duì)象的存取權(quán)限也可以各不相同,用戶還可以將自己擁有的存取權(quán)限轉(zhuǎn)授給其他用戶。在強(qiáng)制存取控制方法中,每一個(gè)數(shù)據(jù)對(duì)象被標(biāo)以一定的密級(jí);每一個(gè)用戶也被授予某一個(gè)級(jí)別的許可證。對(duì)于任意一個(gè)對(duì)象,只有具有合法許可證的用戶才可以存取。顯然,自主存取控制比較靈活,強(qiáng)制存取控制比較嚴(yán)格。2/6/2025視圖機(jī)制進(jìn)行存取權(quán)限的控制,不僅可以通過授權(quán)來實(shí)現(xiàn),而且還可以通過定義用戶的外模式來提供一定的平安保護(hù)功能。在關(guān)系數(shù)據(jù)庫中,可以為不同的用戶定義不同的視圖,通過視圖機(jī)制把要保密的數(shù)據(jù)對(duì)無權(quán)操作的用戶隱藏起來,從而自動(dòng)地對(duì)數(shù)據(jù)提供一定程度的平安保護(hù)。對(duì)視圖也可以進(jìn)行授權(quán)。視圖機(jī)制使系統(tǒng)具有數(shù)據(jù)平安性、數(shù)據(jù)邏輯獨(dú)立性和操作簡便等優(yōu)點(diǎn)。2/6/20252/6/20252/6/20259.1.3關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL的自主存取控制方法SQL標(biāo)準(zhǔn)對(duì)自主存取控制提供了支持,其DCL主要是GRANT(授權(quán))語句和REVOKE(收權(quán))語句。關(guān)系中的用戶權(quán)限用戶權(quán)限主要包括數(shù)據(jù)對(duì)象和操作類型兩個(gè)要素。定義用戶的存取權(quán)限稱為授權(quán)。
表9-1不同類型數(shù)據(jù)對(duì)象的操作權(quán)限數(shù)據(jù)對(duì)象操作權(quán)限表、視圖、列(TABLE)SELECT,INSERT,UPDATE,DELETE,ALLPRIVILEGE基本表(TABLE)ALTER,INDEX數(shù)據(jù)庫(DATABASE)CREATETAB表空間(TABLESPACE)USE系統(tǒng)CREATEDBC2/6/2025SQL的存取控制功能--授權(quán)和收權(quán)語句授權(quán)〔GRANT〕語句格式:GRANT權(quán)限[ON對(duì)象]TO用戶[WITHGRANTOPTION]功能:將指定數(shù)據(jù)對(duì)象的指定權(quán)限授予指定的用戶。說明:其中,WITHGRANTOPTION選項(xiàng)的作用是允許獲得指定權(quán)限的用戶把權(quán)限再授予其他用戶?!纠?.1】把對(duì)讀者信息表(readers)中的列“姓名〞修改、查詢表的權(quán)限授予用戶user1的語句可以寫為:GRANTUPDATE(姓名),SELECTONTABLEreadersTOuser1;【例9.2】把對(duì)表readers,books,borrowinf的查詢、修改、插入和刪除等全部權(quán)限授予用戶user1和用戶user2的語句可以寫為:GRANTALLPRIVILIGESONTABLEreaders,books,borrowinfTOuserl,user2;2/6/2025
【例9.3】把對(duì)表books的查詢權(quán)限授予所有用戶。
GRANTSELECTONTABLEbooksTOPUBLIC;
【例9.4】把在數(shù)據(jù)庫MyDB中建立表的權(quán)限授予用戶user2。
GRANTCREATETABONDATABASEMyDBTOuser2;
【例9.5】把對(duì)表readers的查詢權(quán)限授予用戶user3,并給用戶user3有再授予的權(quán)限。
GRANTSELECTONTABLEreadersTOuser3WITHGRANTOPTION;
【例9.6】用戶user3把查詢r(jià)eaders表的權(quán)限授予用戶user4。
GRANTSELECTONTABLEreadersTOuser4;2/6/2025回收(REVOKE)語句
格式:REVOKE權(quán)限[ON對(duì)象]FROM用戶;
功能:把已經(jīng)授予指定用戶的指定權(quán)限收回。
【例9.7】把用戶user1修改讀者姓名的權(quán)限收回。
REVOKEUPDATE(姓名)ONTABLEreadersFROMuserl;
【例9.8】把用戶user3查詢r(jià)eaders表的權(quán)限收回。
REVOKESELECTONTABLEreadersFROMuser3;2/6/20259.2SQLServer的平安體系結(jié)構(gòu)9.2.1SQLServer2000的平安體系結(jié)構(gòu)SQLServer2000提供以下4層平安防線:操作系統(tǒng)的平安防線Windows(WindiwsNT或Windows2000Server等)網(wǎng)絡(luò)管理員負(fù)責(zé)建立用戶組,設(shè)置賬號(hào)并注冊(cè),同時(shí)決定不同用戶對(duì)不同系統(tǒng)資源的訪問級(jí)別。SQLServer的運(yùn)行平安防線SQLServer通過登錄賬號(hào)設(shè)置來創(chuàng)立附加平安層。用戶只有登錄成功,才能與SQLServer建立一次連接。SQLServer數(shù)據(jù)庫的平安防線SQLServer的特定數(shù)據(jù)庫都有自己的用戶和角色,該數(shù)據(jù)庫只能由它的用戶或角色訪問,其他用戶無權(quán)訪問其數(shù)據(jù)。SQLServer數(shù)據(jù)庫對(duì)象的平安防線SQLServer可以對(duì)權(quán)限進(jìn)行管理。保證合法用戶即使進(jìn)入了數(shù)據(jù)庫也不能有超越權(quán)限的數(shù)據(jù)存取操作,即合法用戶必須在自己的權(quán)限范圍內(nèi)進(jìn)行數(shù)據(jù)操作。2/6/20259.2.2SQLServer2000的平安認(rèn)證模式SQLServer2000的平安認(rèn)證模式平安認(rèn)證是指數(shù)據(jù)庫系統(tǒng)對(duì)用戶訪問數(shù)據(jù)庫系統(tǒng)時(shí)所輸入的賬號(hào)和口令進(jìn)行確認(rèn)的過程。平安性認(rèn)證模式是指系統(tǒng)確認(rèn)用戶身份的方式。SQLServer2000有兩種平安認(rèn)證模式,即Windows平安認(rèn)證模式和SQLServer平安認(rèn)證模式。Windows平安認(rèn)證模式Windows平安認(rèn)證模式是指SQLServer效勞器通過使用Windows網(wǎng)絡(luò)用戶的平安性來控制用戶對(duì)SQLServer效勞器的登錄訪問。SQLServer的平安認(rèn)證模式SQLServer平安認(rèn)證模式要求用戶必須輸入有效的SQLServer登錄賬號(hào)及口令。這個(gè)登錄賬號(hào)是獨(dú)立于操作系統(tǒng)的登錄賬號(hào)的,從而可以在一定程度上防止操作系統(tǒng)層上對(duì)數(shù)據(jù)庫的非法訪問。2/6/2025設(shè)置SQLServer2000的平安認(rèn)證模式使用SQLServer2000企業(yè)管理器功能選擇需要的平安認(rèn)證模式,其步驟如下:1)在企業(yè)管理器中擴(kuò)展開SQL效勞器組,右擊需要設(shè)置的SQL效勞器,在彈出的菜單中選擇【編輯SQLServer注冊(cè)屬性】命令。2)在彈出的“已注冊(cè)的SQLServer屬性〞對(duì)話框〔見圖9-1〕的【連接】區(qū)域有身份驗(yàn)證的兩個(gè)單項(xiàng)選擇框。單擊【使用Windows身份驗(yàn)證[W]】為選擇集成平安認(rèn)證模式;單擊【使用SQLServer身份驗(yàn)證[Q]】那么為選擇SQLServer2000平安認(rèn)證模式。2/6/2025圖9-1編輯已注冊(cè)的SQLServer屬性對(duì)話框2/6/20259.3SQLServer數(shù)據(jù)庫平安性管理SQLServer的平安性管理包括以下幾個(gè)方面:數(shù)據(jù)庫系統(tǒng)登錄管理、數(shù)據(jù)庫用戶管理、數(shù)據(jù)庫系統(tǒng)角色管理以及數(shù)據(jù)庫訪問權(quán)限的管理。9.3.1數(shù)據(jù)庫系統(tǒng)登錄管理登錄賬號(hào)登錄賬號(hào)也稱為登錄用戶或登錄名,是效勞器級(jí)用戶訪問數(shù)據(jù)庫系統(tǒng)的標(biāo)識(shí)。為了訪問SQLServer系統(tǒng),用戶必須提供正確的登錄賬號(hào),這些登錄賬號(hào)既可以是Windows登錄賬號(hào),也可以是SQLServer登錄賬號(hào)。2/6/2025查看登錄賬號(hào)使用企業(yè)管理器可以創(chuàng)立、查看和管理登錄賬號(hào)?!暗卿涃~號(hào)〞存放在SQL效勞器的平安性文件夾中。當(dāng)進(jìn)入企業(yè)管理器,翻開指定的SQL效勞器組和SQL效勞器,并選擇【平安性】文件夾的系列操作后,就會(huì)出現(xiàn)如圖9-2所示的屏幕窗口。通過該窗口可以看出平安性文件夾包括4個(gè)文件夾:登錄、效勞器角色、連接效勞器和遠(yuǎn)程效勞器。單擊【登錄】可以看到當(dāng)前數(shù)據(jù)庫效勞器的合法登錄用戶的一些信息。編輯或刪除登錄賬號(hào)單擊【登錄】文件夾,在出現(xiàn)的顯示登錄賬號(hào)的窗口中,用鼠標(biāo)右擊需要操作的登錄號(hào):選擇【屬性】便可對(duì)該用戶已設(shè)定內(nèi)容進(jìn)行重新編輯;選擇【刪除】便可刪除該登錄用戶。進(jìn)行上述操作需要對(duì)當(dāng)前效勞器擁有管理登錄〔SecurityAdministrators〕及其以上的權(quán)限。2/6/2025圖9-2平安性文件夾的屏幕界面2/6/2025圖9-3新建登錄對(duì)話框
2/6/20259.3.2數(shù)據(jù)庫用戶管理用戶賬號(hào)用戶賬號(hào)是某個(gè)數(shù)據(jù)庫的訪問標(biāo)識(shí)。在SQLServer的數(shù)據(jù)庫中,對(duì)象的全部權(quán)限均由用戶賬號(hào)控制。用戶賬號(hào)可以與登錄賬號(hào)相同也可以不想同。數(shù)據(jù)庫用戶必須是登錄用戶。登錄用戶只有成為數(shù)據(jù)庫用戶(或數(shù)據(jù)庫角色)后才能訪問數(shù)據(jù)庫。用戶賬號(hào)與具體的數(shù)據(jù)庫有關(guān)。在該表中每一行數(shù)據(jù)表示一個(gè)SQLServer用戶或SQLServer角色信息。創(chuàng)立數(shù)據(jù)庫的用戶稱為數(shù)據(jù)庫所有者(dbo),他具有這個(gè)數(shù)據(jù)庫的所有權(quán)限。創(chuàng)立數(shù)據(jù)庫對(duì)象的用戶稱為數(shù)據(jù)庫對(duì)象的所有者(dbo),他具有該對(duì)象的所有權(quán)限。系統(tǒng)管理員sa是他所管理系統(tǒng)的任何數(shù)據(jù)庫的dbo用戶。2/6/2025查看用戶賬號(hào)使用企業(yè)管理器可以創(chuàng)立、查看和管理數(shù)據(jù)庫用戶。每個(gè)數(shù)據(jù)庫中都有“用戶〞文件夾。當(dāng)進(jìn)入企業(yè)管理器,翻開指定的SQL效勞器組和SQL效勞器,并翻開【數(shù)據(jù)庫】文件夾,選定并翻開要操作的數(shù)據(jù)庫后,單擊【用戶】文件夾就會(huì)出現(xiàn)如圖9-4所示的用戶信息窗口。通過該窗口可以看到當(dāng)前數(shù)據(jù)庫合法用戶的一些信息。圖9-4查看用戶信息窗口2/6/2025創(chuàng)立新的數(shù)據(jù)庫用戶創(chuàng)立新的數(shù)據(jù)庫用戶有兩種方法。在創(chuàng)立登錄用戶時(shí),指定他作為數(shù)據(jù)庫用戶的身份例如,在圖9-3新建登錄對(duì)話框中,輸入登錄名稱(如user1),單擊【數(shù)據(jù)庫訪問】選項(xiàng)卡,在【指定此登錄可以訪問的數(shù)據(jù)庫[S]】區(qū)域的【許可】欄目下指定訪問數(shù)據(jù)庫〔如MyDb〕,如圖9-5所示,登錄用戶user1同時(shí)也成為數(shù)據(jù)庫MyDb的用戶。單獨(dú)創(chuàng)立數(shù)據(jù)庫用戶這種方法適于在創(chuàng)立登錄賬號(hào)時(shí)沒有創(chuàng)立數(shù)據(jù)庫用戶的情況,操作步驟如下:右擊【用戶】文件夾,在彈出的菜單中選擇【新建數(shù)據(jù)庫用戶】命令后,會(huì)出現(xiàn)圖9-6所示新建用戶對(duì)話框界面,在【登錄名】下拉框中選擇預(yù)創(chuàng)立用戶對(duì)應(yīng)的登錄名,然后在【用戶名】的文本框中鍵入用戶名即可。如圖9-6所示。通過此界面也可以設(shè)定該數(shù)據(jù)庫用戶的權(quán)限和角色的成員。2/6/2025圖9-5創(chuàng)立登錄時(shí)指定登錄用戶同時(shí)作為數(shù)據(jù)庫用戶界面2/6/2025圖9-6單獨(dú)創(chuàng)立數(shù)據(jù)庫用戶對(duì)話框2/6/2025編輯或刪除數(shù)據(jù)庫用戶賬號(hào)單擊【用戶】文件夾,在出現(xiàn)的顯示用戶賬號(hào)的窗口中,右擊需要操作的用戶賬號(hào),選擇【屬性】命令,出現(xiàn)該用戶的角色和權(quán)限窗口,可對(duì)該用戶已設(shè)定內(nèi)容進(jìn)行重新編輯;選擇【刪除】便可刪除該數(shù)據(jù)庫用戶。進(jìn)行上述操作需要對(duì)當(dāng)前數(shù)據(jù)庫擁有用戶管理及其以上的權(quán)限。2/6/20259.3.3數(shù)據(jù)庫系統(tǒng)角色管理在SQLServer2000中可以把某些用戶設(shè)置成某一角色,這些用戶稱為該角色的成員。當(dāng)對(duì)該角色進(jìn)行權(quán)限設(shè)置時(shí),其成員自動(dòng)繼承該角色的權(quán)限。SQLServer中有兩種角色,即效勞器角色和數(shù)據(jù)庫角色。效勞器角色一臺(tái)計(jì)算機(jī)可以承擔(dān)多個(gè)SQLServer效勞器的管理任務(wù)。固定效勞器角色是對(duì)效勞器級(jí)用戶即登錄賬號(hào)而言的。它是指在登錄時(shí)授予該登錄賬號(hào)對(duì)當(dāng)前效勞器范圍內(nèi)的權(quán)限。這類角色可以在效勞器上進(jìn)行相應(yīng)的管理操作,完全獨(dú)立于某個(gè)具體的數(shù)據(jù)庫。固定效勞器角色的信息存儲(chǔ)在master數(shù)據(jù)庫的sysxlogins系統(tǒng)表中。SQLServer2000提供了8種固定效勞器角色,如圖9-7所示。2/6/2025圖9-7固定效勞器角色2/6/2025可以使用企業(yè)管理器將登錄賬號(hào)添加到某一指定的固定效勞器角色作為其成員。步驟如下:登錄效勞器后,展開【平安性】文件夾,單擊【效勞器角色】文件夾,那么會(huì)出現(xiàn)圖9-7所示的固定效勞器角色窗口,右擊某一角色,在彈出的菜單中選擇【屬性】命令,可以查看該角色的權(quán)限,并可以添加某些登錄賬號(hào)作為該角色的成員,也可以將某一登錄賬號(hào)從該角色的成員中刪除。注意:(1)固定效勞器角色不能被刪除、修改和增加;(2)固定效勞器角色的任何成員都可以將其他的登錄賬號(hào)增加到該效勞器角色中。2/6/2025數(shù)據(jù)庫角色在一個(gè)效勞器上可以創(chuàng)立多個(gè)數(shù)據(jù)庫。數(shù)據(jù)庫角色對(duì)應(yīng)于單個(gè)數(shù)據(jù)庫。數(shù)據(jù)庫的角色分為固定數(shù)據(jù)庫角色和用戶定義的數(shù)據(jù)庫角色。固定數(shù)據(jù)庫角色是指SQLServer2000為每個(gè)數(shù)據(jù)庫提供的固定角色。SQLServer2000允許用戶自己定義數(shù)據(jù)庫角色,稱為用戶定義的數(shù)據(jù)庫角色。固定數(shù)據(jù)庫角色固定數(shù)據(jù)庫角色的信息存儲(chǔ)在sysuers系統(tǒng)表中。SQLServer2000提供了10種固定數(shù)據(jù)庫角色,如表9-3所示。2/6/2025角色描述public維護(hù)默認(rèn)的許可db_owner執(zhí)行數(shù)據(jù)庫中的任何操作db_accessadmin可以增加或刪除數(shù)據(jù)庫用戶、組和角色db_addladmin增加、修改或刪除數(shù)據(jù)庫對(duì)象db_securityadmin執(zhí)行語句和對(duì)象權(quán)限管理db_backupoperator備份和恢復(fù)數(shù)據(jù)庫db_datareader檢索任意表中的數(shù)據(jù)db_datawriter增加、修改和刪除所有表中的數(shù)據(jù)db_denydatareader不能檢索任意一個(gè)表中數(shù)據(jù)db_denydatawriter不能修改任意一個(gè)表中的數(shù)據(jù)表9-3固定數(shù)據(jù)庫角色
2/6/2025可以使用企業(yè)管理器查看固定數(shù)據(jù)庫角色,還可以將某些數(shù)據(jù)庫用戶添加到固定數(shù)據(jù)庫角色中,使數(shù)據(jù)庫用戶成為該角色的成員。也可以將固定數(shù)據(jù)庫角色的成員刪除。將用戶添加到某一數(shù)據(jù)庫角色的步驟為:翻開指定的數(shù)據(jù)庫,單擊【角色】文件夾,右擊某個(gè)固定數(shù)據(jù)庫角色,在出現(xiàn)的菜單中選擇【屬性】命令,就會(huì)出現(xiàn)圖9-8所示的數(shù)據(jù)庫角色屬性對(duì)話框,單擊【添加】按鈕,那么會(huì)出現(xiàn)該角色的非成員用戶,按提示信息操作可以將他們添加到該角色中;選中某一用戶后,單擊【刪除】按鈕可以將此用戶從該角色中刪除。注意:(1)SQLServer2000提供的10種固定數(shù)據(jù)庫角色不能被刪除和修改。(2)固定數(shù)據(jù)庫角色的成員可以增加其他用戶到該角色中。2/6/2025圖9-8數(shù)據(jù)庫角色屬性對(duì)話框
2/6/2025用戶定義的數(shù)據(jù)庫角色在許多情況下,固定數(shù)據(jù)庫角色不能滿足要求,需要用戶自定義數(shù)據(jù)庫新角色。使用企業(yè)管理器創(chuàng)立數(shù)據(jù)庫角色的步驟為:在企業(yè)管理器中翻開要操作的數(shù)據(jù)庫文件夾,右擊【角色】文件夾,并在彈出的菜單中選擇【新建數(shù)據(jù)庫角色】命令,那么出現(xiàn)新建數(shù)據(jù)庫角色對(duì)話框如圖9-9所示,按提示答復(fù)角色名稱等相應(yīng)信息后,單擊【確定】按鈕即可。在新建數(shù)據(jù)庫角色對(duì)話框中可完成3種操作:在名稱欄中輸入新角色名;在用戶欄中添加或刪除角色中的用戶;確定數(shù)據(jù)庫角色的類型。用戶定義的數(shù)據(jù)庫角色類型有兩種:標(biāo)準(zhǔn)角色(StandardRole)和應(yīng)用程序角色(ApplicationRole)。標(biāo)準(zhǔn)角色用于正常的用戶管理,它可以包括成員。而應(yīng)用程序角色是一種特殊角色,需要指定口令,是一種平安機(jī)制。2/6/2025圖9-9新增數(shù)據(jù)庫角色對(duì)話框圖9-10數(shù)據(jù)庫角色權(quán)限設(shè)置對(duì)話框
2/6/2025對(duì)用戶定義的數(shù)據(jù)庫角色,可以設(shè)置或修改其權(quán)限。使用企業(yè)管理器進(jìn)行操作的步驟為:翻開操作數(shù)據(jù)庫,選中用戶定義的數(shù)據(jù)庫角色,右擊此角色在彈出的菜單中選擇【屬性】命令,然后單擊【權(quán)限】按鈕,那么會(huì)出現(xiàn)當(dāng)前數(shù)據(jù)庫的全部數(shù)據(jù)對(duì)象以及該角色的權(quán)限標(biāo)記〔假設(shè)對(duì)角色設(shè)置過權(quán)限,也可以僅列出該角色具有權(quán)限的數(shù)據(jù)對(duì)象〕。如圖9-10所示。單擊數(shù)據(jù)庫角色權(quán)限設(shè)置對(duì)話框中數(shù)據(jù)對(duì)象訪問權(quán)限的選擇方格有三種狀況:√:授予權(quán)限。表示授予當(dāng)前角色對(duì)指定的數(shù)據(jù)對(duì)象的該項(xiàng)操作權(quán)限?!粒航箼?quán)限。表示禁止當(dāng)前角色對(duì)指定的數(shù)據(jù)對(duì)象的該項(xiàng)操作權(quán)限??眨撼废麢?quán)限。表示撤銷當(dāng)前角色對(duì)指定的數(shù)據(jù)對(duì)象的該項(xiàng)操作權(quán)限。使用企業(yè)管理器也可以刪除用戶定義的數(shù)據(jù)庫角色。步驟為:翻開操作數(shù)據(jù)庫,選中用戶定義的數(shù)據(jù)庫角色,右擊此角色在彈出的菜單中選擇【刪除】命令即可。2/6/20259.3.4SQLServer權(quán)限管理權(quán)限的種類SQLServer2000使用權(quán)限來加強(qiáng)系統(tǒng)的平安性,通常權(quán)限可以分為三種類型:對(duì)象權(quán)限、語句權(quán)限和隱含權(quán)限。對(duì)象權(quán)限對(duì)象權(quán)限是用于控制用戶對(duì)數(shù)據(jù)庫對(duì)象執(zhí)行某些操作的權(quán)限。數(shù)據(jù)庫對(duì)象通常包括表、視圖、存儲(chǔ)過程。對(duì)象權(quán)限是針對(duì)數(shù)據(jù)庫對(duì)象設(shè)置的,它由數(shù)據(jù)庫對(duì)象所有者授予、禁止或撤消。語句權(quán)限語句權(quán)限是用于控制數(shù)據(jù)庫操作或創(chuàng)立數(shù)據(jù)庫中的對(duì)象操作的權(quán)限。語句權(quán)限用于語句本身,它只能由SA或dbo授予、禁止或撤消。語句權(quán)限的授予對(duì)象一般為數(shù)據(jù)庫角色或數(shù)據(jù)庫用戶。
2/6/2025Transact-SQL數(shù)據(jù)庫對(duì)象SELECT(查詢)表、視圖、表和視圖中的列UPDATE(修改)表、視圖、表的列INSERT(插入)表、視圖DELETE(刪除)表、視圖EXECUTE(調(diào)用過程)存儲(chǔ)過程DRI(聲明參照完整性)表、表中的列表9-4對(duì)象權(quán)限適用的對(duì)象和語句2/6/2025Transact-SQL語句權(quán)限說明CREATEDATABASE創(chuàng)建數(shù)據(jù)庫,只能由SA授予SQL服務(wù)器用戶或角色CREATEDEFAULT創(chuàng)建缺省CREATEPROCEDURE創(chuàng)建存儲(chǔ)過程CREATERULE創(chuàng)建規(guī)則CREATETABLE創(chuàng)建表CREATEVIEW創(chuàng)建視圖BACKUPDATABASE備份數(shù)據(jù)庫
表9-5語句權(quán)限適用的語句和權(quán)限說明
2/6/2025隱含權(quán)限隱含權(quán)限指系統(tǒng)預(yù)定義而不需要授權(quán)就有的權(quán)限,包括固定效勞器角色成員、固定數(shù)據(jù)庫角色成員、數(shù)據(jù)庫所有者(dbo)和數(shù)據(jù)庫對(duì)象所有者(dboo)所擁有的權(quán)限。例如,sysadmin固定效勞器角色成員可以在效勞器范圍內(nèi)做任何操作,dbo可以對(duì)數(shù)據(jù)庫做任何操作,dboo可以對(duì)其擁有的數(shù)據(jù)庫對(duì)象做任何操作,對(duì)他不需要明確的賦予權(quán)限。2/6/2025權(quán)限的管理對(duì)象權(quán)限的管理可以通過兩種方法實(shí)現(xiàn):一種是通過對(duì)象管理它的用戶及操作權(quán)限,另一種是通過用戶管理對(duì)應(yīng)的數(shù)據(jù)庫對(duì)象及操作權(quán)限。具體使用哪種方法要視管理的方便性來決定。通過對(duì)象授予、撒消或禁止對(duì)象權(quán)限如果一次要為多個(gè)用戶(角色)授予、撤消或禁止對(duì)某一個(gè)數(shù)據(jù)庫對(duì)象的權(quán)限時(shí),應(yīng)采用通過對(duì)象的方法實(shí)現(xiàn)。在SQLServer的企業(yè)管理器中,實(shí)現(xiàn)對(duì)象權(quán)限管理的操作步驟如下:1)展開企業(yè)管理器窗口,翻開【數(shù)據(jù)庫】文件夾,展開要操作的數(shù)據(jù)庫〔如MyDb〕,右擊指定的對(duì)象(如readers表)。2)在彈出的菜單中,選擇【所有任務(wù)】,在彈出的子菜單中選擇【管理權(quán)限】命令,此時(shí)會(huì)出現(xiàn)一個(gè)對(duì)象權(quán)限對(duì)話框,如圖9-11所示。2/6/2025
圖9-11數(shù)據(jù)庫對(duì)象權(quán)限對(duì)話框
2/6/20253)對(duì)話框的上部,有兩個(gè)單項(xiàng)選擇框如圖9-11所示,可以根據(jù)需要選擇一個(gè)。一般選擇【列出全部用戶】→【用戶定義的數(shù)據(jù)庫角色/public】。4)對(duì)話框的下面是有關(guān)數(shù)據(jù)庫用戶和角色所對(duì)應(yīng)的權(quán)限表。這些權(quán)限均以復(fù)選框的形式表示。復(fù)選框有三種狀態(tài):“√〞〔授予權(quán)限〕、“×〞〔禁止權(quán)限〕、空〔撤消權(quán)限〕。在表中可以對(duì)各用戶或角色的各種對(duì)象操作權(quán)限(SELECT、INSERT、UPDATE、DELETE、EXEC和DRI)進(jìn)行授予、禁止或撤消,單擊復(fù)選框可改變其狀態(tài)。5)完成后單擊【確定】按鈕。2/6/2025圖9-12數(shù)據(jù)庫角色權(quán)限屬性對(duì)話框2/6/2025通過用戶或角色授予、撤消或禁止對(duì)象權(quán)限如果要為一個(gè)用戶或角色同時(shí)授予、撤消或者禁止多個(gè)數(shù)據(jù)庫對(duì)象的使用權(quán)限,那么可以通過用戶或角色的方法進(jìn)行。例如要對(duì)“MyDb〞數(shù)據(jù)庫中的“數(shù)據(jù)輸入〞角色進(jìn)行授權(quán)操作,在企業(yè)管理器中,通過用戶或角色授權(quán)(或收權(quán))的操作步驟如下:1)擴(kuò)展開SQL效勞器和【數(shù)據(jù)庫】文件夾,單擊數(shù)據(jù)庫【MyDb】,單擊【用戶】或【角色】。本例單擊【角色】。在窗口中找到要選擇的用戶或角色,本例為【數(shù)據(jù)輸入】角色,右擊該角色,在彈出菜單中選擇【屬性】命令后,出現(xiàn)如圖9-12所示數(shù)據(jù)庫角色屬性對(duì)話框。2)在數(shù)據(jù)庫角色屬性對(duì)話框中,單擊【權(quán)限】按鈕,會(huì)出現(xiàn)如圖9-13所示的數(shù)據(jù)庫角色權(quán)限屬性對(duì)話框。2/6/2025
圖9-13數(shù)據(jù)庫角色權(quán)限屬性對(duì)話框2/6/20254)在對(duì)話框的權(quán)限列表中,對(duì)每個(gè)對(duì)象進(jìn)行授予、撤消或禁止權(quán)限操作。在權(quán)限表中,權(quán)限SELECT、INSERT、UPDATE等安排在列中,每個(gè)對(duì)象的操作權(quán)用一行表示。在相應(yīng)的復(fù)選框上,如果為“√〞那么為授權(quán),為“×〞那么為禁止權(quán)限,如果為空白那么為撤消權(quán)限。單擊復(fù)選框可改變其狀態(tài)。5)完成后,單擊【確定】按鈕。返回?cái)?shù)據(jù)庫角色屬性對(duì)話框后,再單擊【確定】按鈕。2/6/2025語句權(quán)限的管理SQLServer的企業(yè)管理器中還提供了管理語句權(quán)限的方法,其操作的具體步驟如下:1)展開SQL效勞器和【數(shù)據(jù)庫】文件夾,右擊要操作的數(shù)據(jù)庫文件夾,如【MyDb】數(shù)據(jù)庫,并在彈出菜單中選擇【屬性】命令,會(huì)出現(xiàn)數(shù)據(jù)庫屬性對(duì)話框。2)在數(shù)據(jù)庫屬性對(duì)話框中,選擇【權(quán)限】選項(xiàng)卡,出現(xiàn)數(shù)據(jù)庫用戶及角色的語句權(quán)限對(duì)話框,如圖9-14所示。在對(duì)話框的列表欄中,單擊表中的各復(fù)選框可分別對(duì)各用戶或角色授予、撤消或禁止數(shù)據(jù)庫的語句操作權(quán)限。復(fù)選框內(nèi)的“√〞表示授予權(quán)限,“×〞表示禁止權(quán)限,空白表示撤消權(quán)限。3)完成后單擊【確定】按鈕。
2/6/2025圖9-14數(shù)據(jù)庫用戶和角色的語句權(quán)限對(duì)話框2/6/2025使用Transact-SQL語句管理權(quán)限SQLServer2000的平安性管理,不僅可以通過SQLServer的企業(yè)管理器的相應(yīng)操作實(shí)現(xiàn),還可以在查詢分析器中通過Transact-SQL語句實(shí)現(xiàn)。這里只介紹用Transact-SQL語句實(shí)現(xiàn)權(quán)限管理,其語句格式與本章9.1.3小節(jié)中介紹的標(biāo)準(zhǔn)SQL的類似。授予權(quán)限語句-GRANT語句授權(quán)【例9.9】將創(chuàng)立數(shù)據(jù)庫、創(chuàng)立表的權(quán)限授予用戶user1和user2。USEMyDbGRANTCREATETABLETOuser2通過查看數(shù)據(jù)庫MyDb【屬性】的【權(quán)限】項(xiàng),可以看到用戶user2擁有創(chuàng)立表的語句權(quán)限。2/6/2025對(duì)象授權(quán)注意:SQLServer與標(biāo)準(zhǔn)SQL的不同是省去了對(duì)象類型,直接寫對(duì)象名稱即可?!纠?.10】授予角色public對(duì)表
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Module7 Unit1 He spent about twenty-one hours in space(教學(xué)設(shè)計(jì))-2023-2024學(xué)年外研版(三起)英語六年級(jí)下冊(cè)
- 華北理工大學(xué)冀唐學(xué)院《研究型建筑設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西國際商務(wù)職業(yè)學(xué)院《計(jì)算機(jī)組成原理理論》2023-2024學(xué)年第二學(xué)期期末試卷
- 哈爾濱鐵道職業(yè)技術(shù)學(xué)院《班級(jí)活動(dòng)的組織》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧民族師范高等專科學(xué)?!稒C(jī)電系統(tǒng)設(shè)計(jì)與控制》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州東華職業(yè)學(xué)院《海洋生物技術(shù)綜合實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 南昌大學(xué)科學(xué)技術(shù)學(xué)院《新編大學(xué)生安全教育》2023-2024學(xué)年第二學(xué)期期末試卷
- 河北科技師范學(xué)院《西方財(cái)務(wù)會(huì)計(jì)雙語》2023-2024學(xué)年第二學(xué)期期末試卷
- 共青科技職業(yè)學(xué)院《學(xué)前兒童保育學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 陜西理工大學(xué)《數(shù)字信號(hào)處理》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024版消防設(shè)計(jì)質(zhì)量問題案例分析手冊(cè)建筑機(jī)電專業(yè)
- 《業(yè)財(cái)一體化實(shí)訓(xùn)教程-金蝶云星空V7.5》
- 人教版二年級(jí)數(shù)學(xué)下冊(cè)第一單元綜合測評(píng)卷(含答案)
- 社區(qū)意識(shí)形態(tài)工作2025年度工作計(jì)劃
- 2025年山東省濟(jì)南廣播電視臺(tái)招聘30人歷年管理單位筆試遴選500模擬題附帶答案詳解
- DG-TJ 08-2048-2024 民用建筑電氣防火設(shè)計(jì)標(biāo)準(zhǔn)
- 2025年中智集團(tuán)招聘筆試參考題庫含答案解析
- 黑龍江省哈爾濱市南崗區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期末考試英語試題(含答案)
- 殘疾人就業(yè)培訓(xùn)
- Photoshop+2024學(xué)習(xí)手冊(cè):第1課認(rèn)識(shí)與操作基礎(chǔ)
- 《不同血流限制訓(xùn)練方案對(duì)膝關(guān)節(jié)損傷運(yùn)動(dòng)員下肢功能的影響》
評(píng)論
0/150
提交評(píng)論