Oracle三層許可權體系介紹

2021-08-15 07:23:59 字數 1918 閱讀 8721

oracle

使用者物件許可權體系是oracle資料庫安全管理中重要的組成部分。oracle使用者許可權是一套靈活可配置的管理體系。本篇我們一起來說說oracle的三層許可權體系。

1

角色role、系統system和物件object

在oracle使用者許可權體系下,所有許可權的實現單元是使用者owner上。使用者進行任何的操作,包括連線資料庫,都需要相應的許可權(如createsession)來保證。換句話說,如果沒有相應的許可權,使用者owner什麼也做不了。

從內容層次上看,oracle的許可權體系劃分為三個層次:角色role、系統system和物件object。下面進行簡單的說明:

1        

物件許可權(object privilege),是許可權體系的最小粒度物件。特點是許可權點在物件上。此處的物件,包括oracle體系下包括資料表、檢視、序列、包、儲存過程等十一種物件的許可權。每種物件都有對應的許可權點。比如,對資料表有select、update等操作許可權;

2      

系統許可權(system privilege),是描述oracle使用者操作的另乙個層面。定義了使用者在系統中可以做什麼,如createtable之類。注意,一些系統許可權和物件許可權可能存在重疊的情況。要小心使用。

3      

角色許可權(role privilege),是物件許可權和系統許可權、甚至包括角色許可權的複合體。物件許可權和系統許可權都是粒度很細的許可權單元,一類使用者往往需要相同的物件許可權集合和系統許可權集合。如果分別進行設定,就可能存在遺漏的可能,依據職責進行role角色設定,之後將角色附加給使用者,是一種更加簡單的方法;

2

物件許可權object privilege

物件許可權是oracle的基礎許可權,定義了使用者在某個特定物件上可以使用何種許可權。注意,此處我們談到的物件許可權,是針對已經存在物件的許可權。目前,oracle支援十一種物件的九方面許可權,並不是每型別物件都有全部的九個方面許可權。詳細如下表:

從上表中可以看出,根據物件的不同,可以進行賦予的許可權也是不同的。此外,還有乙個隱式的all許可權,表示物件可以賦予的全部許可權資訊。

檢視方面,可以使用user_tab_privilege和table_privilege等檢視檢查物件的訪問授權情況。

3、系統許可權system privilege

系統許可權規定了使用者在系統中可以做什麼行為,包括針對物件和針對系統。系統許可權是oracle內建定義的,在oracle10g中有大約160餘個系統許可權。

例如,我們新建立乙個使用者之後,如果未進行任何許可權的賦予,該使用者甚至連登入的許可權都沒有。此時,我們需要賦予該使用者create session的系統許可權(或者connect角色),才能實現登入。

系統許可權是很零碎細緻的,我們讓使用者完成乙個簡單的連線建立表、乃至最後插入記錄,都需要一系列的系統許可權配置。那麼,有沒有方法讓我們簡化操作呢?答案就是使用預定義或者自定義role許可權。

4

、角色許可權role privilege

基於角色許可權體系是目前系統中經常使用訪問控制策略。基於角色的系統既能夠做到細粒度的許可權劃分,又能保證許可權設定的職能化和崗位化。

角色就是乙個簡易的許可權容器,可以包括很多態別的系統許可權和物件許可權,甚至角色許可權。

我們檢查許可權設定,可以通過user_role_privs和dba_role_privs兩個檢視完成。

在實際開發過程中,我們自定義角色的場景其實不是很多,因為自定義角色許可權後,在開發使用時是有很多的限制的。我們使用預定義許可權的場景非常多,如connect和resource,甚至dba和imp_full_database等,都是我們常常使用的角色許可權內容。

三層框架體系

在c s伺服器上執行的軟體可以是這種樣式的 這是典型的兩層結構,特點是 1.資料庫訪問和使用者型別判斷邏輯放在一起實現 2.使用者介面層直接呼叫資料訪問實現 3.整個系統功能放在同乙個專案中實現 4.進行業務規則 合法性校驗等工作 雖然看起來比較簡潔,但是在實際中卻有很多問題 如果使用者的需求發生變...

三層體系架構

三層體系架構 1.表示層 usl 主要表示web方式,也可以表示成winform方式。如果邏輯層相當強大和完善,無論表現層如何定義和更改,邏輯層都能完善地提供服務。2.業務邏輯層 bll 主要是針對具體的問題的操作,也可以理解成對資料層的操作,對資料業務邏輯處理。如果說資料層是積木,那邏輯層就是對這...

簡單介紹三層架構

三層架構 3 tier architecture 通常意義上的三層架構就是將整個業務應用劃分為 介面層 業務邏輯層 資料訪問層。區分層次的目的即為了 高內聚低耦合 的思想,在軟體體系架構設計中,分層式結構是最常見,也是最重要的一種結構,微軟推薦的分層式結構一般分為三層,從下至上分別為 資料訪問層 業...