Oracle数据库的体系结构和用户管理(7)

对象权限是指针对某个特定的模式对象执行操作的权力。只能针对模式对象来设置和管理对象权限,包括数据库中的表、视图、序列、存储过程等。如下图所示:

Oracle数据库的体系结构和用户管理


Oracle数据库用户有两种获取权限的途径:①直接向用户授予权限;②将权限授予角色,再将角色授予一个或多个用户。使用角色能够更加方便和高效地对权限进行管理。所以数据库管理员通过使用角色向用户授予权限,而不是直接向用户授予权限。在Oracle数据库系统中预定义了很多角色,其中最常用的主要有CONNECT角色、RESOURCE角色、DBA角色等。

Oracle中常用的系统预定义角色如下:

CONNECT:拥有连接数据库的权限;

RESOURCE:拥有创建表、触发器、过程等权限;

DBA:数据库管理员角色,拥有管理数据库的最高权限;一个具有DBA角色的用户可以授权任何其他用户甚至其他DBA权限,这是很危险的,因此不要轻易授予该角色;

新创建的用户必须授予一定的权限才能进行相关数据库的操作。授权通过CRANT语句,取消授权则通过REVOKE语句。

1)创建bob账户,授权和撤销授权基本操作语法示例 SQL> alter session set container=orclpdb; <!--切换到orclpdb数据库--> Session altered. SQL> create user bob identified by 123456; <!--创建账户bob--> User created. SQL> grant connect,resource to bob; <!--授权bob用户拥有连接数据库和创建表、触发器、过程等权限--> Grant succeeded. SQL> revoke connect,resource from bob; <!--撤销授权--> Revoke succeeded.

数据库用户安全设计原则如下:

数据库用户去哪先按照最小分配原则;

数据库用户可分为管理、应用、维护、备份四类用户;

不允许使用sys和system用户建立数据库应用对象;

禁止对普通用户授予dba权限;

对查询用户只能开放查询权限;

对新建用户初次登录数据库时强制修改密码;

一般程序开发人员只要授予 CONNECT和RESOURCE两个角色即可。特别注意,授予这两个角色就包含了授予用户无限制使用默认表空间的权限。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/374791edb744d280f0c5ab3ac7203636.html