特權:特權是執行一種特殊類(lèi)型的SQL語(yǔ)句或存取另一用戶(hù)的對象的權力。有兩類(lèi)特權:系統特權和對象特權。
系統特權:是執行一處特殊動(dòng)作或者在對象類(lèi)型上執行一種特殊動(dòng)作的權利。ORACLE有60多種不同系統特權,每一種系統允許用戶(hù)執行一種特殊的數據庫操作或一類(lèi)數據庫操作.
系統特權可授權給用戶(hù)或角色,一般,系統特權全管理人員和應用開(kāi)發(fā)人員,終端用戶(hù)不需要這些相關(guān)功能.授權給一用戶(hù)的系統特權并具有該 系統特權授權給其他用戶(hù)或角色.反之,可從那些被授權的用戶(hù)或角色回收系統特權.
對象特權:在指定的表、視圖、序列、過(guò)程、函數或包上執行特殊動(dòng)作的權利。對于不同類(lèi)型的對象,有不同類(lèi)型的對象特權。對于有些模式對象,如聚集、索引、觸發(fā)器、數據庫鏈沒(méi)有相關(guān)的對象特權,它們由系統特權控制。
對于包含在某用戶(hù)名的模式中的對象,該用戶(hù)對這些對象自動(dòng)地具有全部對象特權,即模式的持有者對模式中的對象具有全部對象特權。這些對象的持有者可將這些對象上的任何對象特權可授權給其他用戶(hù)。如果被授者包含有GRANT OPTION 授權,那么該被授者也可將其權利再授權給其他用戶(hù)。
角色:為相關(guān)特權的命名組,可授權給用戶(hù)和角色。ORACEL利用角色更容易地進(jìn)行特權管理。有下列優(yōu)點(diǎn):
減少特權管理,不要顯式地將同一特權組授權給幾個(gè)用戶(hù),只需將這特權組授給角色,然后將角色授權給每一用戶(hù)。
動(dòng)態(tài)特權管理,如果一組特權需要改變,只需修改角色的特權,所有授給該角色的全部用戶(hù)的安全域將自動(dòng)地反映對角色所作的修改。
特權的選擇可用性,授權給用戶(hù)的角色可選擇地使其使能(可用)或使不能(不可用)。
應用可知性,當一用戶(hù)經(jīng)一用戶(hù)名執行應用時(shí),該數據庫應用可查詢(xún)字典,將自動(dòng)地選擇使角色使能或不能。
專(zhuān)門(mén)的應用安全性,角色使用可由口令保護,應用可提供正確的口令使用權角色使能,達到專(zhuān)用的應用安全性。因用戶(hù)不知其口令,不能使角色使能。
一般,建立角色服務(wù)于兩個(gè)目的:為數據庫應用管理特權和為用戶(hù)組管理特權。相應的角色稱(chēng)為應用角色和用戶(hù)角色。
應用角色是授予的運行一數據庫應用所需的全部特權。一個(gè)應用角色可授給其它角色或指定用戶(hù)。一個(gè)應用可有幾種不同角色,具有不同特權組的每一個(gè)角色在使用應用時(shí)可進(jìn)行不同的數據存取。
用戶(hù)角色是為具有公開(kāi)特權需求的一組數據庫用戶(hù)而建立的。用戶(hù)特權管理是受應用角色或特權授權給用戶(hù)角色所控制,然后將用戶(hù)角色授權給相應的用戶(hù)。
數據庫角色包含下列功能:
一個(gè)角色可授予系統特權或對象特權。
一個(gè)角色可授權給其它角色,但不能循環(huán)授權。
任何角色可授權給任何數據庫用戶(hù)。
授權給一用戶(hù)的每一角色可以是使能的或者使不能的。一個(gè)用戶(hù)的安全域僅包含當前對該用戶(hù)使能的全部角色的特權。
一個(gè)間接授權角色(授權給另一角色的角色)對一用戶(hù)可顯式地使其能或使不能。
在一個(gè)數據庫中,每一個(gè)角色名必須唯一。角色名與用戶(hù)不同,角色不包含在任何模式中,所以建立一角色的用戶(hù)被刪除時(shí)不影響該角色。
ORACLE為了提供與以前版本的兼容性,預定義下列角色:CONNENT、RESOURCE、DBA、EXP-FULL-DATABASE和IMP-FULL-DATABASE。
聯(lián)系客服