經(jīng)典的ORACLE培訓文檔
數(shù)據(jù)庫的安全性、完整性、并發(fā)控制和恢復
為了保證數(shù)據(jù)庫數(shù)據(jù)的安全可靠性和正確有效,DBMS必須提供統(tǒng)一的數(shù)據(jù)保護功能。數(shù)據(jù)保護也為數(shù)據(jù)控制,主要包括數(shù)據(jù)庫的安全性、完整性、并發(fā)控制和恢復。
一、 數(shù)據(jù)庫的安全性
數(shù)據(jù)庫的安全性是指保護數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞。計算機系統(tǒng)都有這個問題,在數(shù)據(jù)庫系統(tǒng)中大量數(shù)據(jù)集中存放,為許多用戶共享,使安全問題更為突出。
在一般的計算機系統(tǒng)中,安全措施是一級一級設置的。
在DB存儲這一級可采用密碼技術(shù),當物理存儲設備失竊后,它起到保密作用。在數(shù)據(jù)庫系統(tǒng)這一級中提供兩種控制:用戶標識和鑒定,數(shù)據(jù)存取控制。
在ORACLE多用戶數(shù)據(jù)庫系統(tǒng)中,安全機制作下列工作:
防止非授權(quán)的數(shù)據(jù)庫存取;
防止非授權(quán)的對模式對象的存。
控制磁盤使用;
控制系統(tǒng)資源使用;
審計用戶動作。
數(shù)據(jù)庫安全可分為二類:系統(tǒng)安全性和數(shù)據(jù)安全性。
系統(tǒng)安全性是指在系統(tǒng)級控制數(shù)據(jù)庫的存取和使用的機制,包含:
有效的用戶名/口令的組合;
一個用戶是否授權(quán)可連接數(shù)據(jù)庫;
用戶對象可用的磁盤空間的數(shù)量;
用戶的資源限制;
數(shù)據(jù)庫審計是否是有效的;
用戶可執(zhí)行哪些系統(tǒng)操作。
數(shù)據(jù)安全性是指在對象級控制數(shù)據(jù)庫的存取和使用的機制,包含:
哪些用戶可存取一指定的模式對象及在對象上允許作哪些操作類型。
在ORACLE服務器上提供了一種任意存取控制,是一種基于特權(quán)限制信息存取的方法。用戶要存取一對象必須有相應的特權(quán)授給該用戶。已授權(quán)的用戶可任意地可將它授權(quán)給其它用戶,由于這個原因,這種安全性類型叫做任意型。
ORACLE利用下列機制管理數(shù)據(jù)庫安全性:
數(shù)據(jù)庫用戶和模式;
特權(quán);
角色;
存儲設置和空間份額;
資源限制;
審計。
1. 數(shù)據(jù)庫的存取控制
ORACLE保護信息的方法采用任意存取控制來控制全部用戶對命名對象的存取。用戶對對象的存取受特權(quán)控制。一種特權(quán)是存取一命名對象的許可,為一種規(guī)定格式。
ORACLE使用多種不同的機制管理數(shù)據(jù)庫安全性,其中有兩種機制:模式和用戶。模式為模式對象的集合,模式對象如表、視圖、過程和包等。第一數(shù)據(jù)庫有一組模式。
每一ORACLE數(shù)據(jù)庫有一組合法的用戶,可存取一數(shù)據(jù)庫,可運行一數(shù)據(jù)庫應用和使用該用戶各連接到定義該用戶的數(shù)據(jù)庫。當建立一數(shù)據(jù)庫用戶時,對該用戶建立一個相應的模式,模式名與用戶名相同。一旦用戶連接一數(shù)據(jù)庫,該用戶就可存取相應模式中的全部對象,一個用戶僅與同名的模式相聯(lián)系,所以用戶和模式是類似的。
用戶的存取權(quán)利受用戶安全域的設置所控制,在建立一個數(shù)據(jù)庫的新用戶或更改一已有用戶時,安全管理員對用戶安全域有下列決策:
是由數(shù)據(jù)庫系統(tǒng)還是由操作系統(tǒng)維護用戶授權(quán)信息。
設置用戶的缺省表空間和臨時表空間。
列出用戶可存的表空間和在表空間中可使用空間份額。
設置用戶資源限制的環(huán)境文件,該限制規(guī)定了用戶可用的系統(tǒng)資源的總量。
規(guī)定用戶具有的特權(quán)和角色,可存取相應的對象。
每一個用戶有一個安全域,它是一組特性,可決定下列內(nèi)容:
用戶可用的特權(quán)和角色;
用戶可用的表空間的份額;
用戶的系統(tǒng)資源限制。
1) 用戶鑒別:
為了防止非授權(quán)的數(shù)據(jù)庫用戶的使用,ORACLE提供二種確認方法
操作系統(tǒng)確認和相應的ORACLE數(shù)據(jù)庫確認。
如果操作系統(tǒng)允許,ORACLE可使用操作系統(tǒng)所維護的信息來鑒定用戶。由操作系統(tǒng)鑒定用戶的優(yōu)點是:
用戶可更方便地連接到ORACLE,不需要指定用戶名和口令。
對用戶授權(quán)的控制集中在操作系統(tǒng),ORACLE不需要存儲和管理用戶口令。然而用戶名在數(shù)據(jù)庫中仍然要維護。
在數(shù)據(jù)庫中的用戶名項和操作系統(tǒng)審計跟蹤相對應。
ORACLE數(shù)據(jù)庫方式的用戶確認:ORACLE利用存儲在數(shù)據(jù)庫中的信息可鑒定試圖接到數(shù)據(jù)庫的一用戶,這種鑒別方法僅當操作系統(tǒng)不能用于數(shù)據(jù)庫用戶鑒別時才使用。當用戶使用一ORACLE數(shù)據(jù)庫時執(zhí)行用戶鑒別。每個用戶在建立時有一個口令,用戶口令在建立對數(shù)據(jù)庫連接時使用,以防止對數(shù)據(jù)庫非授權(quán)的使用。用戶的口令以密碼的格式存儲在數(shù)據(jù)庫數(shù)據(jù)字典中,用戶可隨時修改其口令。
2) 用戶的表空間設置和定額
關(guān)于表空間的使用有幾種設置選擇:
用戶的缺省表空間;
用戶的臨時表空間;
數(shù)據(jù)庫表空間的空間使用定額。
|
|