輕松掌握數(shù)據(jù)庫中存取控制
導(dǎo)讀:數(shù)據(jù)庫最初的功能就是對數(shù)據(jù)進行存儲,如今的數(shù)據(jù)庫個方面的功能性都非常好,也不再是單單的對數(shù)據(jù)進行存儲,那么數(shù)據(jù)庫中的存取控制是怎么回事呢?下文中將為大家詳細介紹。
數(shù)據(jù)庫保護信息的方法采用任意存取控制來控制全部用戶對命名對象的存取。用戶對對象的存取受特權(quán)控制。一種特權(quán)是存取一命名對象的許可,為一種規(guī)定格式。
Oracle使用多種不同的機制管理數(shù)據(jù)庫安全性,其中有兩種機制:模式和用戶。模式為模式對象的集合,模式對象如表、視圖、過程和包等。***數(shù)據(jù)庫有一組模式。
每一Oracle數(shù)據(jù)庫有一組合法的用戶,可存取一數(shù)據(jù)庫,可運行一數(shù)據(jù)庫應(yīng)用和使用該用戶各連接到定義該用戶的數(shù)據(jù)庫。當(dāng)建立一數(shù)據(jù)庫用戶時,對該用戶建立一個相應(yīng)的模式,模式名與用戶名相同。一旦用戶連接一數(shù)據(jù)庫,該用戶就可存取相應(yīng)模式中的全部對象,一個用戶僅與同名的模式相聯(lián)系,所以用戶和模式是類似的。
用戶的存取權(quán)利受用戶安全域的設(shè)置所控制,在建立一個數(shù)據(jù)庫的新用戶或更改一已有用戶時,安全管理員對用戶安全域有下列決策:
是由數(shù)據(jù)庫系統(tǒng)還是由操作系統(tǒng)維護用戶授權(quán)信息。
設(shè)置用戶的缺省表空間和臨時表空間。
列出用戶可存的表空間和在表空間中可使用空間份額。
設(shè)置用戶資源限制的環(huán)境文件,該限制規(guī)定了用戶可用的系統(tǒng)資源的總量。
規(guī)定用戶具有的特權(quán)和角色,可存取相應(yīng)的對象。
每一個用戶有一個安全域,它是一組特性,可決定下列內(nèi)容:
用戶可用的特權(quán)和角色;
用戶可用的表空間的份額;
用戶的系統(tǒng)資源限制。
(1)用戶鑒別:
為了防止非授權(quán)的數(shù)據(jù)庫用戶的使用,ORACLE提供二種確認方法
操作系統(tǒng)確認和相應(yī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)
審計跟蹤相對應(yīng)。
Oracle數(shù)據(jù)庫方式的用戶確認:Oracle利用存儲在數(shù)據(jù)庫中的信息可鑒定試圖接到數(shù)據(jù)庫的一用戶,這種鑒別方法僅當(dāng)操作系統(tǒng)不能用于數(shù)據(jù)庫用戶鑒別時才使用。當(dāng)用戶使用一Oracle數(shù)據(jù)庫時執(zhí)行用戶鑒別。每個用戶在建立時有一個口令,用戶口令在建立對數(shù)據(jù)庫連接時使用,以防止對數(shù)據(jù)庫非授權(quán)的使用。用戶的口令以密碼的格式存儲在數(shù)據(jù)庫數(shù)據(jù)字典中,用戶可隨時修改其口令。
(2)用戶的表空間設(shè)置和定額
關(guān)于表空間的使用有幾種設(shè)置選擇:
用戶的缺省表空間;
用戶的臨時表空間;
數(shù)據(jù)庫表空間的空間使用定額。
(3)用戶資源限制和環(huán)境文件
用戶可用的各種系統(tǒng)資源總量的限制是用戶安全域的部分。利用顯式地設(shè)置資源限制;安全管理員可防止用戶無控制地消耗寶貴的系統(tǒng)資源。資源限制是由環(huán)境文件管理。一個環(huán)境文件是命名的一組賦給用戶的資源限制。另外Oracle為安全管理員在數(shù)據(jù)庫級提供使能或使不能實施環(huán)境文件資源限制的選擇。
Oracle可限制幾種類型的系統(tǒng)資源的使用,每種資源可在會話級、調(diào)用級或兩者上控制。在會話級:每一次用戶連接到一數(shù)據(jù)庫,建立一會話。每一個會話在執(zhí)行SQL語句的計算機上耗費CPU時間和內(nèi)存量進行限制。對Oracle的幾種資源限制可在會話級上設(shè)置。如果會話級資源限制被超過,當(dāng)前語句被中止(回滾),并返回指明會話限制已達到的信息。此時,當(dāng)前事務(wù)中所有之前執(zhí)行的語句不受影響,此時僅可作COMMIT、ROLLBACK或刪除對數(shù)據(jù)庫的連接等操作,進行其它操作都將出錯。
在調(diào)用級:在SQL語句執(zhí)行時,處理該語句有好幾步,為了防止過多地調(diào)用系統(tǒng),ORACLE在調(diào)用級可設(shè)置幾種資源限制。如果調(diào)用級的資源限制被超過,語句處理被停止,該 語句被回滾,并返回一錯誤。然而當(dāng)前事務(wù)的已執(zhí)行所用語句不受影響,用戶會話繼續(xù)連接。
有下列資源限制:
為了防止無控制地使用CPU時間,ORACLE可限制每次ORACLE調(diào)用的CPU時間和在一次會話期間ORACLE調(diào)用所使用的CPU的時間,以0.01秒為單位。
為了防止過多的I/O,Oracle可限制每次調(diào)用和每次會話的邏輯數(shù)據(jù)塊讀的數(shù)目。
Oracle在會話級還提供其它幾種資源限制。
每個用戶的并行會話數(shù)的限制;
會話空閑時間的限制,如果一次會話的ORACLE調(diào)用之間時間達到該空閑時間,當(dāng)前事務(wù)被回滾,會話被中止,會話資源返回給系統(tǒng);
每次會話可消逝時間的限制,如果一次會話期間超過可消逝時間的限制,當(dāng)前事務(wù)被回滾,會話被刪除,該會話的資源被釋放;
每次會話的專用SGA空間量的限制。
用戶環(huán)境文件:
用戶環(huán)境文件是指定資源限制的命名集,可賦給ORACLE數(shù)據(jù)庫的有效的用戶。利用用戶環(huán)境文件可容易地管理資源限制。要使用用戶環(huán)境文件,首先應(yīng)將數(shù)據(jù)庫中的用戶分類,決定在數(shù)據(jù)庫中全部用戶類型需要多少種用戶環(huán)境文件。在建立環(huán)境文件之前,要決定每一種資源限制的值。例如一類用戶通常不執(zhí)行大量邏輯數(shù)據(jù)塊讀,那就可將LOGICAL-READS-PER-SESSION和LOGICAL-READS-PER-CALL設(shè)置相應(yīng)的值。在許多情況中決定一用戶的環(huán)境文件的合適資源限制的***的方法是收集每種資源使用的歷史信息。
關(guān)于數(shù)據(jù)庫存取控制的知識就為大家介紹到這里,希望大家都能夠從中收獲知識,不枉來一趟。
【編輯推薦】