第六章數(shù)據(jù)庫(kù)保護(hù)_第1頁(yè)
第六章數(shù)據(jù)庫(kù)保護(hù)_第2頁(yè)
第六章數(shù)據(jù)庫(kù)保護(hù)_第3頁(yè)
第六章數(shù)據(jù)庫(kù)保護(hù)_第4頁(yè)
第六章數(shù)據(jù)庫(kù)保護(hù)_第5頁(yè)
已閱讀5頁(yè),還剩48頁(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)介

2023年2月6日1第六章數(shù)據(jù)庫(kù)保護(hù)6.1

事務(wù)6.2數(shù)據(jù)庫(kù)恢復(fù)技術(shù)6.3并發(fā)控制6.4數(shù)據(jù)庫(kù)的完整性6.5數(shù)據(jù)庫(kù)的安全性2023年2月6日2學(xué)習(xí)目標(biāo)理解并掌握事務(wù)的相關(guān)概念了解數(shù)據(jù)庫(kù)保護(hù)的四方面技術(shù):數(shù)據(jù)庫(kù)的恢復(fù)技術(shù)并發(fā)控制數(shù)據(jù)庫(kù)的完整性數(shù)據(jù)庫(kù)的安全性2023年2月6日36.1

事務(wù)6.1.1事務(wù)的概念

6.1.2事務(wù)的特性

6.1.3SQLServer2000事務(wù)應(yīng)用舉例

6.1.4事務(wù)的狀態(tài)轉(zhuǎn)換2023年2月6日46.1.1事務(wù)的概念事務(wù)(Transaction)是用戶(hù)定義的一個(gè)數(shù)據(jù)庫(kù)操作序列,這些操作要么全做,要么全不做,是一個(gè)不可分割的工作單位。事務(wù)和程序是兩個(gè)概念在關(guān)系數(shù)據(jù)庫(kù)中,一個(gè)事務(wù)可以是一條SQL語(yǔ)句,一組SQL語(yǔ)句或整個(gè)程序一個(gè)應(yīng)用程序通常包含多個(gè)事務(wù)事務(wù)是數(shù)據(jù)恢復(fù)和并發(fā)控制的基本單位2023年2月6日5事物的三種運(yùn)行模式:1)自動(dòng)提交事務(wù)2)顯式事務(wù)3)隱性事務(wù)每條單獨(dú)語(yǔ)句都是一個(gè)事務(wù)。BEGINTRANSACTION/*事務(wù)開(kāi)始*/COMMIT/*提交事務(wù)*/ROLLBACK/*事務(wù)回滾*/例如銀行轉(zhuǎn)帳。在前一個(gè)事務(wù)完成時(shí)則新事務(wù)隱式啟動(dòng),但每個(gè)事務(wù)仍以COMMIT或ROLLBACK語(yǔ)句顯式的表示完成。

2023年2月6日66.1.2事務(wù)的特性事務(wù)的ACID特性:原子性(Atomicity)原子性由恢復(fù)機(jī)制實(shí)現(xiàn)一致性(Consistency)由并發(fā)控制機(jī)制實(shí)現(xiàn)隔離性(Isolation)通過(guò)并發(fā)控制機(jī)制實(shí)現(xiàn)持續(xù)性(Durability)通過(guò)恢復(fù)機(jī)制實(shí)現(xiàn)一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干擾2023年2月6日76.1.3SQLServer2000事務(wù)應(yīng)用舉例教材例6-2,自學(xué)2023年2月6日86.1.4事務(wù)的狀態(tài)轉(zhuǎn)換活動(dòng)狀態(tài)部分提交全部提交失敗異常終止事務(wù)狀態(tài)轉(zhuǎn)換圖2023年2月6日96.2數(shù)據(jù)庫(kù)恢復(fù)技術(shù)6.2.1數(shù)據(jù)庫(kù)可能出現(xiàn)的故障6.2.2數(shù)據(jù)庫(kù)的恢復(fù)原理6.2.3SQLServer2000種數(shù)據(jù)備份與恢復(fù)的實(shí)現(xiàn)數(shù)據(jù)庫(kù)的恢復(fù)就是將數(shù)據(jù)庫(kù)從錯(cuò)誤的狀態(tài)恢復(fù)到某一正確狀態(tài)。2023年2月6日106.2.1數(shù)據(jù)庫(kù)可能出現(xiàn)的故障1.事務(wù)內(nèi)部故障2.系統(tǒng)故障3.介質(zhì)故障可以通過(guò)事務(wù)本身發(fā)現(xiàn)的故障;b.非預(yù)期故障:運(yùn)算溢出、并發(fā)事務(wù)發(fā)生死鎖、違反完整性約束條件、……4.計(jì)算機(jī)病毒發(fā)生故障后,應(yīng)強(qiáng)行回滾,使該事務(wù)好像根本沒(méi)有啟動(dòng)一樣,這種恢復(fù)操作稱(chēng)為事務(wù)撤銷(xiāo)(Undo)。

指造成系統(tǒng)停止運(yùn)轉(zhuǎn)的任何事件,使得系統(tǒng)要重新啟動(dòng);系統(tǒng)故障的影響:尚未完成事務(wù)可能已部分寫(xiě)入數(shù)據(jù)庫(kù)?;謴?fù)子系統(tǒng)要做的工作:(1)撤銷(xiāo)所有未提交事務(wù);(2)重做所有已提交事務(wù)。指外存故障介質(zhì)故障的影響:破壞數(shù)據(jù)庫(kù)或部分?jǐn)?shù)據(jù)庫(kù);影響部分正在執(zhí)行的事務(wù)?;謴?fù)策略:數(shù)據(jù)轉(zhuǎn)儲(chǔ)。病毒的影響:破壞應(yīng)用程序,進(jìn)而破壞數(shù)據(jù)庫(kù);修改緩沖區(qū);直接破壞數(shù)據(jù)庫(kù)。恢復(fù)策略:數(shù)據(jù)轉(zhuǎn)儲(chǔ)。2023年2月6日11各類(lèi)故障對(duì)數(shù)據(jù)庫(kù)的影響:(1)數(shù)據(jù)庫(kù)本身被破壞;(2)數(shù)據(jù)庫(kù)沒(méi)有被破壞,但數(shù)據(jù)可能不正確?;謴?fù)原理:冗余2023年2月6日126.2.2數(shù)據(jù)庫(kù)的恢復(fù)原理恢復(fù)機(jī)制涉及的關(guān)鍵問(wèn)題1.如何建立冗余數(shù)據(jù),即數(shù)據(jù)庫(kù)的重復(fù)存儲(chǔ);數(shù)據(jù)轉(zhuǎn)儲(chǔ)(backup)登錄日志文件(logging)2.如何利用這些冗余數(shù)據(jù)實(shí)施數(shù)據(jù)庫(kù)恢復(fù)。

2023年2月6日13一、數(shù)據(jù)轉(zhuǎn)儲(chǔ)

所謂轉(zhuǎn)儲(chǔ),即DBA定期的將整個(gè)數(shù)據(jù)庫(kù)復(fù)制到磁帶或另一個(gè)磁盤(pán)上保存起來(lái)的過(guò)程。

轉(zhuǎn)儲(chǔ)十分耗費(fèi)時(shí)間和資源,不能頻繁進(jìn)行。正常運(yùn)行TaTbTf轉(zhuǎn)儲(chǔ)運(yùn)行事務(wù)故障發(fā)生點(diǎn)故障恢復(fù)重裝后備副本重新運(yùn)行事務(wù)2023年2月6日141).靜態(tài)轉(zhuǎn)儲(chǔ)在系統(tǒng)中無(wú)運(yùn)行事務(wù)時(shí)進(jìn)行轉(zhuǎn)儲(chǔ)轉(zhuǎn)儲(chǔ)開(kāi)始時(shí)數(shù)據(jù)庫(kù)處于一致性狀態(tài)轉(zhuǎn)儲(chǔ)期間不允許對(duì)數(shù)據(jù)庫(kù)的任何存取、修改活動(dòng)優(yōu)點(diǎn):實(shí)現(xiàn)簡(jiǎn)單缺點(diǎn):降低了數(shù)據(jù)庫(kù)的可用性轉(zhuǎn)儲(chǔ)必須等用戶(hù)事務(wù)結(jié)束新的事務(wù)必須等轉(zhuǎn)儲(chǔ)結(jié)束1、靜態(tài)轉(zhuǎn)儲(chǔ)和動(dòng)態(tài)轉(zhuǎn)儲(chǔ)2023年2月6日152)、動(dòng)態(tài)轉(zhuǎn)儲(chǔ)轉(zhuǎn)儲(chǔ)操作與用戶(hù)事務(wù)并發(fā)進(jìn)行轉(zhuǎn)儲(chǔ)期間允許對(duì)數(shù)據(jù)庫(kù)進(jìn)行存取或修改優(yōu)點(diǎn)不用等待正在運(yùn)行的用戶(hù)事務(wù)結(jié)束不會(huì)影響新事務(wù)的運(yùn)行動(dòng)態(tài)轉(zhuǎn)儲(chǔ)的缺點(diǎn)不能保證副本中的數(shù)據(jù)正確有效利用動(dòng)態(tài)轉(zhuǎn)儲(chǔ)得到的副本進(jìn)行故障恢復(fù)需要把動(dòng)態(tài)轉(zhuǎn)儲(chǔ)期間各事務(wù)對(duì)數(shù)據(jù)庫(kù)的修改活動(dòng)登記下來(lái),建立日志文件后備副本加上日志文件才能把數(shù)據(jù)庫(kù)恢復(fù)到某一時(shí)刻的正確狀態(tài)2023年2月6日16海量轉(zhuǎn)儲(chǔ):每次轉(zhuǎn)儲(chǔ)全部數(shù)據(jù)庫(kù)增量轉(zhuǎn)儲(chǔ):只轉(zhuǎn)儲(chǔ)上次轉(zhuǎn)儲(chǔ)后更新過(guò)的數(shù)據(jù)海量轉(zhuǎn)儲(chǔ)與增量轉(zhuǎn)儲(chǔ)比較從恢復(fù)角度看,使用海量轉(zhuǎn)儲(chǔ)得到的后備副本進(jìn)行恢復(fù)往往更方便但如果數(shù)據(jù)庫(kù)很大,事務(wù)處理又十分頻繁,則增量轉(zhuǎn)儲(chǔ)方式更實(shí)用更有效2.海量轉(zhuǎn)儲(chǔ)與增量轉(zhuǎn)儲(chǔ)2023年2月6日17轉(zhuǎn)儲(chǔ)方法分類(lèi)

轉(zhuǎn)儲(chǔ)狀態(tài)動(dòng)態(tài)轉(zhuǎn)儲(chǔ)靜態(tài)轉(zhuǎn)儲(chǔ)轉(zhuǎn)儲(chǔ)方式海量轉(zhuǎn)儲(chǔ)動(dòng)態(tài)海量轉(zhuǎn)儲(chǔ)靜態(tài)海量轉(zhuǎn)儲(chǔ)增量轉(zhuǎn)儲(chǔ)動(dòng)態(tài)增量轉(zhuǎn)儲(chǔ)靜態(tài)增量轉(zhuǎn)儲(chǔ)3.轉(zhuǎn)儲(chǔ)方法小結(jié)2023年2月6日18二、登陸日志文件

日志文件(log)是用來(lái)記錄事務(wù)對(duì)數(shù)據(jù)庫(kù)的更新操作的文件。一、日志文件的格式和內(nèi)容二、日志文件的作用三、登記日志文件2023年2月6日191)、日志文件的格式以記錄為單位的日志文件以數(shù)據(jù)塊為單位的日志文件2)、日志文件內(nèi)容日志文件中的一個(gè)日志記錄(logrecord)各個(gè)事務(wù)的開(kāi)始標(biāo)記(BEGINTRANSACTION)各個(gè)事務(wù)的結(jié)束標(biāo)記(COMMIT或ROLLBACK)各個(gè)事務(wù)的所有更新操作1、日志文件的格式和內(nèi)容3)、基于記錄的日志文件每條日志記錄的內(nèi)容事務(wù)標(biāo)識(shí)操作類(lèi)型(插入、刪除或修改)操作對(duì)象(記錄ID、BlockNO.)更新前數(shù)據(jù)的舊值(對(duì)插入操作而言,此項(xiàng)為空值)更新后數(shù)據(jù)的新值(對(duì)刪除操作而言,此項(xiàng)為空值)4)、基于數(shù)據(jù)塊的日志文件事務(wù)標(biāo)識(shí)被更新的數(shù)據(jù)塊2023年2月6日21日志文件的作用:(1)事務(wù)故障恢復(fù)和系統(tǒng)故障恢復(fù)必須用日志文件;(2)動(dòng)態(tài)轉(zhuǎn)儲(chǔ)方式中必須建立日志文件,后援副本和日志文件綜合起來(lái)才能有效恢復(fù)數(shù)據(jù);

(3)靜態(tài)轉(zhuǎn)儲(chǔ)方式中,數(shù)據(jù)庫(kù)毀壞后可重新裝入后援副本把數(shù)據(jù)庫(kù)恢復(fù)到轉(zhuǎn)儲(chǔ)結(jié)束時(shí)的狀態(tài),然后利用日志文件,把已完成事務(wù)進(jìn)行重做處理,對(duì)故障發(fā)生時(shí)尚未完成事務(wù)做撤銷(xiāo)處理。2、日志文件的用途

2023年2月6日22為保證數(shù)據(jù)庫(kù)是可恢復(fù)的,登記日志文件時(shí)必須遵循兩條原則登記的次序嚴(yán)格按并行事務(wù)執(zhí)行的時(shí)間次序必須先寫(xiě)日志文件,后寫(xiě)數(shù)據(jù)庫(kù)3、登記日志文件

2023年2月6日236.2.3SQLServer2000種數(shù)據(jù)備份與恢復(fù)的實(shí)現(xiàn)1、數(shù)據(jù)庫(kù)的備份備份策略:什么時(shí)間備份、備份到什么位置、備份者是誰(shuí)、備份內(nèi)容、備份頻率、如何備份等。企業(yè)管理器:“備份”新建備份設(shè)備備份數(shù)據(jù)庫(kù)向?qū)В?、數(shù)據(jù)庫(kù)的還原2023年2月6日246.3并發(fā)控制6.3.1并發(fā)操作帶來(lái)的不一致問(wèn)題6.3.2并發(fā)控制——封鎖及解鎖協(xié)議在數(shù)據(jù)庫(kù)技術(shù)中,并發(fā)是指多個(gè)事務(wù)同時(shí)訪(fǎng)問(wèn)同一數(shù)據(jù)。

與事務(wù)的并發(fā)執(zhí)行相對(duì)的是事務(wù)的串行執(zhí)行,即每個(gè)時(shí)刻只有一個(gè)事務(wù)運(yùn)行,其他的事務(wù)只有在這個(gè)事務(wù)執(zhí)行完畢后才可運(yùn)行。

2023年2月6日256.3.1并發(fā)操作帶來(lái)的不一致問(wèn)題

存在三種因并發(fā)操作帶來(lái)的不一致問(wèn)題:1、丟失修改(LostUpdate)2、不可重復(fù)讀(Non-Repeatableread)

3、讀“臟”數(shù)據(jù)(dirtyread)

2023年2月6日261、丟失修改例:甲、乙兩個(gè)售票點(diǎn)的T1,T2兩個(gè)事務(wù)T1T2丟失修改:兩個(gè)事務(wù)T1和T2讀入同一個(gè)數(shù)據(jù)并修改,T2提交的結(jié)果破壞了T1提交的結(jié)果,導(dǎo)致T1的修改被丟失。(1)讀A=16(2)讀A=16(3)A=A-1寫(xiě)回A=15(4)A=A-1寫(xiě)回A=15例:求A、B兩個(gè)售票點(diǎn)的總票數(shù),并驗(yàn)算T1T2(1)讀A=50

讀B=100

和=150(2)讀B=100B=100-1寫(xiě)B(tài)=99不可重復(fù)讀:T1讀取數(shù)據(jù)后,T2執(zhí)行更新操作,使T1無(wú)法再現(xiàn)前一次讀取結(jié)果,有三種情況:(3)讀A=50

讀B=99

和=149(1)T2修改了T1讀取的值;(2)T2刪除了T1讀取的部分記錄;(3)T2插入了滿(mǎn)足T1讀取條件的部分記錄。后兩種不可重復(fù)讀也稱(chēng)為幻影現(xiàn)象。2、不可重復(fù)讀2023年2月6日28例:查詢(xún)A售票點(diǎn)的票數(shù)T1T2(1)讀A=50A=A-1

寫(xiě)A=49(2)讀A=49讀“臟”數(shù)據(jù):T1讀取數(shù)據(jù)后寫(xiě)回磁盤(pán),T2讀取同一數(shù)據(jù)后,T1事務(wù)被撤銷(xiāo)。(3)回滾A恢復(fù)為503、讀“臟”數(shù)據(jù)2023年2月6日296.3.2并發(fā)控制——封鎖及解鎖協(xié)議封鎖是實(shí)現(xiàn)并發(fā)控制的一個(gè)非常重要的技術(shù)。既可使事務(wù)并發(fā)地執(zhí)行又保證數(shù)據(jù)的一致性。

定義:所謂封鎖就是事務(wù)在對(duì)某個(gè)數(shù)據(jù)對(duì)象(如表、記錄等)操作之前,先向系統(tǒng)發(fā)出請(qǐng)求,對(duì)其加鎖,加鎖后事務(wù)就對(duì)該數(shù)據(jù)對(duì)象有了一定的控制,在事務(wù)釋放它的鎖之前,其它的事務(wù)不能更新此數(shù)據(jù)對(duì)象。

有兩種類(lèi)型的鎖:排他鎖(ExclusiveLocks,簡(jiǎn)記為X鎖)和共享鎖(ShareLocks,簡(jiǎn)記為S鎖)。

排它鎖排它鎖又稱(chēng)為寫(xiě)鎖若事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加上X鎖,則只允許T讀取和修改A,其它任何事務(wù)都不能再對(duì)A加任何類(lèi)型的鎖,直到T釋放A上的鎖共享鎖共享鎖又稱(chēng)為讀鎖若事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加上S鎖,則事務(wù)T可以讀A,但不能修改A,其它事務(wù)只能再對(duì)A加S鎖,而不能加X(jué)鎖,直到T釋放A上的S鎖2023年2月6日31Y=Yes,相容的請(qǐng)求N=No,不相容的請(qǐng)求

T1T2XS-XNNYSNYY-YYY鎖的相容矩陣2023年2月6日32在運(yùn)用X鎖和S鎖對(duì)數(shù)據(jù)對(duì)象加鎖時(shí),需要約定一些規(guī)則:封鎖協(xié)議(LockingProtocol)何時(shí)申請(qǐng)X鎖或S鎖持鎖時(shí)間、何時(shí)釋放不同的封鎖協(xié)議,在不同的程度上為并發(fā)操作的正確調(diào)度提供一定的保證常用的封鎖協(xié)議:三級(jí)封鎖協(xié)議封鎖協(xié)議(簡(jiǎn)介)2023年2月6日336.4數(shù)據(jù)庫(kù)的完整性6.4.1數(shù)據(jù)庫(kù)的完整性介紹6.4.2SQL中完整性約束6.4.3SQLServer2000中完整性約束的實(shí)現(xiàn)6.4.1數(shù)據(jù)庫(kù)的完整性介紹數(shù)據(jù)庫(kù)的完整性:即數(shù)據(jù)的正確性和相容性數(shù)據(jù)的安全性:保護(hù)數(shù)據(jù)庫(kù)防止惡意的破壞和非法的存取。數(shù)據(jù)的完整性:防止數(shù)據(jù)庫(kù)中存在不符合語(yǔ)義的數(shù)據(jù),防止錯(cuò)誤信息的輸入和輸出,即所謂垃圾進(jìn)垃圾出所造成的無(wú)效操作和錯(cuò)誤結(jié)果。數(shù)據(jù)庫(kù)完整性約束條件:即加在數(shù)據(jù)庫(kù)數(shù)據(jù)之上的語(yǔ)義約束條件。完整性檢查:DBMS中檢查數(shù)據(jù)是否滿(mǎn)足完整性條件的機(jī)制。2023年2月6日356.4.2SQL中完整性約束三種完整性約束:1實(shí)體完整性約束:UNIQUE(定義候選碼)、PRIMARYKEY(定義主鍵)2參照完整性約束:FOREIGNKEY(<列名序列1>)REFERENCES<參照表>[(<列名序列2>)][ONDELETE<參照動(dòng)作>][ONUPDATE<參照動(dòng)作>]3用戶(hù)定義的完整性約束CREATETABLES(SNOCHAR(6),SNAMECHAR(10),SAGEINT,

PRIMARYKEY(SNO))2023年2月6日366.4.3SQLServer2000中完整性約束的實(shí)現(xiàn)在SQLServer2000支持五類(lèi)約束,這五類(lèi)約束分別是空值約束、CHECK約束、唯一性約束、主鍵約束和外鍵約束。2023年2月6日376.5數(shù)據(jù)庫(kù)的安全性6.5.1計(jì)算機(jī)系統(tǒng)的安全性問(wèn)題6.5.2權(quán)限6.5.3數(shù)據(jù)庫(kù)的安全性控制6.5.4SQLServer2000中系統(tǒng)安全性實(shí)現(xiàn)2023年2月6日386.5.1計(jì)算機(jī)系統(tǒng)的安全性問(wèn)題要保證數(shù)據(jù)庫(kù)系統(tǒng)的安全性首先要保證計(jì)算機(jī)系統(tǒng)的安全性。計(jì)算機(jī)系統(tǒng)安全性,是指為計(jì)算機(jī)系統(tǒng)建立和采取的各種安全保護(hù)措施,以保護(hù)計(jì)算機(jī)系統(tǒng)中的硬件、軟件及數(shù)據(jù),防止因偶然或惡意的原因使系統(tǒng)遭到破壞,數(shù)據(jù)遭到更改或泄露等。

2023年2月6日39

數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù),防止因用戶(hù)非法使用數(shù)據(jù)庫(kù)造成數(shù)據(jù)泄露、更改或破壞。數(shù)據(jù)庫(kù)的一大特點(diǎn):數(shù)據(jù)可以共享安全性問(wèn)題!數(shù)據(jù)庫(kù)共享不能是無(wú)條件的。例:軍事秘密、國(guó)家機(jī)密、新產(chǎn)品實(shí)驗(yàn)數(shù)據(jù)、市場(chǎng)需求分析、市場(chǎng)營(yíng)銷(xiāo)策略、銷(xiāo)售計(jì)劃、客戶(hù)檔案、醫(yī)療檔案、銀行儲(chǔ)蓄數(shù)據(jù)等2023年2月6日406.5.2權(quán)限1、權(quán)限是指用戶(hù)(或應(yīng)用程序)使用數(shù)據(jù)庫(kù)的方式。

DBS中,對(duì)于數(shù)據(jù)操作的權(quán)限有以下幾種:1)

讀(Read)權(quán)限;允許用戶(hù)讀數(shù)據(jù),但不得修改數(shù)據(jù)。2)插入(Insert)權(quán)限;允許用戶(hù)插入新的數(shù)據(jù),但不得修改數(shù)據(jù)。3)修改(Update)權(quán)限:允許用戶(hù)修改數(shù)據(jù),但不得刪除數(shù)據(jù)。4)

刪除(Delete)權(quán)限;允許用戶(hù)刪除數(shù)據(jù)。2023年2月6日41系統(tǒng)還提供給用戶(hù)(或應(yīng)用程序)修改數(shù)據(jù)庫(kù)模式的操作權(quán)限,主要有下列幾種:1)

索引(Index)權(quán)限:允許用戶(hù)創(chuàng)建和刪除索引。2)

資源(Resource)權(quán)限:允許用戶(hù)創(chuàng)建新的關(guān)系。3)

修改(Alteration)權(quán)限:允許用戶(hù)在關(guān)系結(jié)構(gòu)中加入或刪除屬性。4)撤銷(xiāo)(Drop)權(quán)限:允許用戶(hù)撤銷(xiāo)關(guān)系。

2、權(quán)限的授予與回收:GRANT和REVOKE語(yǔ)句

2023年2月6日426.5.3數(shù)據(jù)庫(kù)的安全性控制數(shù)據(jù)庫(kù)的安全性控制措施主要有:用戶(hù)標(biāo)識(shí)與鑒別、存取控制、視圖機(jī)制和數(shù)據(jù)加密。

應(yīng)用DBMSOS

DB

高安全性控制層次

方法:

用戶(hù)標(biāo)識(shí)和鑒定

存取控制審計(jì)視圖

操作系統(tǒng)安全保護(hù)

密碼存儲(chǔ)安全措施一般是逐級(jí)設(shè)置的2023年2月6日431、用戶(hù)標(biāo)識(shí)與鑒別

系統(tǒng)提供的最外層安全保護(hù)措施:用戶(hù)標(biāo)識(shí)、口令或每個(gè)用戶(hù)預(yù)先約定好一個(gè)計(jì)算過(guò)程或者函數(shù)2、存取控制存取控制機(jī)制的組成:定義存取權(quán)限、檢查存取權(quán)限用戶(hù)權(quán)限定義和合法權(quán)檢查機(jī)制一起組成了DBMS的安全子系統(tǒng)常用存取控制方法自主存取控制(DiscretionaryAccessControl,簡(jiǎn)稱(chēng)DAC)強(qiáng)制存取控制(MandatoryAccessControl,簡(jiǎn)稱(chēng)MAC)2023年2月6日44自主存取控制方法(DAC)存取權(quán)限有兩個(gè)要素:數(shù)據(jù)對(duì)象、操作類(lèi)型在自主存取控制中,用戶(hù)對(duì)于不同的數(shù)據(jù)對(duì)象有不同的存取權(quán)限,不同的用戶(hù)對(duì)同一對(duì)象也有不同的權(quán)限,而且用戶(hù)還可將其擁有的存取權(quán)限轉(zhuǎn)授給其他用戶(hù)。

SQL標(biāo)準(zhǔn)也對(duì)自主存取控制提供支持:通過(guò)GRANT語(yǔ)句和REVOKE語(yǔ)句來(lái)實(shí)現(xiàn)2023年2月6日45授權(quán):即在數(shù)據(jù)庫(kù)系統(tǒng)中,定義存取權(quán)限。GRANT語(yǔ)句用來(lái)授予用戶(hù)權(quán)限,格式如下:GRANT<權(quán)限列表>ON<數(shù)據(jù)對(duì)象>TO<用戶(hù)列表>[WITHGRANTOPTION]

數(shù)據(jù)對(duì)象的創(chuàng)建者自動(dòng)獲得對(duì)于該數(shù)據(jù)對(duì)象的所有操作權(quán)限。

例:

表Student的創(chuàng)建者自動(dòng)或的對(duì)該表的SELECT、INSERT、UPDATE和DELETE等權(quán)限?!笆跈?quán)”

GRANTSELECT,INSERTONStudentTO王平

WITHGRANTOPTION

表示用戶(hù)王平同時(shí)獲得了“受權(quán)”的權(quán)限允許被授權(quán)者將權(quán)限傳遞給其他用戶(hù)

select、insert、delete、update權(quán)限

表,屬性列,視圖等

update授權(quán)既可在關(guān)系表的所有屬性列上進(jìn)行,又可只在某幾個(gè)屬性列上進(jìn)行。

例:授予李平student表中sname列的update權(quán)限:grantupdate(sname)onstudentto李平

2023年2月6日46“收回受權(quán)”

REVOKEINSERTONStudentFROM王平CASCADE權(quán)限不僅可以授予也可收回,可通過(guò)REVOKE語(yǔ)句收回用戶(hù)權(quán)限,格式如下:REVOKE<權(quán)限列表>ON<數(shù)據(jù)對(duì)象>FROM<用戶(hù)列表>表示如果用戶(hù)王平把Student的INSRT權(quán)限又轉(zhuǎn)授給了其他用戶(hù),那么這些權(quán)限也從其它用戶(hù)處收回。2023年2月6日47自主存取控制機(jī)制的優(yōu)點(diǎn):能夠通過(guò)授權(quán)機(jī)制有效地控制其他用戶(hù)對(duì)敏感數(shù)據(jù)的存取自主存取控制機(jī)制的缺陷:無(wú)法控制用戶(hù)授權(quán)給何人以及是否將“受權(quán)”權(quán)限授予別人數(shù)據(jù)的“無(wú)意泄露”2023年2月6日48強(qiáng)制存取控制是指系統(tǒng)為保證很高程度的安全性,按照一定的標(biāo)準(zhǔn)所采取的強(qiáng)制存取檢查方式。

強(qiáng)制存取控制方法(MAC)MAC適用于對(duì)數(shù)據(jù)有嚴(yán)格而固定密級(jí)分類(lèi)的部門(mén)例:軍事部門(mén)、政府部門(mén)等在MAC中,DBMS所管理的全部實(shí)體被分為主體和客體兩大類(lèi)。系統(tǒng)中的活動(dòng)實(shí)體

DBMS所管理的實(shí)際用戶(hù)代表用戶(hù)的各進(jìn)程系統(tǒng)中的被動(dòng)實(shí)體,是受主體操縱的文件基表索引視圖2023年2月6日49DBMS為主體和客體的每個(gè)

溫馨提示

  • 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)論