【YashanDB知识库】数据库用户所拥有的权限查询

【问题分类】功能使用

【关键字】用户,权限,查询,汇总

【问题描述】如何确定崖山数据库中一个用户所拥有的所有权限

【问题原因分析】

给定一个用户 YCP1 ,如何确定它的所有权限(包含系统权限,对象权限,以及从所有角色继承到的权限)?

用户的所有权限等于以下查询得到的权限的总和:

-- 用户拥有哪些系统权限:

SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='YCP1';

-- 用户拥有哪些对象权限:

SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE='YCP1';

-- 用户拥有哪些角色

SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE='YCP1';

以下假设只拥有角色ROLE1,如果还有其他角色,逐个查询即可:

-- 角色拥有哪些系统权限:

SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='ROLE1';

-- 角色拥有哪些对象权限:

SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE='ROLE1';

用户YCP1的所有权限,等于以上查询的总和。

【解决/规避方法】-

【影响范围】-

【修复版本】-