首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 教學

Oracle 用戶、角色、權限數據字典完整對照表

     編輯:Oracle 教學

Oracle 安全體系數據字典速查手冊

掌握 DBA_、ALL_、USER_ 三大前綴視圖,快速定位用戶、角色、系統/對象權限及其關係。

一、基礎實體視圖

實體DBA_ 視圖 (全庫)ALL_ 視圖 (可訪問)USER_ 視圖 (當前用戶)
用戶DBA_USERSALL_USERSUSER_USERS
角色DBA_ROLES——
系統權限定義SYSTEM_PRIVILEGE_MAP——
對象權限定義TABLE_PRIVILEGE_MAP——

二、授權關係視圖 (含 _PRIVS 後綴)

1. 用戶 ↔ 角色

視圖說明關鍵列
DBA_ROLE_PRIVS所有用戶/角色擁有的角色GRANTEE (用戶/角色), GRANTED_ROLE
USER_ROLE_PRIVS當前用戶擁有的角色USERNAME, GRANTED_ROLE
ROLE_ROLE_PRIVS角色被授予的角色ROLE, GRANTED_ROLE

注意:無 ALL_ROLE_PRIVS;DBA_ROLE_PRIVS.GRANTEE 同時包含用戶與角色名。

2. 用戶 ↔ 系統權限

視圖說明
DBA_SYS_PRIVS所有用戶/角色的系統權限
USER_SYS_PRIVS當前用戶的系統權限

無 ALL_SYS_PRIVS。

3. 用戶/角色 ↔ 對象權限 (表/視圖/列)

視圖範圍粒度
DBA_TAB_PRIVS / ALL_TAB_PRIVS / USER_TAB_PRIVS表/視圖權限對象級
DBA_COL_PRIVS / ALL_COL_PRIVS / USER_COL_PRIVS列權限列級

4. 角色 ↔ 權限

視圖說明
ROLE_SYS_PRIVS角色擁有的系統權限
ROLE_TAB_PRIVS角色擁有的對象權限

三、授予/被授予方向視圖

視圖含義
USER_TAB_PRIVS_MADE / ALL_TAB_PRIVS_MADE當前用戶/可訪問用戶 授出 的表權限
USER_TAB_PRIVS_RECD / ALL_TAB_PRIVS_RECD當前用戶/可訪問用戶 獲得 的表權限
USER_COL_PRIVS_MADE / ALL_COL_PRIVS_MADE授出的列權限
USER_COL_PRIVS_RECD / ALL_COL_PRIVS_RECD獲得的列權限

四、實用查詢範例

-- 查某用戶所有系統權限
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'SCOTT';

-- 查某角色包含的對象權限
SELECT * FROM ROLE_TAB_PRIVS WHERE ROLE = 'DBA';

-- 查用戶 SCOTT 直接擁有的角色
SELECT GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'SCOTT';
來源:CSDN huang_xw
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved