Oracle学习笔记之与权限相关的视图-阿里云开发者社区

开发者社区> 数据库> 正文

Oracle学习笔记之与权限相关的视图

简介: Oracle学习笔记之与权限相关的视图

在平时的运维工作中,与权限有关的视图会经常用到。为不同的用户分配相应的权限,既能提高工作效率又能保护数据库的安全性。下面我来总结下经常用的几个权限视图。

1.DBA_XXX_PRIVS

DBA_XXX_PRIVS包括所有的系统权限、角色和对象。可以使用sys用户来查询我们想要查询的目标。

DBA_SYS_PRIVS

DBA_SYS_PRIVS describes system privileges granted to users and roles.
图片.png
该视图包括了赋予所有用户和角色的系统权限。
ADMIN_OPTION为YES表示被赋予权限的用户可以将该权限赋予其他用户;NO则表示不可以赋予其他用户,也就是不能够传递权限。
例如,SCOTT用户的系统权限。
图片.png
常用的CONNECT角色拥有的系统权限。
图片.png

DBA_ROLE_PRIVS

DBA_ROLE_PRIVS describes the roles granted to all users and roles in the database.
图片.png
该视图包含了赋予所有用户和角色的角色。
例如,SCOTT用户拥有的角色。
图片.png

DBA_TAB_PRIVS

DBA_TAB_PRIVS describes all object grants in the database.
图片.png
包含了所有赋予的对象权限。
GRANTABLE和ADMIN_OPTION的作用一样,表示该用户可以将自己拥有的权限授权给别人。
以下就是对象权限的内容。
图片.png
例如,赋予SCOTT用户的对象权限。
图片.png

2. USER_XXX_PRIVS

USER_XXX_PRIVS包含当前用户的系统权限、对象权限和角色。以下用Oracle默认的普通用户举例子。

USER_SYS_PRIVS

USER_SYS_PRIVS describes system privileges granted to the current user.
图片.png
该视图包含了当前用户被赋予的系统权限。
图片.png

USER_ROLE_PRIVS

USER_ROLE_PRIVS describes the roles granted to the current user.
图片.png
包含了当前用户被赋予的角色。
图片.png

USER_TAB_PRIVS

USER_TAB_PRIVS describes the object grants for which the current user is the object owner, grantor, or grantee. Its columns are the same as those in DBA_TAB_PRIVS.
图片.png
包含了用户被赋予的对象权限。
图片.png

3.ROLE_XXX_PRIVS

ROLE_XXX_PRIVS包含角色用有的系统权限、对象权限和角色。

ROLE_SYS_PRIVS

ROLE_SYS_PRIVS describes system privileges granted to roles. Information is provided only about roles to which the user has access.
图片.png
包含了角色拥有的系统权限。
例如,角色CONNECT就拥有CREATE SESSION的系统权限。
图片.png

ROLE_ROLE_PRIVS

ROLE_ROLE_PRIVS describes the roles granted to other roles. Information is provided only about roles to which the user has access.
图片.png
包含了角色被赋予的角色。
例如,角色DBA被赋予的有哪些角色。
图片.png

ROLE_TAB_PRIVS

ROLE_TAB_PRIVS describes table privileges granted to roles. Information is provided only about roles to which the user has access.
图片.png
包含了角色被赋予的对象权限。
例如,角色ORDADMIN被赋予的对象权限。

4.总结

以DBA开头的视图包含了数据库内所有的系统权限、对象权限和角色。在登陆sys用户后,可以查看。如果想要查看某个用户或某个角色,那么需要GRANTEE条件。
以USER开头的视图包含了当前用户的系统权限、对象权限和角色。
以ROLE开头的视图包含了该角色拥有的系统权限、对象权限和角色。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章