(1)特權:特權是執行一種特殊類型的SQL語句或存取另一使用者的對象的權力。有兩類特權:系統特權和對象特權。
系統特權:是執行一處特殊動作或者在物件類型上執行一種特殊動作的權利。ORACLE有60多種不同系統特權,每一種系統允許使用者執行一種特殊的資料庫操作或一類資料庫操作.
系統特權可授權給使用者或角色,一般,系統特權全管理員和應用開發人員,終端使用者不需要這些相關功能.授權給一使用者的系統特權並具有該 系統特權授權給其他使用者或角色.反之,可從那些被授權的使用者或角色回收系統特權.
對象特權:在指定的表、視圖、序列、過程、函數或包上執行特殊動作的權利。對於不同類型的對象,有不同類型的對象特權。對於有些模式對象,如聚集、索引、觸發器、資料庫鏈沒有相關的對象特權,它們由系統特權控制。
對於包含在某使用者名稱的模式中的對象,該使用者對這些對象自動地具有全部對象特權,即模式的持有人對模式中的對象具有全部對象特權。這些對象的持有人可將這些對象上的任何對象特權可授權給其他使用者。如果被授者包含有GRANT OPTION 授權,那麼該被授者也可將其權利再授權給其他使用者。
(2)角色:為相關特權的命名組,可授權給使用者和角色。ORACEL利用角色更容易地進行特權管理。有下列優點:
◆減少特權管理,不要顯式地將同一特權組授權給幾個使用者,只需將這特權組授給角色,然後將角色授權給每一使用者。
◆動態特權管理,如果一組特權需要改變,只需修改角色的特權,所有授給該角色的全部使用者的安全域將自動地反映對角色所作的修改。
◆特權的選擇可用性,授權給使用者的角色可選擇地使其使能(可用)或使不能(不可用)。
◆應用可知性,當一使用者經一使用者名稱執行應用時,該資料庫應用可查詢字典,將自動地選擇使角色使能或不能。
◆專門的應用安全性,角色使用可由口令保護,應用可提供正確的口令使用權角色使能,達到專用的應用安全性。因使用者不知其口令,不能使角色使能。
一般,建立角色服務於兩個目的:為資料庫應用管理特權和為使用者組管理特權。相應的角色稱為應用角色和使用者角色。
應用角色是授予的運行一資料庫應用所需的全部特權。一個應用角色可授給其它角色或指定使用者。一個應用可有幾種不同角色,具有不同特權組的每一個角色在使用應用時可進行不同的資料存取。
使用者角色是為具有公開特權需求的一組資料庫使用者而建立的。使用者特權管理是受應用角色或特權授權給使用者角色所控制,然後將使用者角色授權給相應的使用者。
資料庫角色包含下列功能:
◆一個角色可授予系統特權或對象特權。
◆一個角色可授權給其它角色,但不能迴圈授權。
◆任何角色可授權給任何資料庫使用者。
◆授權給一使用者的每一角色可以是使能的或者使不能的。一個使用者的安全域僅包含當前對該使用者使能的全部角色的特權。
◆一個間接授權角色(授權給另一角色的角色)對一使用者可顯式地使其能或使不能。
在一個資料庫中,每一個角色名稱必須唯一。角色名稱與使用者不同,角色不包含在任何模式中,所以建立一角色的使用者被刪除時不影響該角色。
ORACLE為了提供與以前版本的相容性,預定義下列角色:CONNENT、RESOURCE、DBA、EXP-FULL-DATABASE和IMP-FULL-DATABASE。