1. 程式人生 > >Oracle DB 許可權與角色

Oracle DB 許可權與角色

11、將角色分配給使用者 可以使用角色來管理資料庫許可權。可以向角色新增許可權,並將該角色授予給使用者。使用者然後可以啟用角色,從而行使角色授予的許可權。角色包含授予給該角色的所有許可權,以及授予給該角色的其它角色的所有許可權。 預設情況下,Enterprise Manager 會自動將CONNECT角色授予給新使用者。這樣,使用者可連線到資料庫,然後在自己的方案中建立資料庫物件。 要將角色分配給使用者,請執行以下操作: 1.在Enterprise Manager Database Control 中,單擊“Server(伺服器)”選項卡,然後 在“Security(安全)”標題下單擊“Users(使用者)。” 2.選擇使用者,然後單擊“Edit(編輯)”按鈕。 3.單擊“Roles(角色)”選項卡,然後單擊“Edit List(編輯列表)”按鈕。 4.在“Available Roles(可用角色)”中選擇所需角色,然後將其移至“Selected Roles(所選角色)”中。 5.分配了所有適當的角色後,單擊“OK(確定)”按鈕。 也可以使用grant語句來將角色分配給使用者 grant oe_clerk to scott; grant hr_clerk to hr_manager; grant hr_manager to scott with admin option; 12、建立預設的角色
•一個使用者可以分配很多角色; •一個使用者可以分配一個預設的角色; •一個使用者的預設角色有數量的限制。 使用sql語言如下: alter user scott default roll hr_clerk,oe_clerk; alter user scott default role all; alter user scott default role all except hr_clerk; alter user scott default role none; 13、撤銷使用者的角色 只有具有admin option或者grant any role 的許可權的使用者才能撤銷。 revoke oe_clerk from scott; revoke hr_manager from public; 14、刪除角色
drop一個角色,相當於移除了所有使用者和角色所授予的角色,從資料庫中移除。 要求具有admin option或者drop any role的許可權。 sql:drop role hr_manager; 15、資料字典保護

啟用資料字典保護:

可以通過設定初始化引數O7_DICTIONARY_ACCESSIBILITY 為false來保護資料字典。

此引數可以防止使用者(擁有任何系統許可權即是在SYS模式物件的許可權的使用者)來使用這些資料字典。

oracle資料庫提供高度細化的許可權。

一個這樣的特權,通常所說的任何特權,通常授予唯一的應用程式的owners和個人的資料庫管理員。

例如,可以授予DROP ANY TABLE 的許可權給一個應用程式所有者,通過開啟或關閉的07_DICTIONARY_ACCESSIBILITY初始化引數,免遭意外或惡意使用的任何特權,可以保護Oracle資料字典。

啟用資料字典保護工作流

  1. 使用em登陸到Oracle Enterprise Manager Database Control (Database Control).

  2. 點選Server"伺服器",點選Initialization Parameters“初始化引數”。

  3. 搜尋O7_DICTIONARY_ACCESSIBILITY這個引數。

  4. O7_DICTIONARY_ACCESSIBILTY設定為FALSE。

  5. 點選應用,然後重啟資料庫。

O7_DICTIONARY_ACCESSIBILITY引數:

O7_DICTIONARY_ACCESSIBILITY控制對系統許可權的限制。如果該引數被設定為true時,sys模式中的物件都可以訪問資料字典。預設設定為false,確保系統許可權被允許訪問其他任何模式,而不能訪問sys模式。

例如,O7_DICTIONARY_ACCESSIBILITY設定為false,那麼SELECT ANY TABLE 的許可權允許訪問除了sys模式(資料字典不能被訪問)中任何檢視或表。系統許可權EXECUTE ANY PROCEDURE ,可以訪問任何模式除了sys模式。

如果這個引數設定為falise,你需要訪問在sys模式的物件,那麼必須明確授予物件許可權。以下角色,可以授予資料庫管理員,也允許訪問字典物件:

  • SELECT_CATALOG_ROLE

  • EXECUTE_CATALOG_ROLE

  • DELETE_CATALOG_ROLE

16、相關的檢視