ch7數(shù)據(jù)庫的安全與控制_第1頁
ch7數(shù)據(jù)庫的安全與控制_第2頁
ch7數(shù)據(jù)庫的安全與控制_第3頁
ch7數(shù)據(jù)庫的安全與控制_第4頁
ch7數(shù)據(jù)庫的安全與控制_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第7章:數(shù)據(jù)庫的安全與控制數(shù)據(jù)庫的安全數(shù)據(jù)庫訪問權(quán)限AuthorizationSQL中的訪問權(quán)限AuthorizationinSQL事務(wù)transaction并發(fā)控制ConcurrencyControl數(shù)據(jù)庫恢復(fù)RecoverySystem§1數(shù)據(jù)庫的安全性1.1什么是數(shù)據(jù)庫的安全性?指:保護(hù)數(shù)據(jù)庫,防止因用戶非法使用數(shù)據(jù)庫造成數(shù)據(jù)泄露、更改或破壞。數(shù)據(jù)庫應(yīng)用系統(tǒng)的安全模型文件操作控制存取控制身份驗(yàn)證用戶數(shù)據(jù)庫應(yīng)用程序數(shù)據(jù)庫管理系統(tǒng)操作系統(tǒng)加密存儲與冗余數(shù)據(jù)庫(1)用戶身份的標(biāo)識和鑒定。(2)存取權(quán)限控制。(3)定義并使用視圖。(4)審計制度。(5)數(shù)據(jù)加密。

1.2安全性控制的一般方法1.3存取權(quán)限基本類型存取數(shù)據(jù)的權(quán)限類型:讀取Readauthorization-allowsreading,butnotmodificationofdata.插入Insertauthorization-allowsinsertionofnewdata,butnotmodificationofexistingdata.更新Updateauthorization-allowsmodification,butnotdeletionofdata.刪除Deleteauthorization-allowsdeletionofdata數(shù)據(jù)的存取權(quán)限可以由一個用戶傳遞給另一個用戶,并用授權(quán)圖來表達(dá).授權(quán)圖中的每一個節(jié)點(diǎn)代表一個用戶.

根節(jié)點(diǎn)是數(shù)據(jù)庫的管理員DBA.U1U4U2U5U3DBA授權(quán)圖中的每一條邊必須與根節(jié)點(diǎn)相連DBA授予或收回其它用戶存取權(quán)限,具有授權(quán)能力的用戶也可以向別的用戶授予/收回權(quán)力SQL中是通過GRANT和REVOKE語句進(jìn)行授權(quán).SQL授權(quán)語句的格式:GRANT<權(quán)限表>ON<關(guān)系名或視圖名>

TO

<用戶表>[WITHGRANTOPTION]用戶表:用戶的ID,或角色等權(quán)限表:select,insert,update,delete…..1.4SQL中的授權(quán)語句具有授予別人權(quán)限的能力

e.gStudent的owner向User1,User2授插入和選擇數(shù)據(jù)的權(quán)限,同時User1,User2也可以將該權(quán)限授予其它用戶。(1)GRANTSELECT,INSERTONStudentTOUser1,User2WITHGRANTOPTIONownerSELECTStudent**ownerINSERTStudent**user1SELECTStudent*user1INSERTStudent*user2SELECTStudent*user2INSERTStudent*user3SELECTStudent

E.gUser1向User3授權(quán)對Student表的選擇權(quán),但User3不能將該權(quán)限授予其它用戶。TOUser3GRANTSELECTONStudent

E.g.owner用REVOKE語句,從User1收回權(quán)限REVOKEINSERTONStudent

FROM

User1

CASCADE收回權(quán)限的語句格式:REVOKE<權(quán)限表>ON<關(guān)系或視圖>

FROM<用戶表>[CASCADE]

E.g.owner用REVOKE語句,從User2收回授予權(quán)限的權(quán)力。REVOKEGRANTOPTION

FORSELECT

ONStudentFROMUser2CASCADESQL授權(quán)語句的局限性SQL不支持元組級別的權(quán)限控制E.g.wecannotrestrictstudentstoseeonly(thetuplesstoring)theirowngradesWiththegrowthinWebaccesstodatabases,databaseaccessescomeprimarilyfromapplicationservers.Endusersdon'thavedatabaseuserids,theyareallmappedtothesamedatabaseuseridAllend-usersofanapplication(suchasawebapplication)maybemappedtoasingledatabaseuserThetaskofauthorizationinabovecasesfallsontheapplicationprogram,withnosupportfromSQLBenefit:finegrainedauthorizations,suchastoindividualtuples,canbeimplementedbytheapplication.Drawback:Authorizationmustbedoneinapplicationcode,andmaybedispersedalloveranapplicationCheckingforabsenceofauthorizationloopholesbecomesverydifficultsinceitrequiresreadinglargeamountsofapplicationcodeSQL授權(quán)語句的局限性Cont.§2事務(wù)管理:事務(wù)是訪問并可能更新數(shù)據(jù)庫數(shù)據(jù)的一個程序執(zhí)行單位。2.1事務(wù)概念即,事務(wù)中導(dǎo)致數(shù)據(jù)庫狀態(tài)改變的操作,要么全部成功地執(zhí)行完畢,要么都不執(zhí)行。

事務(wù)的性質(zhì)(ACID)(1)原子性(Atomicity):組成事務(wù)的操作的不可分割性。

(2)一致性(Consistency):一個事務(wù)必須是一個正確的程序,它使數(shù)據(jù)庫從一個一致狀態(tài)轉(zhuǎn)變?yōu)榱硪粋€一致狀態(tài).(4)持久性(Durability):一旦某個事務(wù)已經(jīng)提交,即使系統(tǒng)發(fā)生故障,也不能丟失該事務(wù)的執(zhí)行結(jié)果。

(3)隔離性(Isolation):一個正在執(zhí)行的事務(wù)在提交之前,不允許把它對共享數(shù)據(jù)所做的改變,提交給其它事務(wù)使用。

BEGINTRANSACTIONselect……update…….…….

COMMIT

BEGINTRANSACTIONdelete……insert…….…….

ROLLBACK§3事務(wù)的并發(fā)操作3.1.什么叫并發(fā):多個事務(wù)同時存取相同的數(shù)據(jù).3.2.并發(fā)帶來的問題---數(shù)據(jù)一致性問題事務(wù)A事務(wù)Bt1t2t3t4時間讀數(shù)據(jù)D讀數(shù)據(jù)D修改數(shù)據(jù)D修改數(shù)據(jù)D?(1)丟失修改t1t2t3t4時間讀數(shù)據(jù)D事務(wù)A事務(wù)B讀數(shù)據(jù)D?修改數(shù)據(jù)D事務(wù)回退(2)讀入“臟”數(shù)據(jù)(3)不可重復(fù)的讀t1t2t3t4時間讀數(shù)據(jù)D事務(wù)A事務(wù)B讀數(shù)據(jù)D讀數(shù)據(jù)D?修改數(shù)據(jù)D3.3.并發(fā)控制機(jī)制之一:封鎖locking鎖的類型:排它鎖(X):拒絕其它事務(wù)任何類型的鎖請求,也叫寫鎖。共享鎖(S):拒絕其它事務(wù)的X鎖請求,但允許其它事務(wù)的S鎖請求,也叫讀鎖。鎖請求的相容性(矩陣)事務(wù)A事務(wù)BXSXNNSNY

3.4.三級鎖協(xié)議---解決數(shù)據(jù)一致性問題(1).一級鎖協(xié)議---解決“丟失修改”問題事務(wù)在修改數(shù)據(jù)D之前,必須先對其加X鎖,直到事務(wù)結(jié)束(提交或回退)才釋放該鎖。事務(wù)A事務(wù)Bt1t2t3t4時間讀數(shù)據(jù)D讀數(shù)據(jù)D修改數(shù)據(jù)D修改數(shù)據(jù)D?t5加X鎖!開鎖!加X鎖?(2).二級鎖協(xié)議---解決“讀臟數(shù)據(jù)”問題在一級鎖協(xié)議的基礎(chǔ)上,加上約定:事務(wù)T在讀取數(shù)據(jù)D之前,必須對其加S鎖,讀入該數(shù)據(jù)后即可立即釋放S鎖。事務(wù)A事務(wù)Bt1t2t3t6時間讀數(shù)據(jù)D讀數(shù)據(jù)D?修改數(shù)據(jù)D事務(wù)回退t5t4加X鎖!開鎖!加S鎖?

(3).三級鎖協(xié)議---解決“不可重復(fù)讀”問題在一級鎖協(xié)議的基礎(chǔ)上,加上約定:事務(wù)T在讀取數(shù)據(jù)D之前,必須對其加S鎖,直到事務(wù)結(jié)束(提交或回退)才能釋放S鎖。加X鎖?事務(wù)A事務(wù)Bt1t2t3t4時間讀數(shù)據(jù)D讀數(shù)據(jù)D讀數(shù)據(jù)D?修改數(shù)據(jù)Dt5t6開鎖!加S鎖!

(4)并發(fā)調(diào)度的可串行性如果多個事務(wù)的并發(fā)調(diào)度執(zhí)行過程的結(jié)果,與它們的一個串行執(zhí)行過程產(chǎn)生的結(jié)果相同,則稱并發(fā)調(diào)度是可串行化的。(5)兩階段鎖協(xié)議:每個事務(wù)分兩個階段提出鎖操作獲得鎖階段:任何事務(wù)可以申請獲得鎖,但不能釋放鎖。釋放鎖階段:任何事務(wù)可以申請釋放鎖,但不能獲得新鎖。如果所有的事務(wù)都遵守“兩段鎖協(xié)議”,則這些事務(wù)是可串行化的。

3.5.SQL標(biāo)準(zhǔn)的隔離性級別隔離性級別指:多個事務(wù)并發(fā)執(zhí)行時,一個事務(wù)所能容忍干擾的程度。1.SERIALIZABLE(可串行化)-------缺省值4.REPEATABLEREAD(只允許可重復(fù)的讀)3.READCOMMITTED(禁止讀“臟”數(shù)據(jù),但允許不可重復(fù)的讀)2.READUNCOMMITTED(允許讀“臟”數(shù)據(jù))恢復(fù)數(shù)據(jù)庫是指將數(shù)據(jù)庫從錯誤描述狀態(tài)恢復(fù)到正確的描述狀態(tài)(最近的正確時刻)的過程。

1.恢復(fù)策略

(1)事務(wù)故障的恢復(fù)

事務(wù)故障是指事務(wù)在運(yùn)行到正常結(jié)束前被終止,這時恢復(fù)子系統(tǒng)可以利用日志文件撤消(Undo)此事務(wù)對數(shù)據(jù)庫已進(jìn)行的修改。事務(wù)故障的恢復(fù)是由系統(tǒng)自動完成的,對用戶是透明的。恢復(fù)的過程為:反向掃描日志文件并執(zhí)行相應(yīng)操作的逆操作。 §4數(shù)據(jù)庫的恢復(fù)(自學(xué))(2)系統(tǒng)故障的恢復(fù):系統(tǒng)軟件故障或突然斷電等系統(tǒng)故障造成數(shù)據(jù)庫不一致狀態(tài)的原因有兩個,一個是未完成事務(wù)對數(shù)據(jù)庫的更新可能已寫入數(shù)據(jù)庫,二是已提交事務(wù)對數(shù)據(jù)庫的更新可能還留在緩沖區(qū)中未寫入數(shù)據(jù)庫。系統(tǒng)故障的恢復(fù)是系統(tǒng)在重啟時自動完成的,不需用戶干預(yù)。

恢復(fù)過程為:正向掃描日志文件,找

溫馨提示

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

評論

0/150

提交評論