第6章 數(shù)據(jù)庫(kù)安全性和完整性_第1頁(yè)
第6章 數(shù)據(jù)庫(kù)安全性和完整性_第2頁(yè)
第6章 數(shù)據(jù)庫(kù)安全性和完整性_第3頁(yè)
第6章 數(shù)據(jù)庫(kù)安全性和完整性_第4頁(yè)
第6章 數(shù)據(jù)庫(kù)安全性和完整性_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1數(shù)據(jù)庫(kù)的安全性數(shù)據(jù)庫(kù)的安全性:就是防止非法用戶使用數(shù)據(jù)庫(kù)造成數(shù)據(jù)泄露、更改或破壞,以達(dá)到保護(hù)數(shù)據(jù)庫(kù)的目的。計(jì)算機(jī)系統(tǒng)安全性計(jì)算機(jī)系統(tǒng)安全性 為計(jì)算機(jī)系統(tǒng)建立和采取的各種安全保護(hù)措施,保護(hù)計(jì)算機(jī)系統(tǒng)(硬件、軟件及數(shù)據(jù))不會(huì)遭到破壞。保護(hù)數(shù)據(jù)庫(kù)以防止不合法使用一般計(jì)算機(jī)系統(tǒng)中,安全措施是一級(jí)一級(jí)層層設(shè)置的2 用戶標(biāo)識(shí)與鑒別 存取控制 視圖機(jī)制 審計(jì) 數(shù)據(jù)加密用戶DBMS DB OS用戶標(biāo)識(shí)和鑒定存取控制操作系統(tǒng)安全保護(hù)密碼存取*為不同的用戶定義不同的視圖把用戶對(duì)數(shù)據(jù)庫(kù)的所有操作自動(dòng)記錄下來(lái)放入審計(jì)日志中。 Oracle 安全措施主要有: 1 用戶標(biāo)識(shí)和鑒定 2 存取控制 3 審計(jì)3XMSJCZ用

2、戶甲02-10-6 22:32:55 進(jìn)入系統(tǒng)用戶甲02-10-8 20:33:07 錄入數(shù)據(jù)用戶乙02-10-9 8:50:42 進(jìn)入系統(tǒng)用戶乙02-10-11 11:53:13 修改密碼用戶丁02-10-13 7:19:29 進(jìn)入系統(tǒng)用戶丁02-10-28 8:00:53 查詢數(shù)據(jù)41. 用戶標(biāo)識(shí)與鑒別 用戶標(biāo)識(shí):Identification 用戶名:User Name,或者 用戶標(biāo)識(shí)號(hào):UID 用戶鑒別:Authentication 用戶名+口令:Password52. 存取控制 數(shù)據(jù)庫(kù)安全的主要思路:存取控制 給合適的人以合適的權(quán)限 存取控制機(jī)制 定義用戶及其權(quán)限,在數(shù)據(jù)字典中登記用戶

3、權(quán)限; 權(quán)限合法性檢查62. 存取控制 兩類實(shí)現(xiàn)存取控制的方法 自主存取控制自主存取控制: Discretionary Access Controla)用戶對(duì)不同的數(shù)據(jù)對(duì)象有不同的權(quán)限;b)不同用戶對(duì)同一對(duì)象具有不同的權(quán)限;c)允許用戶之間的傳遞授予權(quán)限 強(qiáng)制存取控制強(qiáng)制存取控制: Mandatory Access Controla)以一定的密級(jí)標(biāo)注數(shù)據(jù)對(duì)象b)授予每個(gè)用戶以某一級(jí)別的許可證多數(shù)DBMS均支持DAC72.1 自主存取控制DAC 用戶權(quán)限 誰(shuí) + 在哪個(gè)對(duì)象上 + 可以干什么事情 授權(quán):將用戶權(quán)限用戶權(quán)限授予特定用戶用戶的過(guò)程用戶數(shù)據(jù)庫(kù)對(duì)象操作類型用戶權(quán)限的二要素82.1 自主存

4、取控制DAC對(duì)象類型 數(shù)據(jù)庫(kù)對(duì)象數(shù)據(jù)庫(kù)對(duì)象操作類型操作類型數(shù)據(jù)庫(kù)模式Create Schema基本表Create Table, Alter Table模式視圖Create View索引Create Index數(shù)據(jù)基本表和視圖Select, Insert, Update, Delete, References, All Privileges數(shù)據(jù)屬性列Select, Insert, Update, Delete, References, All Privileges92.1 自主存取控制DAC SQL標(biāo)準(zhǔn)對(duì)DAC的支持 授權(quán):Grant語(yǔ)句 回收:Revoke語(yǔ)句 SQL創(chuàng)建用戶時(shí)賦予用戶的權(quán)限

5、DBA、RESOURCE、CONNECTCreate User With DBA | RESOURCE | CONNECT102.1 自主存取控制DAC 默認(rèn)用戶權(quán)限: CONNECTCreate User With DBA | RESOURCE | CONNECTCONNECT用戶的初始權(quán)限:只能登錄數(shù)據(jù)庫(kù)RESOURCE用戶的初始權(quán)限: 創(chuàng)建基本表和視圖,并成為所創(chuàng)建對(duì)象的屬主 不能創(chuàng)建模式和新用戶 可授權(quán)DBA用戶的初始權(quán)限: 創(chuàng)建新用戶、模式、基本表、視圖等 擁有對(duì)所有數(shù)據(jù)庫(kù)對(duì)象的存取權(quán)限 可授權(quán)112.1 自主存取控制DAC 授權(quán)權(quán)限:Grant語(yǔ)句 把“在某個(gè)對(duì)象某個(gè)對(duì)象上” “干

6、某種事情某種事情”的權(quán)限授予“某個(gè)用戶某個(gè)用戶”GRANT ON TO WITH GRANT OPTION122.1 自主存取控制DAC := | := PUBLIC| PUBLIC是所有數(shù)據(jù)庫(kù)用戶的總稱 若有WITH GRANT OPTION,則用戶可將此特權(quán)轉(zhuǎn)授給其它。不允許循環(huán)授權(quán)GRANT ON TO WITH GRANT OPTION13例如:GRANT SELECT ON TABLE 表1 TO PUBLIC;/將對(duì)表1的SELECT特權(quán)授予所有的用戶。GRANT SELECT(列1,列5) ON 表1 TO sam;/將對(duì)表1中1和5列的INSERT特權(quán)授予sam。GRANT A

7、LL PRIVILEGES ON TABLE 表1 TO bob,sam;/將對(duì)表1的所有操作特權(quán)授予bob和sam。GRANT UPDATE(列2,列4) ON 表1 TO wang WITH GRANT OPTION;/將對(duì)表1中2和4列的UPDATE特權(quán)授予wang,并允許他將此特權(quán)轉(zhuǎn)授給其它用戶。142.1 自主存取控制DAC 回收權(quán)限:Revoke語(yǔ)句 把“在某個(gè)對(duì)象某個(gè)對(duì)象上” “干某種事情某種事情”的權(quán)限從“某個(gè)用戶某個(gè)用戶”那里要回來(lái)REVOKE ON FROM CASCADE | RESTRICTREVOKE UPDATE(Sno) ON TABLE Student From

8、 REVOKE UPDATE(Sno) ON TABLE Student From user4;user4;15 以單個(gè)權(quán)限為單位授權(quán)太過(guò)麻煩 角色角色:權(quán)限的集合 為具有相同權(quán)限的用戶群創(chuàng)建一個(gè)角色 基于角色來(lái)管理權(quán)限簡(jiǎn)化授權(quán)過(guò)程 創(chuàng)建角色 給角色授權(quán)或授予角色 給用戶授予角色2.1 自主存取控制DAC162.1 自主存取控制DAC 角色的創(chuàng)建 CREATE ROLE 給角色授權(quán) GRANT ON TO GRANT TO WITH ADMIN OPTION 給用戶授予角色 GRANT TO WITH ADMIN OPTION17 角色權(quán)限的回收 REVOKE ON FROM 舉例: 創(chuàng)建角色

9、R1 使R1具有Student表的Select/Update/Insert權(quán)限 將R1角色授予用戶王平和李明 修改R1,使其具有Student表的Delete權(quán)限2.1 自主存取控制DAC183. 視圖機(jī)制 視圖機(jī)制 王平老師只能查詢計(jì)算機(jī)系學(xué)生的信息 系主任李明具有處置計(jì)算機(jī)系學(xué)生信息的所有權(quán)限CREATE VIEW CS_STU AS Select * From Student Where Sdept = CS;GRANT SELECT ON CS_STU TO 王平;GRANT ALL PRIVILIGES ON CS_STU TO 李明194. 審計(jì)Audit和數(shù)據(jù)加密 審計(jì):C2級(jí)D

10、BMS的必要指標(biāo),是把用戶對(duì)數(shù)據(jù)庫(kù)的所有操作自動(dòng)記錄下來(lái)放入審計(jì)日志 用戶級(jí)審計(jì) 系統(tǒng)級(jí)審計(jì) 數(shù)據(jù)加密20數(shù)據(jù)庫(kù)完整性:數(shù)據(jù)庫(kù)完整性:數(shù)據(jù)的正確性和相容性。數(shù)據(jù)的正確性和相容性。完整性安全性數(shù)據(jù)庫(kù)完整性和安全性的區(qū)別完整性防止錯(cuò)誤信息的輸入與輸出。安全性是保護(hù)數(shù)據(jù)庫(kù)防止惡意的破壞和非法的存取。21 DBMS對(duì)數(shù)據(jù)庫(kù)完整性的支持 提供定義完整性約束的機(jī)制實(shí)體完整性、參照完整性、自定義完整性 提供完整性檢查的方法 違約處理:拒絕執(zhí)行、級(jí)聯(lián)執(zhí)行223.1 完整性約束的概念 完整性約束:加在數(shù)據(jù)之上的語(yǔ)義約束 完整性約束的作用對(duì)象 關(guān)系:若干元組間、關(guān)系集合上以及關(guān)系之間的聯(lián)系的約束 元組:元組的約束

11、是元組中各個(gè)字段間的聯(lián)系的約束 屬性列:主要是列的數(shù)據(jù)類型、取值范圍、精度、排序等約束條件233.1 完整性約束的概念 完整性約束的類型 靜態(tài)約束靜態(tài)約束:數(shù)據(jù)庫(kù)在確定狀態(tài)時(shí)數(shù)據(jù)對(duì)象應(yīng)滿足的約束條件; 動(dòng)態(tài)約束動(dòng)態(tài)約束:數(shù)據(jù)庫(kù)從一種狀態(tài)轉(zhuǎn)變?yōu)榱硪环N狀態(tài)時(shí),新、舊值之間應(yīng)滿足的約束條件24 1)靜態(tài)列約束:是對(duì)一個(gè)列的取值域等的限制。 對(duì)數(shù)據(jù)類型的約束 ; 對(duì)數(shù)據(jù)格式的約束 ; 對(duì)取值范圍或取值集合的約束; 對(duì)空值的約束 ;2)靜態(tài)元組約束:規(guī)定組成一個(gè)元組的各個(gè)列之間的約束關(guān)系。例如:庫(kù)存關(guān)系中出庫(kù)數(shù)量不能大于庫(kù)存數(shù)量。3)靜態(tài)關(guān)系約束:反映了一個(gè)關(guān)系中各個(gè)元組之間或者若干關(guān)系之間存在的聯(lián)系或

12、約束。 實(shí)體完整性約束; 參照完整性約束;25 1)動(dòng)態(tài)列約束:規(guī)定修改列定義或列值時(shí)應(yīng)滿足的約束條件。如:將允許為空的列修改為不允許為空; 學(xué)生的年齡只能增長(zhǎng)。2)動(dòng)態(tài)元組約束:規(guī)定修改元組的值時(shí)其各個(gè)屬性列之間需要滿足的約束條件例如:職工工資調(diào)整時(shí)新工資不得低于原工資工齡*1.5 。3)動(dòng)態(tài)關(guān)系約束:加在關(guān)系變化前后狀態(tài)上的限制條件 。事務(wù)的ACID特性:原子性/一致性/隔離性/持久性263.2 實(shí)體/參照完整性約束 實(shí)體完整性:PRIMARY KEY 列級(jí)定義 關(guān)系級(jí)定義 參照完整性: FOREIGN KEY / REFERENCES 違約處理:拒絕、級(jí)聯(lián)刪除、設(shè)置為空273.2 實(shí)體/

13、參照完整性約束CREATE TABLE SC ( Sno CHAR(8) NOT NULL, Cno CHAR(4) NOT NULL, Grade SMALLINT, PRIMARY KEY (Sno, Cno), FOREIGN KEY (Sno) REFERENCES Student(Sno) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (Cno) REFERENCES Course(Cno) ON DELETE NO ACTION ON UPDATE CASCADE);283.3 用戶自定義完整性約束 定義屬性列的約束條件 列值非空

14、:NOT NULL 列值唯一:UNIQUE 語(yǔ)義檢查:CHECK短語(yǔ)短語(yǔ)舉例:性別只允許取值“男”或“女”CREATE TABLE Student ( Ssex CHAR(2) CHECK (Ssex IN (“男男”, “女女”), );成績(jī)只能在成績(jī)只能在0-100之間之間:CREATE TABLE SC ( . . Grade SMALLINT CHECK (Grade=0 and Grade=100), );29違約處理和保護(hù):違約處理和保護(hù):create table s(create table s(sno char(2) primary key,sno char(2) primar

15、y key,sgender char(2) check(sgender in(f,m)sgender char(2) check(sgender in(f,m)insert into s values(a,1)INSERT 語(yǔ)句與 COLUMN CHECK 約束 CK_s_sgender_2D27B809 沖突。303.3 用戶自定義完整性約束 定義元組的約束條件:CHECK 男性的名字一定不能以Ms. 打頭CREATE TABLE Student ( Sname CHAR(8) NOT NULL, Ssex CHAR(2) ,CHECK (Ssex IN (男男,女女) and (Ssex=

16、女女) OR Sname NOT LIKE Ms. %), );313.3 用戶自定義完整性約束 完整性約束命名子句 CONSTRAINT PRIMARY KEY短語(yǔ) | FOREIGN KEY短語(yǔ) | CHECK短語(yǔ)CREATE TABLE Student ( Sno NUMERIC(6) CONSTRAINT c1 CHECK (Sno BETWEEN 90000 AND 99999), Sname CHAR(8) CONSTRAINT c2 NOT NULL, Ssex CHAR(2) CONSTRAINT c3 CHECK (Ssex IN (男男,女女), );323.3 用戶自定義

17、完整性約束 域約束:DOMAIN 建立性別域:CREATE DOMAIN GenderDom CHAR(2) CHECK (VALUE IN (男, 女);CREATE TABLE Student ( Ssex GenderDom , );333.3 用戶自定義完整性約束 觸發(fā)器:TRIGGER 定義在關(guān)系表上的由事件驅(qū)動(dòng)的特殊過(guò)程 一旦定義,任何用戶對(duì)表的增刪改操作均會(huì)由DBMS自動(dòng)激活相應(yīng)的觸發(fā)器,進(jìn)行完整性檢查 非SQL核心規(guī)范的內(nèi)容,但一般DBMS均提供支持34創(chuàng)建一個(gè)觸發(fā)器sc_trig,當(dāng)插入或者更新“學(xué)習(xí)”表時(shí),該觸發(fā)器檢查“成績(jī)”是否在指定的范圍內(nèi)CREATE TRIGGER sc_trig ON dbo.學(xué)習(xí) FOR INS

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論