Oracle的安全管理培訓(xùn)教案課件_第1頁(yè)
Oracle的安全管理培訓(xùn)教案課件_第2頁(yè)
Oracle的安全管理培訓(xùn)教案課件_第3頁(yè)
Oracle的安全管理培訓(xùn)教案課件_第4頁(yè)
Oracle的安全管理培訓(xùn)教案課件_第5頁(yè)
已閱讀5頁(yè),還剩133頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Oracle的安全管理Oracle的安全管理1本章學(xué)習(xí)目標(biāo)

數(shù)據(jù)庫(kù)安全性問題一直是人們關(guān)注的焦點(diǎn),數(shù)據(jù)庫(kù)數(shù)據(jù)的丟失以及數(shù)據(jù)庫(kù)被非法用戶的侵入對(duì)于任何一個(gè)應(yīng)用系統(tǒng)來說都是至關(guān)重要的問題。確保信息安全的重要基礎(chǔ)在于數(shù)據(jù)庫(kù)的安全性能。第六章Oracle的安全管理本章學(xué)習(xí)目標(biāo)第六章Oracle的安全管理2本章內(nèi)容安排6.1Oracle9i的安全保障機(jī)制

6.2用戶管理

6.3權(quán)限和角色

6.4概要文件

6.5數(shù)據(jù)審計(jì)

本章內(nèi)容安排6.1Oracle9i的安全保36.1Oracle9i的安全保障機(jī)制6.1.1安全性內(nèi)容

6.1.2安全性策略

6.1Oracle9i的安全保障機(jī)制6.1.1安全性4數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù)以防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞。在數(shù)據(jù)庫(kù)存儲(chǔ)這一級(jí)可采用密碼技術(shù),當(dāng)物理存儲(chǔ)設(shè)備失竊后,它起到保密作用。在數(shù)據(jù)庫(kù)系統(tǒng)這一級(jí)中提供兩種控制:用戶標(biāo)識(shí)和鑒定,數(shù)據(jù)存取控制。數(shù)據(jù)庫(kù)安全可分為二類:系統(tǒng)安全性和數(shù)據(jù)安全性。系統(tǒng)安全性是指在系統(tǒng)級(jí)控制數(shù)據(jù)庫(kù)的存取和使用的機(jī)制,包含:(1)有效的用戶名/口令的組合。(2)一個(gè)用戶是否授權(quán)可連接數(shù)據(jù)庫(kù)。(3)用戶對(duì)象可用的磁盤空間的數(shù)量。(4)用戶的資源限制。(5)數(shù)據(jù)庫(kù)審計(jì)是否是有效的。(6)用戶可執(zhí)行哪些系統(tǒng)操作。6.1.1安全性內(nèi)容數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù)以防止不合法的使用所造成的數(shù)據(jù)泄5在Oracle多用戶數(shù)據(jù)庫(kù)系統(tǒng)中,安全機(jī)制作下列工作:(1)防止非授權(quán)的數(shù)據(jù)庫(kù)存取。(2)防止非授權(quán)的對(duì)模式對(duì)象的存取。(3)控制磁盤使用。(4)控制系統(tǒng)資源使用。(5)審計(jì)用戶動(dòng)作。用戶要存取一對(duì)象必須有相應(yīng)的權(quán)限授給該用戶。已授權(quán)的用戶可任意地可將它授權(quán)給其它用戶,由于這個(gè)原因,這種安全性類型叫做任意型。Oracle利用下列機(jī)制管理數(shù)據(jù)庫(kù)安全性:數(shù)據(jù)庫(kù)用戶和模式權(quán)限角色存儲(chǔ)設(shè)置和空間份額資源限制審計(jì)在Oracle多用戶數(shù)據(jù)庫(kù)系統(tǒng)中,安全機(jī)制作下列工作:6

1.系統(tǒng)安全性策略

2.用戶安全性策略6.1.2安全性策略

3.?dāng)?shù)據(jù)庫(kù)管理者安全性策略4.應(yīng)用程序開發(fā)者的安全性策略1.系統(tǒng)安全性策略2.用戶安全性策略6.1.2安7系統(tǒng)安全性策略(1)管理數(shù)據(jù)庫(kù)用戶(2)用戶身份確認(rèn)(3)操作系統(tǒng)安全性1)數(shù)據(jù)庫(kù)管理員必須有create和delete文件的操作系統(tǒng)權(quán)限。2)一般數(shù)據(jù)庫(kù)用戶不應(yīng)該有create或delete與數(shù)據(jù)庫(kù)相關(guān)文件的操作系統(tǒng)權(quán)限。3)如果操作系統(tǒng)能為數(shù)據(jù)庫(kù)用戶分配角色,那么安全性管理者必須有修改操作系統(tǒng)帳戶安全性區(qū)域的操作系統(tǒng)權(quán)限。系統(tǒng)安全性策略82.用戶安全性策略(1)一般用戶的安全性1)密碼的安全性2)權(quán)限管理(2)終端用戶的安全性2.用戶安全性策略93.數(shù)據(jù)庫(kù)管理者安全性策略(1)保護(hù)作為sys和system用戶的連接(2)保護(hù)管理者與數(shù)據(jù)庫(kù)的連接(3)使用角色對(duì)管理者權(quán)限進(jìn)行管理3.數(shù)據(jù)庫(kù)管理者安全性策略104.應(yīng)用程序開發(fā)者的安全性策略(1)應(yīng)用程序開發(fā)者和他們的權(quán)限(2)應(yīng)用程序開發(fā)者的環(huán)境1)程序開發(fā)者不應(yīng)與終端用戶競(jìng)爭(zhēng)數(shù)據(jù)庫(kù)資源;2)程序開發(fā)者不能損害數(shù)據(jù)庫(kù)其他應(yīng)用產(chǎn)品。(3)應(yīng)用程序開發(fā)者的空間限制作為數(shù)據(jù)庫(kù)安全性管理者,應(yīng)該特別地為每個(gè)應(yīng)用程序開發(fā)者設(shè)置以下的一些限制:1)開發(fā)者可以創(chuàng)建table或index的表空間;2)在每一個(gè)表空間中,開發(fā)者所擁有的空間份額。4.應(yīng)用程序開發(fā)者的安全性策略116.2.2創(chuàng)建用戶

6.2.3修改用戶

6.2.4刪除用戶

6.2.1數(shù)據(jù)庫(kù)的存取控制

6.2用戶管理6.2.2創(chuàng)建用戶6.2.121.用戶鑒別2.用戶的表空間設(shè)置和定額6.2.1數(shù)據(jù)庫(kù)的存取控制3.用戶資源限制和環(huán)境文件4.用戶環(huán)境文件1.用戶鑒別2.用戶的表空間設(shè)置和定額6.2.1數(shù)據(jù)庫(kù)的13用戶鑒別為了防止非授權(quán)的數(shù)據(jù)庫(kù)用戶的使用,Oracle提供三種確認(rèn)方法:操作系統(tǒng)確認(rèn),Oracle數(shù)據(jù)庫(kù)確認(rèn)和網(wǎng)絡(luò)服務(wù)確認(rèn)。由操作系統(tǒng)鑒定用戶的優(yōu)點(diǎn)是:1)用戶能更快,更方便地聯(lián)入數(shù)據(jù)庫(kù)。2)通過操作系統(tǒng)對(duì)用戶身份確認(rèn)進(jìn)行集中控制:如果操作系統(tǒng)與數(shù)據(jù)庫(kù)用戶信息一致,那么Oracle無須存儲(chǔ)和管理用戶名以及密碼。3)用戶進(jìn)入數(shù)據(jù)庫(kù)和操作系統(tǒng)審計(jì)信息一致。用戶鑒別14

2.用戶的表空間設(shè)置和定額

關(guān)于表空間的使用有幾種設(shè)置選擇:用戶的缺省表空間用戶的臨時(shí)表空間數(shù)據(jù)庫(kù)表空間的空間使用定額2.用戶的表空間設(shè)置和定額153.用戶資源限制和環(huán)境文件用戶可用的各種系統(tǒng)資源總量的限制是用戶安全域的部分。利用顯式地設(shè)置資源限制,安全管理員可防止用戶無控制地消耗寶貴的系統(tǒng)資源。資源限制是由環(huán)境文件管理。一個(gè)環(huán)境文件是命名的一組賦給用戶的資源限制。另外Oracle為安全管理員在數(shù)據(jù)庫(kù)提供是否對(duì)環(huán)境文件資源限制的選擇。Oracle可限制幾種類型的系統(tǒng)資源的使用,每種資源可在會(huì)話級(jí)、調(diào)用級(jí)或兩者上控制。3.用戶資源限制和環(huán)境文件16在會(huì)話級(jí):每一次用戶連接到一數(shù)據(jù)庫(kù),建立一會(huì)話。每一個(gè)會(huì)話在執(zhí)行SQL語(yǔ)句的計(jì)算機(jī)上耗費(fèi)CPU時(shí)間和內(nèi)存量進(jìn)行限制。在調(diào)用級(jí):在SQL語(yǔ)句執(zhí)行時(shí),處理該語(yǔ)句有幾步,為了防止過多地調(diào)用系統(tǒng),Oracle在調(diào)用級(jí)可設(shè)置幾種資源限制。在會(huì)話級(jí):每一次用戶連接到一數(shù)據(jù)庫(kù),建立一會(huì)話。每一個(gè)會(huì)話在17有下列資源限制:(1)為了防止無控制地使用CPU時(shí)間,Oracle可限制每次Oracle調(diào)用的CPU時(shí)間和在一次會(huì)話期間Oracle調(diào)用所使用的CPU的時(shí)間,以0.01秒為單位。(2)為了防止過多的I/O,Oracle可限制每次調(diào)用和每次會(huì)話的邏輯數(shù)據(jù)塊讀的數(shù)目。(3)Oracle在會(huì)話級(jí)還提供其它幾種資源限制。每個(gè)用戶的并行會(huì)話數(shù)的限制。會(huì)話空閑時(shí)間的限制,如果一次會(huì)話的Oracle調(diào)用之間時(shí)間達(dá)到該空閑時(shí)間,當(dāng)前事務(wù)被回滾,會(huì)話被中止,會(huì)話資源返回給系統(tǒng)。每次會(huì)話可消逝時(shí)間的限制,如果一次會(huì)話期間超過可消逝時(shí)間的限制,當(dāng)前事務(wù)被回滾,會(huì)話被刪除,該會(huì)話的資源被釋放。每次會(huì)話的專用SGA空間量的限制。有下列資源限制:184.用戶環(huán)境文件用戶環(huán)境文件是指定資源限制的命名集,可賦給Oracle數(shù)據(jù)庫(kù)的有效的用戶。利用用戶環(huán)境文件可容易地管理資源限制。在許多情況中決定用戶的環(huán)境文件的合適資源限制的最好的方法是收集每種資源使用的歷史信息。4.用戶環(huán)境文件196.2.2創(chuàng)建用戶使用CREATEUSER語(yǔ)句可以創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)用戶,執(zhí)行該語(yǔ)句的用戶必須具有CREATEUSER系統(tǒng)權(quán)限。在創(chuàng)建用戶時(shí)必須指定用戶的認(rèn)證方式。一般會(huì)通過Oracle數(shù)據(jù)庫(kù)對(duì)用戶身份進(jìn)行驗(yàn)證,即采用數(shù)據(jù)庫(kù)認(rèn)證方式。在這種情況下,創(chuàng)建用戶時(shí)必須為新用戶指定一個(gè)口令,口令以加密方式保存在數(shù)據(jù)庫(kù)中。當(dāng)用戶連接數(shù)據(jù)庫(kù)時(shí),Oracle從數(shù)據(jù)庫(kù)中提取口令來對(duì)用戶的身份進(jìn)行驗(yàn)證。

6.2.2創(chuàng)建用戶使用CREATEUSER語(yǔ)句可以創(chuàng)建20

使用IDENTIFIEDBY子句為用戶設(shè)置口令,這時(shí)用戶將通過數(shù)據(jù)庫(kù)來進(jìn)行身份認(rèn)證。如果要通過操作系統(tǒng)來對(duì)用戶進(jìn)行身份認(rèn)證,則必須使用IDENTIFIEDEXTERNALBY子句。使用DEFAULTTABLESPACE子句為用戶指定默認(rèn)表空間。如果沒有指定默認(rèn)表空間,Oracle會(huì)把SYSTEM表空間作為用戶的默認(rèn)表空間。為用戶指定了默認(rèn)表空間之后,還必須使用QUOTA子句來為用戶在默認(rèn)表空間中分配的空間配額。使用IDENTIFIEDBY子句為用戶設(shè)置口令,這時(shí)用戶21

此外,常用的一些子句有:①TEMPORARYTABLESPACE子句:為用戶指定臨時(shí)表空間。②PROFILE子句:為用戶指定一個(gè)概要文件。如果沒有為用戶顯式地指定概要文件,Oracle將自動(dòng)為他指定DEFAULT概要文件。③DEFAULTROLE子句:為用戶指定默認(rèn)的角色。④PASSWORDEXPIRE子句:設(shè)置用戶口令的初始狀態(tài)為過期。⑤ACCOUNTLOCK子句:設(shè)置用戶賬戶的初始狀態(tài)為鎖定,缺省為:ACCOUNTUNLOCK。在建立新用戶之后,通常會(huì)需要使用GRANT語(yǔ)句為他授予CREATESESSION系統(tǒng)權(quán)限,使他具有連接到數(shù)據(jù)庫(kù)中的能力?;?yàn)樾掠脩糁苯邮谟鐿racle中預(yù)定義的CONNECT角色。此外,常用的一些子句有:226.2.3修改用戶在創(chuàng)建用戶之后,可以使用ALTERUSER語(yǔ)句對(duì)用戶進(jìn)行修改,執(zhí)行該語(yǔ)句的用戶必須具有ALTERUSER系統(tǒng)權(quán)限。例如:利用下面的語(yǔ)句可以修改用戶chenjie的認(rèn)證方式、默認(rèn)表空間、空間配額:ALTERUSERchenjieIDENTIFIEDBYchenjie_pwQUATA10MONmbl_tbs;6.2.3修改用戶在創(chuàng)建用戶之后,可以使用ALTERU23

ALTERUSER語(yǔ)句最常用的情況是用來修改用戶自己的口令,任何用戶都可以使用ALTERUSER…IDENTIFIEDBY語(yǔ)句來修改自己的口令,而不需要具有任何其他權(quán)限。但是如果要修改其他用戶的口令,則必須具有ALTERUSER系統(tǒng)權(quán)限。ALTERUSER語(yǔ)句最常用的情況是用來修改用戶自己的口24

DBA還會(huì)經(jīng)常使用ALTERUSER語(yǔ)句鎖定或解鎖用戶賬戶。例如:ALTERUSERchenjieACCOUNTLOCK;ALTERUSERchenjieACCOUNTUNLOCK;DBA還會(huì)經(jīng)常使用ALTERUSER語(yǔ)句鎖定或解鎖用戶賬256.2.4刪除用戶使用DROPUSER語(yǔ)句可以刪除已有的用戶,執(zhí)行該語(yǔ)句的用戶必須具有DROPUSER系統(tǒng)權(quán)限。如果用戶當(dāng)前正連接到數(shù)據(jù)庫(kù)中,則不能刪除這個(gè)用戶。要?jiǎng)h除已連接的用戶,首先必須使用ALTERSYSTEM…KILLSESSION語(yǔ)句終止他的會(huì)話,然后再使用DROPUSER語(yǔ)句將其刪除。6.2.4刪除用戶使用DROPUSER語(yǔ)句可以刪除已有26如果要?jiǎng)h除的用戶模式中包含有模式對(duì)象,必須在DROPUSER子句中指定CASCADE關(guān)鍵字,否則Oracle將返回錯(cuò)誤信息。例如:利用下面的語(yǔ)句將刪除用戶chenjie,并且同時(shí)刪除他所擁有的所有表、索引等模式對(duì)象:DROPUSERchenjieCASCADE;如果要?jiǎng)h除的用戶模式中包含有模式對(duì)象,必須在DROPUSE276.3.2創(chuàng)建角色

6.3.3授予權(quán)限或角色

6.3.4回收權(quán)限或角色

6.3.1基本概念

6.3權(quán)限和角色

6.3.5激活和禁用角色

6.3.2創(chuàng)建角色6.3.3授予權(quán)限或角色281.權(quán)限2.角色6.3.1基本概念1.權(quán)限2.角色6.3.1基本概念291.權(quán)限

權(quán)限是執(zhí)行一種特殊類型的SQL語(yǔ)句或存取另一用戶的對(duì)象的權(quán)力。有兩類權(quán)限:系統(tǒng)權(quán)限和對(duì)象權(quán)限。1)系統(tǒng)權(quán)限:是執(zhí)行一處特殊動(dòng)作或者在對(duì)象類型上執(zhí)行一種特殊動(dòng)作的權(quán)利。系統(tǒng)權(quán)限可授權(quán)給用戶或角色,一般,系統(tǒng)權(quán)限只授予管理人員和應(yīng)用開發(fā)人員,終端用戶不需要這些相關(guān)功能。2)對(duì)象權(quán)限:在指定的表、視圖、序列、過程、函數(shù)或包上執(zhí)行特殊動(dòng)作的權(quán)利。1.權(quán)限302.角色為相關(guān)權(quán)限的命名組,可授權(quán)給用戶和角色。數(shù)據(jù)庫(kù)角色包含下列功能:(1)一個(gè)角色可授予系統(tǒng)權(quán)限或?qū)ο髾?quán)限。(2)一個(gè)角色可授權(quán)給其它角色,但不能循環(huán)授權(quán)。(3)任何角色可授權(quán)給任何數(shù)據(jù)庫(kù)用戶。(4)授權(quán)給用戶的每一角色可以是可用的或者不可用的。一個(gè)用戶的安全域僅包含當(dāng)前對(duì)該用戶可用的全部角色的權(quán)限。(5)一個(gè)間接授權(quán)角色對(duì)用戶可顯式地使其可用或不可用。在一個(gè)數(shù)據(jù)庫(kù)中,每一個(gè)角色名必須唯一。角色名與用戶不同,角色不包含在任何模式中,所以建立角色的用戶被刪除時(shí)不影響該角色。2.角色31一般,建立角色服務(wù)有兩個(gè)目的:為數(shù)據(jù)庫(kù)應(yīng)用管理權(quán)限和為用戶組管理權(quán)限。相應(yīng)的角色稱為應(yīng)用角色和用戶角色。應(yīng)用角色是授予的運(yùn)行數(shù)據(jù)庫(kù)應(yīng)用所需的全部權(quán)限。用戶角色是為具有公開權(quán)限需求的一組數(shù)據(jù)庫(kù)用戶而建立的。用戶權(quán)限管理是受應(yīng)用角色或權(quán)限授權(quán)給用戶角色所控制,然后將用戶角色授權(quán)給相應(yīng)的用戶。一般,建立角色服務(wù)有兩個(gè)目的:為數(shù)據(jù)庫(kù)應(yīng)用管理權(quán)限和為用戶組32ORACEL利用角色更容易地進(jìn)行權(quán)限管理。有下列優(yōu)點(diǎn):(1)減少權(quán)限管理,不要顯式地將同一權(quán)限組授權(quán)給幾個(gè)用戶,只需將這權(quán)限組授給角色,然后將角色授權(quán)給每一用戶。(2)動(dòng)態(tài)權(quán)限管理,如果一組權(quán)限需要改變,只需修改角色的權(quán)限,所有授給該角色的全部用戶的安全域?qū)⒆詣?dòng)地反映對(duì)角色所作的修改。(3)權(quán)限的選擇可用性,授權(quán)給用戶的角色可選擇地使其可用或不可用。(4)應(yīng)用可知性,當(dāng)用戶經(jīng)用戶名執(zhí)行應(yīng)用時(shí),該數(shù)據(jù)庫(kù)應(yīng)用可查詢字典,將自動(dòng)地選擇使角色可用或不可用。(5)應(yīng)用安全性,角色使用可由口令保護(hù),應(yīng)用可提供正確的口令使用角色,如不知其口令,不能使用角色。ORACEL利用角色更容易地進(jìn)行權(quán)限管理。有下列優(yōu)點(diǎn):33使用CREATEROLE語(yǔ)句可以創(chuàng)建一個(gè)新的角色,執(zhí)行該語(yǔ)句的用戶必須具有CREATEROLE系統(tǒng)權(quán)限。在角色剛剛創(chuàng)建時(shí),它并不具有任何權(quán)限,這時(shí)的角色是沒有用處的。因此,在創(chuàng)建角色之后,通常會(huì)立即為它授予權(quán)限。例如:利用下面的語(yǔ)句創(chuàng)建了一個(gè)名為OPT_ROLE的角色,并且為它授予了一些對(duì)象權(quán)限和系統(tǒng)權(quán)限:CREATEROLEOPT_ROLE;GRANTSELECTONsal_historyTOOPT_ROLE;GRANTINSERT,UPDATEONmount_entryTOOPT_ROLE;GRANTCREATEVIEWTOOPT_ROLE;6.3.2創(chuàng)建角色使用CREATEROLE語(yǔ)句可以創(chuàng)建一個(gè)新的角色,執(zhí)行該語(yǔ)34在創(chuàng)建角色時(shí)必須為角色命名,新建角色的名稱不能與任何數(shù)據(jù)庫(kù)用戶或其他角色的名稱相同。與用戶類似,角色也需要進(jìn)行認(rèn)證。在執(zhí)行CREATEROLE語(yǔ)句創(chuàng)建角色時(shí),默認(rèn)地將使用NOTIDENTIFIED子句,即在激活和禁用角色時(shí)不需要進(jìn)行認(rèn)證。如果需要確保角色的安全性,可以在創(chuàng)建角色時(shí)使用IDENTIFIED子句來設(shè)置角色的認(rèn)證方式。與用戶類似,角色也可以使用兩種方式進(jìn)行認(rèn)證。使用ALTERROLE語(yǔ)句可以改變角色的口令或認(rèn)證方式。例如:利用下面的語(yǔ)句來修改OPT_ROLE角色的口令(假設(shè)角色使用的是數(shù)據(jù)庫(kù)認(rèn)證方式):ALTERROLEOPT_ROLEIDENTIFIEDBYaccts*new;在創(chuàng)建角色時(shí)必須為角色命名,新建角色的名稱不能與任何數(shù)據(jù)庫(kù)用351.授予系統(tǒng)權(quán)限2.授予對(duì)象權(quán)限6.3.3授予權(quán)限或角色3.授予角色1.授予系統(tǒng)權(quán)限2.授予對(duì)象權(quán)限6.3.3授予權(quán)限或角色361.授予系統(tǒng)權(quán)限在GRANT關(guān)鍵字之后指定系統(tǒng)權(quán)限的名稱,然后在TO關(guān)鍵字之后指定接受權(quán)限的用戶名,即可將系統(tǒng)權(quán)限授予指定的用戶。例如:利用下面的語(yǔ)句可以相關(guān)權(quán)限授予用戶chenjie:GRANTCREATEUSER,ALTERUSER,DROPUSERTOchenjieWITHADMINOPTION;1.授予系統(tǒng)權(quán)限372.授予對(duì)象權(quán)限

Oracle對(duì)象權(quán)限指用戶在指定的表上進(jìn)行特殊操作的權(quán)利。在GRANT關(guān)鍵字之后指定對(duì)象權(quán)限的名稱,然后在ON關(guān)鍵字后指定對(duì)象名稱,最后在TO關(guān)鍵字之后指定接受權(quán)限的用戶名,即可將指定對(duì)象的對(duì)象權(quán)限授予指定的用戶。使用一條GRANT語(yǔ)句可以同時(shí)授予用戶多個(gè)對(duì)象權(quán)限,各個(gè)權(quán)限名稱之間用逗號(hào)分隔。有三類對(duì)象權(quán)限可以授予表或視圖中的字段,它們是分別是INSERT,UPDATE和REFERENCES對(duì)象權(quán)限。2.授予對(duì)象權(quán)限38例如:利用下面的語(yǔ)句可以將CUSTOMER表的SELECT和INSERT,UPDATE對(duì)象權(quán)限授予用戶chenqian:GRANTSELECT,INSERT(CUSTOMER_ID,CUSTOMER_name),UPDATE(desc)ONCUSTOMERTOchenqianWITHGRANTOPTION;在授予對(duì)象權(quán)限時(shí),可以使用一次關(guān)鍵字ALL或ALLPRIVILEGES將某個(gè)對(duì)象的所有對(duì)象權(quán)限全部授予指定的用戶。例如:利用下面的語(yǔ)句可以將CUSTOMER表的SEL393.授予角色在GRANT關(guān)鍵字之后指定角色的名稱,然后在TO關(guān)鍵字之后指定用戶名,即可將角色授予指定的用戶。Oracle數(shù)據(jù)庫(kù)系統(tǒng)預(yù)先定義了CONNECT、RESOURCE、DBA、EXP_FULL_DATABASE、IMP_FULL_DATABASE五個(gè)角色。CONNECT具有創(chuàng)建表、視圖、序列等權(quán)限;RESOURCE具有創(chuàng)建過程、觸發(fā)器、表、序列等權(quán)限、DBA具有全部系統(tǒng)權(quán)限;EXP_FULL_DATABASE、IMP_FULL_DATABASE具有卸出與裝入數(shù)據(jù)庫(kù)的權(quán)限。通過查詢sys.dba_sys_privs可以了解每種角色擁有的權(quán)利。3.授予角色40例如:利用下面的語(yǔ)句可以將DBA角色授予用戶chenjie:GRANTDBATOchenjieWITHGRANTOPTION;在同一條GRANT語(yǔ)句中,可以同時(shí)為用戶授予系統(tǒng)權(quán)限和角色。如果在為某個(gè)用戶授予角色時(shí)使用了WITHADMINOPTION選項(xiàng),該用戶將具有如下權(quán)利:(1)將這個(gè)角色授予其他用戶,使用或不使用WITHADMINOPTION選項(xiàng)。(2)從任何具有這個(gè)角色的用戶那里回收該角色。(3)刪除或修改這個(gè)角色。注意:不能使用一條GRANT語(yǔ)句同時(shí)為用戶授予對(duì)象權(quán)限和角色。例如:利用下面的語(yǔ)句可以將DBA角色授予用戶chenjie:41使用REVOKE語(yǔ)句可以回收己經(jīng)授予用戶(或角色)的系統(tǒng)權(quán)限、對(duì)象權(quán)限與角色,執(zhí)行回收權(quán)限操作的用戶同時(shí)必須具有授予相同權(quán)限的能力。例如:利用下面的語(yǔ)句可以回收已經(jīng)授予用戶chenqian的SELECT和UPDATE對(duì)象權(quán)限:REVOKESELECT,UPDATEONCUSTOMERFROMchenqian;利用下面的語(yǔ)句可以回收已經(jīng)授予用戶chenjie的CREATEANYTABLE系統(tǒng)權(quán)限:REVOKECREATEANYTABLEFROMchenjie;利用下面的語(yǔ)句可以回收己經(jīng)授予用戶chenjie的OPT_ROLE角色:REVOKEOPT_ROLEFROMchenjie;6.3.4回收權(quán)限或角色使用REVOKE語(yǔ)句可以回收己經(jīng)授予用戶(或角42在回收對(duì)象權(quán)限時(shí),可以使用關(guān)鍵字ALL或ALLPRIVILEGES將某個(gè)對(duì)象的所有對(duì)象權(quán)限全部回收。例如:利用下面的語(yǔ)句可以回收己經(jīng)授予用戶chenqian的CUSTOMER表的所有對(duì)象權(quán)限:REVOKEALLONCUSTOMERFROMchenjie;在回收對(duì)象權(quán)限時(shí),可以使用關(guān)鍵字ALL或ALLPRIVIL43一個(gè)用戶可以同時(shí)被授予多個(gè)角色,但是并不是所有的這些角色都同時(shí)起作用。角色可以處于兩種狀態(tài):激活狀態(tài)或禁用狀態(tài),禁用狀態(tài)的角色所具有權(quán)限并不生效。當(dāng)用戶連接到數(shù)據(jù)庫(kù)中時(shí),只有他的默認(rèn)角色(DefaultRole)處于激活狀態(tài)。在ALTERUSER角色中使用DEFAULTROLE子句可以改變用戶的默認(rèn)角色。例如:如果要將用戶所擁有的一個(gè)角色設(shè)置為默認(rèn)角色,可以使用下面的語(yǔ)句:ALTERUSERchenjieDEFAULTROLEconnect,OPT_ROLE;6.3.5激活和禁用角色一個(gè)用戶可以同時(shí)被授予多個(gè)角色,但是并不是所有的這44在用戶會(huì)話的過程中,還可以使用SETROLE語(yǔ)句來激活或禁用他所擁有的角色。用戶所同時(shí)激活的最大角色數(shù)目由初始化參數(shù)ENABLEDROLES決定(默認(rèn)值為20)。如果角色在創(chuàng)建時(shí)使用了IDENTIFIEDBY子句,則在使用SETROLE語(yǔ)句激活角色時(shí)也需要在IDENTIFIEDBY子句中提供口令。如果要激活用戶所擁有的所有角色,可以使用下面的語(yǔ)句:SETROLEALL;在用戶會(huì)話的過程中,還可以使用SETROLE語(yǔ)456.4.2激活和禁用資源限制

6.4.3管理概要文件

6.4.1概要文件中的參數(shù)

6.4概要文件6.4.2激活和禁用資源限制6.4.3管理概要461.資源限制參數(shù)2.口令策略參數(shù)6.4.1概要文件中的參數(shù)1.資源限制參數(shù)2.口令策略參數(shù)6.4.1概要文件中的參471.資源限制參數(shù)資源參數(shù)的值可以是一個(gè)整數(shù),也可以是UNLIMITED或DEFAULT即使用默認(rèn)概要文件中的參數(shù)設(shè)置。大部分資源限制都可以在兩個(gè)級(jí)別進(jìn)行:會(huì)話級(jí)或調(diào)用級(jí)。會(huì)話級(jí)資源限制是對(duì)用戶在一個(gè)會(huì)話過程中所能使用的資源進(jìn)行的限制,而調(diào)用級(jí)資源限制是對(duì)一條SQL語(yǔ)句在執(zhí)行過程中所能使用的資源進(jìn)行的限制。當(dāng)會(huì)話或一條SQL語(yǔ)句占用的資源超過概要文件中的限制時(shí),Oracle將中止并回退當(dāng)前的操作,然后向用戶返回錯(cuò)誤信息。這時(shí)用戶仍然有機(jī)會(huì)提交或回退當(dāng)前的事務(wù)。如果受到的是會(huì)話級(jí)限制,在提交或回退事務(wù)后用戶會(huì)話被中止(斷開連接),但是如果受到的是調(diào)用級(jí)限制,用戶會(huì)話還能夠繼續(xù)進(jìn)行,只是當(dāng)前執(zhí)行的SQL語(yǔ)句被終止。1.資源限制參數(shù)48以下為概要文件中使用的各種資源參數(shù):①SESSIONS_PER_USER:該參數(shù)限制每個(gè)用戶所允許建立的最大并發(fā)會(huì)話數(shù)目。達(dá)到這個(gè)限制時(shí),用戶不能再建立任何數(shù)據(jù)庫(kù)連接。②CPU_PER_SESSION:該參數(shù)限制每個(gè)會(huì)話所能使用的CPU時(shí)間。③CPU_PER_CALL:該參數(shù)限制每條SQL語(yǔ)句所能使用的CPU時(shí)間。④LAGICAL_READS_PER_SESSION:該參數(shù)限制每個(gè)會(huì)話所能讀取的數(shù)據(jù)塊數(shù)目,包括從內(nèi)存中讀取的數(shù)據(jù)塊和從硬盤中讀取的數(shù)據(jù)塊。以下為概要文件中使用的各種資源參數(shù):49⑤LAGICAL_READS_PER_CALL:該參數(shù)限制每條SQL語(yǔ)句所能讀取的數(shù)據(jù)塊數(shù)目,包括從內(nèi)存中讀取的數(shù)據(jù)塊和從硬盤中讀取的數(shù)據(jù)塊。⑥CONNECT_TIME:該參數(shù)限制每個(gè)會(huì)話能連接到數(shù)據(jù)庫(kù)的最長(zhǎng)時(shí)間。當(dāng)連接時(shí)間達(dá)到該參數(shù)的限制時(shí),.用戶會(huì)話將自動(dòng)斷開。⑦IDLE_TIME:該參數(shù)限制每個(gè)會(huì)話所允許的最大連續(xù)空閑時(shí)間。如果一個(gè)會(huì)話持續(xù)的空閑時(shí)間達(dá)到該參數(shù)的限制,該會(huì)話將自動(dòng)斷開。⑧COMPOSITE_LIMIT:該參數(shù)用于設(shè)置“組合資源限制”。⑨PRIVATE_SGA:在共享服務(wù)器操作模式下,執(zhí)行SQL語(yǔ)句和PL/SQL語(yǔ)句時(shí),Oracle將在SGA中創(chuàng)建私有SQL區(qū)。該參數(shù)限制在SGA中為每個(gè)會(huì)話所能分配的最大私有SQL區(qū)大小。在專用服務(wù)器操作模式下,該參數(shù)不起作用。⑤LAGICAL_READS_PER_CALL:該參數(shù)限制每502.口令策略參數(shù)使用概要文件可以實(shí)現(xiàn)如下三種口令策略:(1)賬戶的鎖定賬戶鎖定策略是指用戶在連續(xù)輸入多少次錯(cuò)誤的口令后,將由Oracle自動(dòng)鎖定用戶的賬戶,并且可以設(shè)置賬戶鎖定的時(shí)間。(2)口令的過期時(shí)間口令過期策略用于強(qiáng)制用戶定期修改自己的口令。當(dāng)口令過期后,Oracle將隨時(shí)提醒用戶修改口令。如果用戶仍然不修改自己的口令,Oracle將使他的口令失效。2.口令策略參數(shù)51(3)口令的復(fù)雜度在概要文件中可以通過指定的函數(shù)來強(qiáng)制用戶的口令必須具有一定的復(fù)雜度。以下為在概要文件中使用的各種口令參數(shù):①FAILED_LOGIN_ATTEMPTS:該參數(shù)指定允許的輸入錯(cuò)誤口令的次數(shù),超過該次數(shù)后用戶賬戶被自動(dòng)鎖定。②PASSWORD_LOCK_TIME:該參數(shù)指定用戶賬戶由于口令輸入錯(cuò)誤而被鎖定后,持續(xù)保持鎖定狀態(tài)的時(shí)間。③PASSWORD_LIFE_TIME:該參數(shù)指定同一個(gè)用戶口令可以持續(xù)使用的時(shí)間。如果在達(dá)到這個(gè)限制之前用戶還沒有更換另外一個(gè)口令,他的口令將失效。這時(shí)必須由DBA為他重新設(shè)置新的口令。(3)口令的復(fù)雜度52④PASSWORD_GRACE_TIME:該參數(shù)指定用戶口令過期的時(shí)間。如果在達(dá)到這個(gè)限制之前用戶還沒有更換另外一個(gè)口令,Oracle將對(duì)他提出警告。在口令過期之后,用戶在達(dá)到PASSWORD_LIFE_TIME參數(shù)的限制之前有機(jī)會(huì)主動(dòng)修改口令。⑤PASSWORD_REUSE_TIME:該參數(shù)指定用戶在能夠重復(fù)使用一個(gè)口令前必須經(jīng)過的時(shí)間。⑥PASSWORD_REUSE_MAX:該參數(shù)指定用戶在能夠重復(fù)使用一個(gè)口令之前必須對(duì)口令進(jìn)行修改的次數(shù)。PASSWORD_REUSE_TIME參數(shù)和PASSWORD_REUSE_MAX參數(shù)只能設(shè)置一個(gè),而另一個(gè)參數(shù)必須指定為UNLIMITED。⑦PASSWORD_VERIFY_FUNCTION:該參數(shù)指定用于驗(yàn)證用戶口令復(fù)雜度的函數(shù)。Oracle通過一個(gè)內(nèi)置腳本提供了一個(gè)默認(rèn)函數(shù)用于驗(yàn)證用戶口令的復(fù)雜度,所有指定時(shí)間的口令參數(shù)都以天為單位。④PASSWORD_GRACE_TIME:該參數(shù)指定用戶口令53修改數(shù)據(jù)庫(kù)的資源限制狀態(tài)有兩種方式:在數(shù)據(jù)庫(kù)啟動(dòng)之前,可以通過設(shè)置初始化參數(shù)RESOURCE_LIMIT來決定資源限制的狀態(tài)。如果RESOURCELIMIT參數(shù)設(shè)置為TRUE,啟動(dòng)數(shù)據(jù)庫(kù)后資源限制將處于激活狀態(tài);反之如果RESOURCELIMIT參數(shù)設(shè)置為FALSE,啟動(dòng)數(shù)據(jù)庫(kù)后資源限制將處于禁用狀態(tài)。默認(rèn)情況下,RESOURCE_LIMIT參數(shù)為FALSE。在數(shù)據(jù)庫(kù)啟動(dòng)之后(處于打開狀態(tài)),可以使用ALTERSYSTEM語(yǔ)句來改變資源限制的狀態(tài),執(zhí)行該語(yǔ)句的用戶必須具有ALTERSYSTEM系統(tǒng)權(quán)限。6.4.2激活和禁用資源限制修改數(shù)據(jù)庫(kù)的資源限制狀態(tài)有兩種方式:6.4.2激活和禁用54例如:利用下面的語(yǔ)句可以將資源限制由禁用狀態(tài)切換到激活狀態(tài):ALTERSYSTEMSETRESOURCE_LIMIT=TRUE;如果在數(shù)據(jù)庫(kù)中使用了服務(wù)器端初始化參數(shù)文件(SPFILE),在使用ALTERSYSTEM語(yǔ)句改變資源限制的狀態(tài)時(shí),可以選擇在初始化參數(shù)文件中修改記錄(默認(rèn)的ALTERSYSTEM語(yǔ)句將使用SCOPE=BOTH子句),這樣在下一次啟動(dòng)數(shù)據(jù)庫(kù)時(shí)修改仍然有效。例如:利用下面的語(yǔ)句可以將資源限制由禁用狀態(tài)切換到激活狀態(tài):551.創(chuàng)建概要文件2.修改概要文件6.4.3管理概要文件3.刪除概要文件4.指定概要文件

5.設(shè)置組合資源限制1.創(chuàng)建概要文件2.修改概要文件6.4.3管理概要文件3561.創(chuàng)建概要文件使用CREATEPROFILE語(yǔ)句可以創(chuàng)建概要文件,執(zhí)行該語(yǔ)句的用戶必須具有CREATEPROFILE系統(tǒng)權(quán)限。DBA可以根據(jù)需要使用下面的語(yǔ)句來修改DEFAULT概要文件中的參數(shù)設(shè)置:ALTERPROFILEDEFAULTLIMIT...;要修改DEFAULT概要文件,用戶必須具有ALTERPROFILE系統(tǒng)權(quán)限。任何用戶都不能刪除DEFAULT概要文件。1.創(chuàng)建概要文件572.修改概要文件概要文件在創(chuàng)建之后,可以使用ALTERPROFILE語(yǔ)句來修改其中的資源參數(shù)和口令參數(shù),執(zhí)行該語(yǔ)句的用戶必須具有ALTERPROFILE系統(tǒng)權(quán)限。例如:利用下面的語(yǔ)句對(duì)概要文件ACCOUNTING_USER進(jìn)行修改:ALTERPROFILEACCOUNTINGUSERLIMITCPU_PER_CALLDEFAULTLOGICAL_READS_PER_SESSION2000000;2.修改概要文件583.刪除概要文件使用DROPPROFILE語(yǔ)句可以刪除概要文件,執(zhí)行該語(yǔ)句的用戶必須具有DROPPROFILE系統(tǒng)權(quán)限。如果要?jiǎng)h除的概要文件已經(jīng)指定給了用戶,則必須在DROPPROFILE語(yǔ)句中使用CASCADE關(guān)鍵字。例如:利用下面的語(yǔ)句可以刪除ACCOUNTING_USER概要文件:DROPPROFILEACCOUNTING_USERCASCADE;如果為用戶所指定的概要文件己經(jīng)被刪除,Oracle將自動(dòng)為用戶重新指定DEFAULT概要文件。3.刪除概要文件594.指定概要文件在使用CREATEUSER語(yǔ)句創(chuàng)建用戶時(shí),可以通過PROFILE子句為新建用戶指定概要文件。另外,在使用ALTERUSER語(yǔ)句修改用戶時(shí)也可以為他指定概要文件。例如:利用下面的語(yǔ)句可以將概要文件ACCOUNTINGUSER指定給用戶JACK:ALTERUSERJACKPROFILEACCOUNTING_USER;4.指定概要文件605.設(shè)置組合資源限制在創(chuàng)建概要文件時(shí)通過COMPOSITELIMIT子句來指定資源總限額。例如:利用下面的語(yǔ)句創(chuàng)建的概要文件中將資源總限額設(shè)置為20000:CREATEPROFILEclerkLIMITCOMPOSITE_LIMIT20000SESSIONS_PER_USER2CPU_PER_CALL1000;注意:在一個(gè)概要文件中設(shè)置的資源總限額和單獨(dú)資源限制是同時(shí)起作用的。當(dāng)會(huì)話所占用的資源達(dá)到其中一個(gè)限制時(shí),會(huì)話將被終止。如果沒有在概要文件中顯式地設(shè)置資源總限額,默認(rèn)的總限額值為0,這時(shí)組合資源限制不會(huì)起作用。5.設(shè)置組合資源限制616.5.2審計(jì)的使用

6.5.1審計(jì)的功能

6.5數(shù)據(jù)審計(jì)6.5.2審計(jì)的使用6.5.1626.5.1審計(jì)的功能審計(jì)是對(duì)選定的用戶動(dòng)作的監(jiān)控和記錄,通常用于:(1)審查可疑的活動(dòng)。例如:數(shù)據(jù)被非授權(quán)用戶所刪除,此時(shí)安全管理員可決定對(duì)該數(shù)據(jù)庫(kù)的所有連接進(jìn)行審計(jì),以及對(duì)數(shù)據(jù)庫(kù)的所有表的成功地或不成功地刪除進(jìn)行審計(jì)。(2)監(jiān)視和收集關(guān)于指定數(shù)據(jù)庫(kù)活動(dòng)的數(shù)據(jù)。6.5.1審計(jì)的功能審計(jì)是對(duì)選定的用戶動(dòng)作的監(jiān)控和記錄,63Oracle支持三種審計(jì)類型:語(yǔ)句審計(jì),對(duì)某種類型的SQL語(yǔ)句審計(jì),不指定結(jié)構(gòu)或?qū)ο?。?quán)限審計(jì),對(duì)執(zhí)行相應(yīng)動(dòng)作的系統(tǒng)權(quán)限的使用審計(jì)。對(duì)象審計(jì),對(duì)一特殊模式對(duì)象上的指定語(yǔ)句的審計(jì)。Oracle支持三種審計(jì)類型:64

Oracle所允許的審計(jì)選擇限于下列方面:審計(jì)語(yǔ)句的成功執(zhí)行、不成功執(zhí)行,或者其兩者。對(duì)每一用戶會(huì)話審計(jì)語(yǔ)句執(zhí)行一次或者對(duì)語(yǔ)句每次執(zhí)行審計(jì)一次。對(duì)全部用戶或指定用戶的活動(dòng)的審計(jì)。Oracle所允許的審計(jì)選擇限于下列方面:65

1.審計(jì)登錄

2.審計(jì)數(shù)據(jù)庫(kù)操作6.5.2審計(jì)的使用

3.審計(jì)數(shù)據(jù)庫(kù)對(duì)象上的DML1.審計(jì)登錄2.審計(jì)數(shù)據(jù)661.審計(jì)登錄AUDITANY特權(quán)是發(fā)出審計(jì)命令所必須的。AUDITSESSION——完成審計(jì)登錄。可以用來對(duì)所有成功和不成功的與數(shù)據(jù)庫(kù)建立連接的嘗試進(jìn)行審計(jì)。AUDITSESSIONWHENEVERNOTSUCCESSFUL——僅審計(jì)不成功的嘗試。AUDITSESSIONWHENEVERSUCCESSFUL——僅審計(jì)成功的嘗試。如果審計(jì)數(shù)據(jù)存儲(chǔ)在SYS.AUD$表中,可以生成審計(jì)報(bào)表。使用DBA_AUDIT_SESSION視圖報(bào)告登錄。1.審計(jì)登錄67

2.審計(jì)數(shù)據(jù)庫(kù)操作通過審計(jì)數(shù)據(jù)庫(kù)操作,可以在語(yǔ)句和系統(tǒng)特權(quán)級(jí)上進(jìn)行審計(jì),而不必考慮具體的數(shù)據(jù)庫(kù)對(duì)象。AUDIT語(yǔ)句的審計(jì)功能特性能夠?qū)徲?jì)不止一條SQL語(yǔ)句。例如,使用審計(jì)語(yǔ)句ROLE審計(jì)SQL語(yǔ)句CREATEROLE、ALTERROLE、SETROLE和DROPROLE。要審計(jì)系統(tǒng)特權(quán),必須指定該特權(quán)。系統(tǒng)特權(quán)ALTERDATABASE不包含在語(yǔ)句審計(jì)選項(xiàng)中,但是仍然可以審計(jì)它,因?yàn)樗且粋€(gè)系統(tǒng)特權(quán)。有些語(yǔ)句審計(jì)選項(xiàng)使用與系統(tǒng)特權(quán)相同的名稱。可以把AUDIT語(yǔ)句用于用戶、會(huì)話或存取??梢赃M(jìn)一步地定義它以便僅對(duì)成功或不成功的語(yǔ)句進(jìn)行審計(jì)。2.審計(jì)數(shù)據(jù)庫(kù)操作683.審計(jì)數(shù)據(jù)庫(kù)對(duì)象上的DML可以使用如下語(yǔ)法審計(jì)一個(gè)具體的模式對(duì)象:AUDITobj_optONschema.objectBYSESSION/ACCESSWHENEVERNOT/SUCCESSFUL;也可以指定一個(gè)對(duì)象選項(xiàng)(例如插入或更新)或者使用關(guān)鍵字ALL來指定所有的對(duì)象選項(xiàng)。3.審計(jì)數(shù)據(jù)庫(kù)對(duì)象上的DML69Oracle的安全管理Oracle的安全管理70本章學(xué)習(xí)目標(biāo)

數(shù)據(jù)庫(kù)安全性問題一直是人們關(guān)注的焦點(diǎn),數(shù)據(jù)庫(kù)數(shù)據(jù)的丟失以及數(shù)據(jù)庫(kù)被非法用戶的侵入對(duì)于任何一個(gè)應(yīng)用系統(tǒng)來說都是至關(guān)重要的問題。確保信息安全的重要基礎(chǔ)在于數(shù)據(jù)庫(kù)的安全性能。第六章Oracle的安全管理本章學(xué)習(xí)目標(biāo)第六章Oracle的安全管理71本章內(nèi)容安排6.1Oracle9i的安全保障機(jī)制

6.2用戶管理

6.3權(quán)限和角色

6.4概要文件

6.5數(shù)據(jù)審計(jì)

本章內(nèi)容安排6.1Oracle9i的安全保726.1Oracle9i的安全保障機(jī)制6.1.1安全性內(nèi)容

6.1.2安全性策略

6.1Oracle9i的安全保障機(jī)制6.1.1安全性73數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù)以防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞。在數(shù)據(jù)庫(kù)存儲(chǔ)這一級(jí)可采用密碼技術(shù),當(dāng)物理存儲(chǔ)設(shè)備失竊后,它起到保密作用。在數(shù)據(jù)庫(kù)系統(tǒng)這一級(jí)中提供兩種控制:用戶標(biāo)識(shí)和鑒定,數(shù)據(jù)存取控制。數(shù)據(jù)庫(kù)安全可分為二類:系統(tǒng)安全性和數(shù)據(jù)安全性。系統(tǒng)安全性是指在系統(tǒng)級(jí)控制數(shù)據(jù)庫(kù)的存取和使用的機(jī)制,包含:(1)有效的用戶名/口令的組合。(2)一個(gè)用戶是否授權(quán)可連接數(shù)據(jù)庫(kù)。(3)用戶對(duì)象可用的磁盤空間的數(shù)量。(4)用戶的資源限制。(5)數(shù)據(jù)庫(kù)審計(jì)是否是有效的。(6)用戶可執(zhí)行哪些系統(tǒng)操作。6.1.1安全性內(nèi)容數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù)以防止不合法的使用所造成的數(shù)據(jù)泄74在Oracle多用戶數(shù)據(jù)庫(kù)系統(tǒng)中,安全機(jī)制作下列工作:(1)防止非授權(quán)的數(shù)據(jù)庫(kù)存取。(2)防止非授權(quán)的對(duì)模式對(duì)象的存取。(3)控制磁盤使用。(4)控制系統(tǒng)資源使用。(5)審計(jì)用戶動(dòng)作。用戶要存取一對(duì)象必須有相應(yīng)的權(quán)限授給該用戶。已授權(quán)的用戶可任意地可將它授權(quán)給其它用戶,由于這個(gè)原因,這種安全性類型叫做任意型。Oracle利用下列機(jī)制管理數(shù)據(jù)庫(kù)安全性:數(shù)據(jù)庫(kù)用戶和模式權(quán)限角色存儲(chǔ)設(shè)置和空間份額資源限制審計(jì)在Oracle多用戶數(shù)據(jù)庫(kù)系統(tǒng)中,安全機(jī)制作下列工作:75

1.系統(tǒng)安全性策略

2.用戶安全性策略6.1.2安全性策略

3.?dāng)?shù)據(jù)庫(kù)管理者安全性策略4.應(yīng)用程序開發(fā)者的安全性策略1.系統(tǒng)安全性策略2.用戶安全性策略6.1.2安76系統(tǒng)安全性策略(1)管理數(shù)據(jù)庫(kù)用戶(2)用戶身份確認(rèn)(3)操作系統(tǒng)安全性1)數(shù)據(jù)庫(kù)管理員必須有create和delete文件的操作系統(tǒng)權(quán)限。2)一般數(shù)據(jù)庫(kù)用戶不應(yīng)該有create或delete與數(shù)據(jù)庫(kù)相關(guān)文件的操作系統(tǒng)權(quán)限。3)如果操作系統(tǒng)能為數(shù)據(jù)庫(kù)用戶分配角色,那么安全性管理者必須有修改操作系統(tǒng)帳戶安全性區(qū)域的操作系統(tǒng)權(quán)限。系統(tǒng)安全性策略772.用戶安全性策略(1)一般用戶的安全性1)密碼的安全性2)權(quán)限管理(2)終端用戶的安全性2.用戶安全性策略783.數(shù)據(jù)庫(kù)管理者安全性策略(1)保護(hù)作為sys和system用戶的連接(2)保護(hù)管理者與數(shù)據(jù)庫(kù)的連接(3)使用角色對(duì)管理者權(quán)限進(jìn)行管理3.數(shù)據(jù)庫(kù)管理者安全性策略794.應(yīng)用程序開發(fā)者的安全性策略(1)應(yīng)用程序開發(fā)者和他們的權(quán)限(2)應(yīng)用程序開發(fā)者的環(huán)境1)程序開發(fā)者不應(yīng)與終端用戶競(jìng)爭(zhēng)數(shù)據(jù)庫(kù)資源;2)程序開發(fā)者不能損害數(shù)據(jù)庫(kù)其他應(yīng)用產(chǎn)品。(3)應(yīng)用程序開發(fā)者的空間限制作為數(shù)據(jù)庫(kù)安全性管理者,應(yīng)該特別地為每個(gè)應(yīng)用程序開發(fā)者設(shè)置以下的一些限制:1)開發(fā)者可以創(chuàng)建table或index的表空間;2)在每一個(gè)表空間中,開發(fā)者所擁有的空間份額。4.應(yīng)用程序開發(fā)者的安全性策略806.2.2創(chuàng)建用戶

6.2.3修改用戶

6.2.4刪除用戶

6.2.1數(shù)據(jù)庫(kù)的存取控制

6.2用戶管理6.2.2創(chuàng)建用戶6.2.811.用戶鑒別2.用戶的表空間設(shè)置和定額6.2.1數(shù)據(jù)庫(kù)的存取控制3.用戶資源限制和環(huán)境文件4.用戶環(huán)境文件1.用戶鑒別2.用戶的表空間設(shè)置和定額6.2.1數(shù)據(jù)庫(kù)的82用戶鑒別為了防止非授權(quán)的數(shù)據(jù)庫(kù)用戶的使用,Oracle提供三種確認(rèn)方法:操作系統(tǒng)確認(rèn),Oracle數(shù)據(jù)庫(kù)確認(rèn)和網(wǎng)絡(luò)服務(wù)確認(rèn)。由操作系統(tǒng)鑒定用戶的優(yōu)點(diǎn)是:1)用戶能更快,更方便地聯(lián)入數(shù)據(jù)庫(kù)。2)通過操作系統(tǒng)對(duì)用戶身份確認(rèn)進(jìn)行集中控制:如果操作系統(tǒng)與數(shù)據(jù)庫(kù)用戶信息一致,那么Oracle無須存儲(chǔ)和管理用戶名以及密碼。3)用戶進(jìn)入數(shù)據(jù)庫(kù)和操作系統(tǒng)審計(jì)信息一致。用戶鑒別83

2.用戶的表空間設(shè)置和定額

關(guān)于表空間的使用有幾種設(shè)置選擇:用戶的缺省表空間用戶的臨時(shí)表空間數(shù)據(jù)庫(kù)表空間的空間使用定額2.用戶的表空間設(shè)置和定額843.用戶資源限制和環(huán)境文件用戶可用的各種系統(tǒng)資源總量的限制是用戶安全域的部分。利用顯式地設(shè)置資源限制,安全管理員可防止用戶無控制地消耗寶貴的系統(tǒng)資源。資源限制是由環(huán)境文件管理。一個(gè)環(huán)境文件是命名的一組賦給用戶的資源限制。另外Oracle為安全管理員在數(shù)據(jù)庫(kù)提供是否對(duì)環(huán)境文件資源限制的選擇。Oracle可限制幾種類型的系統(tǒng)資源的使用,每種資源可在會(huì)話級(jí)、調(diào)用級(jí)或兩者上控制。3.用戶資源限制和環(huán)境文件85在會(huì)話級(jí):每一次用戶連接到一數(shù)據(jù)庫(kù),建立一會(huì)話。每一個(gè)會(huì)話在執(zhí)行SQL語(yǔ)句的計(jì)算機(jī)上耗費(fèi)CPU時(shí)間和內(nèi)存量進(jìn)行限制。在調(diào)用級(jí):在SQL語(yǔ)句執(zhí)行時(shí),處理該語(yǔ)句有幾步,為了防止過多地調(diào)用系統(tǒng),Oracle在調(diào)用級(jí)可設(shè)置幾種資源限制。在會(huì)話級(jí):每一次用戶連接到一數(shù)據(jù)庫(kù),建立一會(huì)話。每一個(gè)會(huì)話在86有下列資源限制:(1)為了防止無控制地使用CPU時(shí)間,Oracle可限制每次Oracle調(diào)用的CPU時(shí)間和在一次會(huì)話期間Oracle調(diào)用所使用的CPU的時(shí)間,以0.01秒為單位。(2)為了防止過多的I/O,Oracle可限制每次調(diào)用和每次會(huì)話的邏輯數(shù)據(jù)塊讀的數(shù)目。(3)Oracle在會(huì)話級(jí)還提供其它幾種資源限制。每個(gè)用戶的并行會(huì)話數(shù)的限制。會(huì)話空閑時(shí)間的限制,如果一次會(huì)話的Oracle調(diào)用之間時(shí)間達(dá)到該空閑時(shí)間,當(dāng)前事務(wù)被回滾,會(huì)話被中止,會(huì)話資源返回給系統(tǒng)。每次會(huì)話可消逝時(shí)間的限制,如果一次會(huì)話期間超過可消逝時(shí)間的限制,當(dāng)前事務(wù)被回滾,會(huì)話被刪除,該會(huì)話的資源被釋放。每次會(huì)話的專用SGA空間量的限制。有下列資源限制:874.用戶環(huán)境文件用戶環(huán)境文件是指定資源限制的命名集,可賦給Oracle數(shù)據(jù)庫(kù)的有效的用戶。利用用戶環(huán)境文件可容易地管理資源限制。在許多情況中決定用戶的環(huán)境文件的合適資源限制的最好的方法是收集每種資源使用的歷史信息。4.用戶環(huán)境文件886.2.2創(chuàng)建用戶使用CREATEUSER語(yǔ)句可以創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)用戶,執(zhí)行該語(yǔ)句的用戶必須具有CREATEUSER系統(tǒng)權(quán)限。在創(chuàng)建用戶時(shí)必須指定用戶的認(rèn)證方式。一般會(huì)通過Oracle數(shù)據(jù)庫(kù)對(duì)用戶身份進(jìn)行驗(yàn)證,即采用數(shù)據(jù)庫(kù)認(rèn)證方式。在這種情況下,創(chuàng)建用戶時(shí)必須為新用戶指定一個(gè)口令,口令以加密方式保存在數(shù)據(jù)庫(kù)中。當(dāng)用戶連接數(shù)據(jù)庫(kù)時(shí),Oracle從數(shù)據(jù)庫(kù)中提取口令來對(duì)用戶的身份進(jìn)行驗(yàn)證。

6.2.2創(chuàng)建用戶使用CREATEUSER語(yǔ)句可以創(chuàng)建89

使用IDENTIFIEDBY子句為用戶設(shè)置口令,這時(shí)用戶將通過數(shù)據(jù)庫(kù)來進(jìn)行身份認(rèn)證。如果要通過操作系統(tǒng)來對(duì)用戶進(jìn)行身份認(rèn)證,則必須使用IDENTIFIEDEXTERNALBY子句。使用DEFAULTTABLESPACE子句為用戶指定默認(rèn)表空間。如果沒有指定默認(rèn)表空間,Oracle會(huì)把SYSTEM表空間作為用戶的默認(rèn)表空間。為用戶指定了默認(rèn)表空間之后,還必須使用QUOTA子句來為用戶在默認(rèn)表空間中分配的空間配額。使用IDENTIFIEDBY子句為用戶設(shè)置口令,這時(shí)用戶90

此外,常用的一些子句有:①TEMPORARYTABLESPACE子句:為用戶指定臨時(shí)表空間。②PROFILE子句:為用戶指定一個(gè)概要文件。如果沒有為用戶顯式地指定概要文件,Oracle將自動(dòng)為他指定DEFAULT概要文件。③DEFAULTROLE子句:為用戶指定默認(rèn)的角色。④PASSWORDEXPIRE子句:設(shè)置用戶口令的初始狀態(tài)為過期。⑤ACCOUNTLOCK子句:設(shè)置用戶賬戶的初始狀態(tài)為鎖定,缺省為:ACCOUNTUNLOCK。在建立新用戶之后,通常會(huì)需要使用GRANT語(yǔ)句為他授予CREATESESSION系統(tǒng)權(quán)限,使他具有連接到數(shù)據(jù)庫(kù)中的能力?;?yàn)樾掠脩糁苯邮谟鐿racle中預(yù)定義的CONNECT角色。此外,常用的一些子句有:916.2.3修改用戶在創(chuàng)建用戶之后,可以使用ALTERUSER語(yǔ)句對(duì)用戶進(jìn)行修改,執(zhí)行該語(yǔ)句的用戶必須具有ALTERUSER系統(tǒng)權(quán)限。例如:利用下面的語(yǔ)句可以修改用戶chenjie的認(rèn)證方式、默認(rèn)表空間、空間配額:ALTERUSERchenjieIDENTIFIEDBYchenjie_pwQUATA10MONmbl_tbs;6.2.3修改用戶在創(chuàng)建用戶之后,可以使用ALTERU92

ALTERUSER語(yǔ)句最常用的情況是用來修改用戶自己的口令,任何用戶都可以使用ALTERUSER…IDENTIFIEDBY語(yǔ)句來修改自己的口令,而不需要具有任何其他權(quán)限。但是如果要修改其他用戶的口令,則必須具有ALTERUSER系統(tǒng)權(quán)限。ALTERUSER語(yǔ)句最常用的情況是用來修改用戶自己的口93

DBA還會(huì)經(jīng)常使用ALTERUSER語(yǔ)句鎖定或解鎖用戶賬戶。例如:ALTERUSERchenjieACCOUNTLOCK;ALTERUSERchenjieACCOUNTUNLOCK;DBA還會(huì)經(jīng)常使用ALTERUSER語(yǔ)句鎖定或解鎖用戶賬946.2.4刪除用戶使用DROPUSER語(yǔ)句可以刪除已有的用戶,執(zhí)行該語(yǔ)句的用戶必須具有DROPUSER系統(tǒng)權(quán)限。如果用戶當(dāng)前正連接到數(shù)據(jù)庫(kù)中,則不能刪除這個(gè)用戶。要?jiǎng)h除已連接的用戶,首先必須使用ALTERSYSTEM…KILLSESSION語(yǔ)句終止他的會(huì)話,然后再使用DROPUSER語(yǔ)句將其刪除。6.2.4刪除用戶使用DROPUSER語(yǔ)句可以刪除已有95如果要?jiǎng)h除的用戶模式中包含有模式對(duì)象,必須在DROPUSER子句中指定CASCADE關(guān)鍵字,否則Oracle將返回錯(cuò)誤信息。例如:利用下面的語(yǔ)句將刪除用戶chenjie,并且同時(shí)刪除他所擁有的所有表、索引等模式對(duì)象:DROPUSERchenjieCASCADE;如果要?jiǎng)h除的用戶模式中包含有模式對(duì)象,必須在DROPUSE966.3.2創(chuàng)建角色

6.3.3授予權(quán)限或角色

6.3.4回收權(quán)限或角色

6.3.1基本概念

6.3權(quán)限和角色

6.3.5激活和禁用角色

6.3.2創(chuàng)建角色6.3.3授予權(quán)限或角色971.權(quán)限2.角色6.3.1基本概念1.權(quán)限2.角色6.3.1基本概念981.權(quán)限

權(quán)限是執(zhí)行一種特殊類型的SQL語(yǔ)句或存取另一用戶的對(duì)象的權(quán)力。有兩類權(quán)限:系統(tǒng)權(quán)限和對(duì)象權(quán)限。1)系統(tǒng)權(quán)限:是執(zhí)行一處特殊動(dòng)作或者在對(duì)象類型上執(zhí)行一種特殊動(dòng)作的權(quán)利。系統(tǒng)權(quán)限可授權(quán)給用戶或角色,一般,系統(tǒng)權(quán)限只授予管理人員和應(yīng)用開發(fā)人員,終端用戶不需要這些相關(guān)功能。2)對(duì)象權(quán)限:在指定的表、視圖、序列、過程、函數(shù)或包上執(zhí)行特殊動(dòng)作的權(quán)利。1.權(quán)限992.角色為相關(guān)權(quán)限的命名組,可授權(quán)給用戶和角色。數(shù)據(jù)庫(kù)角色包含下列功能:(1)一個(gè)角色可授予系統(tǒng)權(quán)限或?qū)ο髾?quán)限。(2)一個(gè)角色可授權(quán)給其它角色,但不能循環(huán)授權(quán)。(3)任何角色可授權(quán)給任何數(shù)據(jù)庫(kù)用戶。(4)授權(quán)給用戶的每一角色可以是可用的或者不可用的。一個(gè)用戶的安全域僅包含當(dāng)前對(duì)該用戶可用的全部角色的權(quán)限。(5)一個(gè)間接授權(quán)角色對(duì)用戶可顯式地使其可用或不可用。在一個(gè)數(shù)據(jù)庫(kù)中,每一個(gè)角色名必須唯一。角色名與用戶不同,角色不包含在任何模式中,所以建立角色的用戶被刪除時(shí)不影響該角色。2.角色100一般,建立角色服務(wù)有兩個(gè)目的:為數(shù)據(jù)庫(kù)應(yīng)用管理權(quán)限和為用戶組管理權(quán)限。相應(yīng)的角色稱為應(yīng)用角色和用戶角色。應(yīng)用角色是授予的運(yùn)行數(shù)據(jù)庫(kù)應(yīng)用所需的全部權(quán)限。用戶角色是為具有公開權(quán)限需求的一組數(shù)據(jù)庫(kù)用戶而建立的。用戶權(quán)限管理是受應(yīng)用角色或權(quán)限授權(quán)給用戶角色所控制,然后將用戶角色授權(quán)給相應(yīng)的用戶。一般,建立角色服務(wù)有兩個(gè)目的:為數(shù)據(jù)庫(kù)應(yīng)用管理權(quán)限和為用戶組101ORACEL利用角色更容易地進(jìn)行權(quán)限管理。有下列優(yōu)點(diǎn):(1)減少權(quán)限管理,不要顯式地將同一權(quán)限組授權(quán)給幾個(gè)用戶,只需將這權(quán)限組授給角色,然后將角色授權(quán)給每一用戶。(2)動(dòng)態(tài)權(quán)限管理,如果一組權(quán)限需要改變,只需修改角色的權(quán)限,所有授給該角色的全部用戶的安全域?qū)⒆詣?dòng)地反映對(duì)角色所作的修改。(3)權(quán)限的選擇可用性,授權(quán)給用戶的角色可選擇地使其可用或不可用。(4)應(yīng)用可知性,當(dāng)用戶經(jīng)用戶名執(zhí)行應(yīng)用時(shí),該數(shù)據(jù)庫(kù)應(yīng)用可查詢字典,將自動(dòng)地選擇使角色可用或不可用。(5)應(yīng)用安全性,角色使用可由口令保護(hù),應(yīng)用可提供正確的口令使用角色,如不知其口令,不能使用角色。ORACEL利用角色更容易地進(jìn)行權(quán)限管理。有下列優(yōu)點(diǎn):102使用CREATEROLE語(yǔ)句可以創(chuàng)建一個(gè)新的角色,執(zhí)行該語(yǔ)句的用戶必須具有CREATEROLE系統(tǒng)權(quán)限。在角色剛剛創(chuàng)建時(shí),它并不具有任何權(quán)限,這時(shí)的角色是沒有用處的。因此,在創(chuàng)建角色之后,通常會(huì)立即為它授予權(quán)限。例如:利用下面的語(yǔ)句創(chuàng)建了一個(gè)名為OPT_ROLE的角色,并且為它授予了一些對(duì)象權(quán)限和系統(tǒng)權(quán)限:CREATEROLEOPT_ROLE;GRANTSELECTONsal_historyTOOPT_ROLE;GRANTINSERT,UPDATEONmount_entryTOOPT_ROLE;GRANTCREATEVIEWTOOPT_ROLE;6.3.2創(chuàng)建角色使用CREATEROLE語(yǔ)句可以創(chuàng)建一個(gè)新的角色,執(zhí)行該語(yǔ)103在創(chuàng)建角色時(shí)必須為角色命名,新建角色的名稱不能與任何數(shù)據(jù)庫(kù)用戶或其他角色的名稱相同。與用戶類似,角色也需要進(jìn)行認(rèn)證。在執(zhí)行CREATEROLE語(yǔ)句創(chuàng)建角色時(shí),默認(rèn)地將使用NOTIDENTIFIED子句,即在激活和禁用角色時(shí)不需要進(jìn)行認(rèn)證。如果需要確保角色的安全性,可以在創(chuàng)建角色時(shí)使用IDENTIFIED子句來設(shè)置角色的認(rèn)證方式。與用戶類似,角色也可以使用兩種方式進(jìn)行認(rèn)證。使用ALTERROLE語(yǔ)句可以改變角色的口令或認(rèn)證方式。例如:利用下面的語(yǔ)句來修改OPT_ROLE角色的口令(假設(shè)角色使用的是數(shù)據(jù)庫(kù)認(rèn)證方式):ALTERROLEOPT_ROLEIDENTIFIEDBYaccts*new;在創(chuàng)建角色時(shí)必須為角色命名,新建角色的名稱不能與任何數(shù)據(jù)庫(kù)用1041.授予系統(tǒng)權(quán)限2.授予對(duì)象權(quán)限6.3.3授予權(quán)限或角色3.授予角色1.授予系統(tǒng)權(quán)限2.授予對(duì)象權(quán)限6.3.3授予權(quán)限或角色1051.授予系統(tǒng)權(quán)限在GRANT關(guān)鍵字之后指定系統(tǒng)權(quán)限的名稱,然后在TO關(guān)鍵字之后指定接受權(quán)限的用戶名,即可將系統(tǒng)權(quán)限授予指定的用戶。例如:利用下面的語(yǔ)句可以相關(guān)權(quán)限授予用戶chenjie:GRANTCREATEUSER,ALTERUSER,DROPUSERTOchenjieWITHADMINOPTION;1.授予系統(tǒng)權(quán)限1062.授予對(duì)象權(quán)限

Oracle對(duì)象權(quán)限指用戶在指定的表上進(jìn)行特殊操作的權(quán)利。在GRANT關(guān)鍵字之后指定對(duì)象權(quán)限的名稱,然后在ON關(guān)鍵字后指定對(duì)象名稱,最后在TO關(guān)鍵字之后指定接受權(quán)限的用戶名,即可將指定對(duì)象的對(duì)象權(quán)限授予指定的用戶。使用一條GRANT語(yǔ)句可以同時(shí)授予用戶多個(gè)對(duì)象權(quán)限,各個(gè)權(quán)限名稱之間用逗號(hào)分隔。有三類對(duì)象權(quán)限可以授予表或視圖中的字段,它們是分別是INSERT,UPDATE和REFERENCES對(duì)象權(quán)限。2.授予對(duì)象權(quán)限107例如:利用下面的語(yǔ)句可以將CUSTOMER表的SELECT和INSERT,UPDATE對(duì)象權(quán)限授予用戶chenqian:GRANTSELECT,INSERT(CUSTOMER_ID,CUSTOMER_name),UPDATE(desc)ONCUSTOMERTOchenqianWITHGRANTOPTION;在授予對(duì)象權(quán)限時(shí),可以使用一次關(guān)鍵字ALL或ALLPRIVILEGES將某個(gè)對(duì)象的所有對(duì)象權(quán)限全部授予指定的用戶。例如:利用下面的語(yǔ)句可以將CUSTOMER表的SEL1083.授予角色在GRANT關(guān)鍵字之后指定角色的名稱,然后在TO關(guān)鍵字之后指定用戶名,即可將角色授予指定的用戶。Oracle數(shù)據(jù)庫(kù)系統(tǒng)預(yù)先定義了CONNECT、RESOURCE、DBA、EXP_FULL_DATABASE、IMP_FULL_DATABASE五個(gè)角色。CONNECT具有創(chuàng)建表、視圖、序列等權(quán)限;RESOURCE具有創(chuàng)建過程、觸發(fā)器、表、序列等權(quán)限、DBA具有全部系統(tǒng)權(quán)限;EXP_FULL_DATABASE、IMP_FULL_DATABASE具有卸出與裝入數(shù)據(jù)庫(kù)的權(quán)限。通過查詢sys.dba_sys_privs可以了解每種角色擁有的權(quán)利。3.授予角色109例如:利用下面的語(yǔ)句可以將DBA角色授予用戶chenjie:GRANTDBATOchenjieWITHGRANTOPTION;在同一條GRANT語(yǔ)句中,可以同時(shí)為用戶授予系統(tǒng)權(quán)限和角色。如果在為某個(gè)用戶授予角色時(shí)使用了WITHADMINOPTION選項(xiàng),該用戶將具有如下權(quán)利:(1)將這個(gè)角色授予其他用戶,使用或不使用WITHADMINOPTION選項(xiàng)。(2)從任何具有這個(gè)角色的用戶那里回收該角色。(3)刪除或修改這個(gè)角色。注意:不能使用一條GRANT語(yǔ)句同時(shí)為用戶授予對(duì)象權(quán)限和角色。例如:利用下面的語(yǔ)句可以將DBA角色授予用戶chenjie:110使用REVOKE語(yǔ)句可以回收己經(jīng)授予用戶(或角色)的系統(tǒng)權(quán)限、對(duì)象權(quán)限與角色,執(zhí)行回收權(quán)限操作的用戶同時(shí)必須具有授予相同權(quán)限的能力。例如:利用下面的語(yǔ)句可以回收已經(jīng)授予用戶chenqian的SELECT和UPDATE對(duì)象權(quán)限:REVOKESELECT,UPDATEONCUSTOMERFROMchenqian;利用下面的語(yǔ)句可以回收已經(jīng)授予用戶chenjie的CREATEANYTABLE系統(tǒng)權(quán)限:REVOKECREATEANYTABLEFROMchenjie;利用下面的語(yǔ)句可以回收己經(jīng)授予用戶chenjie的OPT_ROLE角色:REVOKEOPT_ROLEFROMchenjie;6.3.4回收權(quán)限或角色使用REVOKE語(yǔ)句可以回收己經(jīng)授予用戶(或角111在回收對(duì)象權(quán)限時(shí),可以使用關(guān)鍵字ALL或ALLPRIVILEGES將某個(gè)對(duì)象的所有對(duì)象權(quán)限全部回收。例如:利用下面的語(yǔ)句可以回收己經(jīng)授予用戶chenqian的CUSTOMER表的所有對(duì)象權(quán)限:REVOKEALLONCUSTOMERFROMchenjie;在回收對(duì)象權(quán)限時(shí),可以使用關(guān)鍵字ALL或ALLPRIVIL112一個(gè)用戶可以同時(shí)被授予多個(gè)角色,但是并不是所有的這些角色都同時(shí)起作用。角色可以處于兩種狀態(tài):激活狀態(tài)或禁用狀態(tài),禁用狀態(tài)的角色所具有權(quán)限并不生效。當(dāng)用戶連接到數(shù)據(jù)庫(kù)中時(shí),只有他的默認(rèn)角色(DefaultRole)處于激活狀態(tài)。在ALTERUSER角色中使用DEFAULTROLE子句可以改變用戶的默認(rèn)角色。例如:如果要將用戶所擁有的一個(gè)角色設(shè)置為默認(rèn)角色,可以使用下面的語(yǔ)句:ALTERUSERchenjieDEFAULTROLEconnect,OPT_ROLE;6.3.5激活和禁用角色一個(gè)用戶可以同時(shí)被授予多個(gè)角色,但是并不是所有的這113在用戶會(huì)話的過程中,還可以使用SETROLE語(yǔ)句來激活或禁用他所擁有的角色。用戶所同時(shí)激活的最大角色數(shù)目由初始化參數(shù)ENABLEDROLES決定(默認(rèn)值為20)。如果角色在創(chuàng)建時(shí)使用了IDENTIFIEDBY子句,則在使用SETROLE語(yǔ)句激活角色時(shí)也需要在IDENTIFIEDBY子句中提供口令。如果要激活用戶所擁有的所有角色,可以使用下面的語(yǔ)句:SETROLEALL;在用戶會(huì)話的過程中,還可以使用SETROLE語(yǔ)1146.4.2激活和禁用資源限制

6.4.3管理概要文件

6.4.1概要文件中的參數(shù)

6.4概要文件6.4.2激活和禁用資源限制6.4.3管理概要1151.資源限制參數(shù)2.口令策略參數(shù)6.4.1概要文件中的參數(shù)1.資源限制參數(shù)2.口令策略參數(shù)6.4.1概要文件中的參1161.資源限制參數(shù)資源參數(shù)的值可以是一個(gè)整數(shù),也可以是UNLIMITED或DEFAULT即使用默認(rèn)概要文件中的參數(shù)設(shè)置。大部分資源限制都可以在兩個(gè)級(jí)別進(jìn)行:會(huì)話級(jí)或調(diào)用級(jí)。會(huì)話級(jí)資源限制是對(duì)用戶在一個(gè)會(huì)話過程中所能使用的資源進(jìn)行的限制,而調(diào)用級(jí)資源限制是對(duì)一條SQL語(yǔ)句在執(zhí)行過程中所能使用的資源進(jìn)行的限制。當(dāng)會(huì)話或一條SQL語(yǔ)句占用的資源超過概要文件中的限制時(shí),Oracle將中止并回退當(dāng)前的操作,然后向用戶返回錯(cuò)誤信息。這時(shí)用戶仍然有機(jī)會(huì)提交或回退當(dāng)前的事務(wù)。如果受到的是會(huì)話級(jí)限制,在提交或回退事務(wù)后用戶會(huì)話被中止(斷開連接),但是如果受到的是調(diào)用級(jí)限制,用戶會(huì)話還能夠繼續(xù)進(jìn)行,只是當(dāng)前執(zhí)行的SQL語(yǔ)句被終止。1.資源限制參數(shù)117以下為概要文件中使用的各種資源參數(shù):①SESSIONS_PER_USER:該參數(shù)限制每個(gè)用戶所允許建立的最大并發(fā)會(huì)話數(shù)目。達(dá)到這個(gè)限制時(shí),用戶不能再建立任何數(shù)據(jù)庫(kù)連接。②CPU_PER_SESSION:該參數(shù)限制每個(gè)會(huì)話所能使用的CPU時(shí)間。③CPU_PER_CALL:該參數(shù)限制每條SQL語(yǔ)句所能使用的CPU時(shí)間。④LAGICAL_READS_PER_SESSION:該參數(shù)限制每個(gè)會(huì)話所能讀取的數(shù)據(jù)塊數(shù)目,包括從內(nèi)存中讀取的數(shù)據(jù)塊和從硬盤中讀取的數(shù)據(jù)塊。以下為概要文件中使用的各種資源參數(shù):118⑤LAGICAL_READS_PER_CALL:該參數(shù)限制每條SQL語(yǔ)句所能讀取的數(shù)據(jù)塊數(shù)目,包括從內(nèi)存中讀取的數(shù)據(jù)塊和從硬盤中讀取的數(shù)據(jù)塊。⑥CONNECT_TIME:該參數(shù)限制每個(gè)會(huì)話能連接到數(shù)據(jù)庫(kù)的最長(zhǎng)時(shí)間。當(dāng)連接時(shí)間達(dá)到該參數(shù)的限制時(shí),.用戶會(huì)話將自動(dòng)斷開。⑦IDLE_TIME:該參數(shù)限制每個(gè)會(huì)話所允許的最大連續(xù)空閑時(shí)間。如果一個(gè)會(huì)話持續(xù)的空閑時(shí)間達(dá)到該參數(shù)的限制,該會(huì)話將自動(dòng)斷開。⑧COMPOSITE_LIMIT:該參數(shù)用于設(shè)置“組合資源限制”。⑨PRIVATE_SGA:在共享服務(wù)器操作模式下,執(zhí)行SQL語(yǔ)句和PL/SQL語(yǔ)句時(shí),Oracle將在SGA中創(chuàng)建私有SQL區(qū)。該參數(shù)限制在SGA中為每個(gè)會(huì)話所能分配的最大私有SQL區(qū)大小。在專用服務(wù)器操作模式下,該參數(shù)不起作用。⑤LAGICAL_READS_PER_CALL:該參數(shù)限制每1192.口令策略參數(shù)使用概要文件可以實(shí)現(xiàn)如下三種口令策略:(1)賬戶的鎖定賬戶鎖定策略是指用戶在連續(xù)輸入多少次錯(cuò)誤的口令后,將由Oracle自動(dòng)鎖定用戶的賬戶,并且可以設(shè)置賬戶鎖定的時(shí)間。(2)口令的過期時(shí)間口令過期策略用于強(qiáng)制用戶定期修改自己的口令。當(dāng)口令過期后,Oracle將隨時(shí)提醒用戶修改口令。如果用戶仍然不修改自己的口令,Oracle將使他的口令失效。2.口令策略參數(shù)120(3)口令的復(fù)雜度在概要文件中可以通過指定的函數(shù)來強(qiáng)制用戶的口令必須具有一定的復(fù)雜度。以下為在概要文件中使用的各種口令參數(shù):①FAILED_LOGIN_ATTEMPTS:該參數(shù)指定允許的輸入錯(cuò)誤口令的次數(shù),超過該次數(shù)后用戶賬戶被自動(dòng)鎖定。②PASSWORD_LOCK_TIME:該參數(shù)指定用戶賬戶由于口令輸入錯(cuò)誤而被鎖定后,持續(xù)保持鎖定狀態(tài)的時(shí)間。③PASSWORD_LIFE_TIME:該參數(shù)指定同一個(gè)用戶口令可以持續(xù)使用的時(shí)間。如果在達(dá)到這個(gè)限制之前用戶還沒有更換另外一個(gè)口令,他的口令將失效。這時(shí)必須由DBA為他重新設(shè)置新的口令。(3)口令的復(fù)雜度121④PASSWORD_GRACE_TIME:該參數(shù)指定用戶口令過期的時(shí)間。如果在達(dá)到這個(gè)限制之前用戶還沒有更換另外一個(gè)口令,Oracle將對(duì)他提出警告。在口令過期之后,用戶在達(dá)到PASSWORD_LIFE_TIME參數(shù)的限制之前有機(jī)會(huì)主動(dòng)修改口令。⑤PASSWORD_REUSE_TIME:該參數(shù)指定用戶在能夠重復(fù)使用一個(gè)口令前必須經(jīng)過的時(shí)間。⑥PASSWORD_REUSE_MAX:該參數(shù)指定用戶在能夠重復(fù)使用一個(gè)口令之前必須對(duì)口令進(jìn)行修改的次數(shù)。PASSWORD_REUSE_TIME參數(shù)和PASSWORD_REUSE_MAX參數(shù)只能設(shè)置一個(gè),而另一個(gè)參數(shù)必須指定為UNLIMITED。⑦PASSWORD_VERIFY_FUNCTION:該參數(shù)指定用于驗(yàn)證用戶口令復(fù)雜度的函數(shù)。Oracle通過一個(gè)內(nèi)置腳本提供了一個(gè)默認(rèn)函數(shù)用于驗(yàn)證用戶口令的復(fù)雜度,所有指定時(shí)間的口令參數(shù)都以天為單位。④PASSWORD_GRACE_TIME:該參數(shù)指定用戶口令122修改數(shù)據(jù)庫(kù)的資源限制狀態(tài)有兩種方式:在數(shù)據(jù)庫(kù)啟動(dòng)之前,可以通過設(shè)置初始化參數(shù)RESOURCE_LIMIT來決定資源限制的狀態(tài)。如果RESOURCELIMIT參數(shù)設(shè)置為TRUE,啟動(dòng)數(shù)據(jù)庫(kù)后資源限制將處于激活狀態(tài);反之如果RESOURCELIMIT參數(shù)設(shè)置為FALSE,啟動(dòng)數(shù)據(jù)庫(kù)后資源限制將處于禁用狀態(tài)。默認(rèn)情況下,RESOURCE_LIMIT參數(shù)為FALSE。在數(shù)據(jù)庫(kù)啟動(dòng)之后(處于打開狀態(tài)),可以使用ALTERSYSTEM語(yǔ)句來改變資源限制的狀態(tài),執(zhí)行該語(yǔ)句的用戶必須具有ALTERSYSTEM系統(tǒng)權(quán)限。6.4.2激活和禁用資源限制修改數(shù)據(jù)庫(kù)的資源限制狀態(tài)有兩種方式:6.4.2激活和禁用123

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論