欢迎来到天天文库
浏览记录
ID:7828420
大小:40.50 KB
页数:4页
时间:2018-02-27
《oracle数据库安全性措施概述》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Oracle数据库的安全性措施概述一、用户标识和鉴定在Oracle中,最外层的安全性措施就是让用户标识自己的名字,然后由系统进行审核。只有正确的用户标识和口令才能登录到数据库。二、授权与检查机制Oracle的权限包括系统权限和数据库对象权限两类,采用非集中的授权机制,即数据库管理员(DatabaseAdministrator,简称DBA)负责授予与回收系统权限,每个用户授予与回收自己创建的数据库对象的权限。Oracle允许重复授权,即将某一权限多次授予统一用户。Oracle也允许无效回收,即用户没有
2、某种权限,但回收此权限的操作仍算是成功的。1、系统权限Oracle提供了80多种系统权限,其中包括创建会话、创建表、创建视图、创建用户等。DBA在创建一个用户时需要将其中的一些权限授予该用户。Oracle支持角色的概念。所谓角色就是一组系统权限的集合,目的在于简化对权限的管理。Oracle除允许DBA定义角色意外,还提供了预定义的角色,如CONNECT,RESOURCE和DBA。具有CONNECT角色的用户可以登录到数据库,执行查询语句和操作。即可以执行ALTERTABLE,CREATEVIEW,C
3、REATEINDEX,DROPTABLE,GRANT,REVOKE,INSERT,SELECT,UPDATE,DELECT等操作。具有RESOURCE角色的用户可以创建表,即执行CREATTABLE操作。创建表的用户将拥有对该表所有的权限。DBA角色可以执行某些授权命令,创建表,对任何表的数据进行操纵。它包括了前面两种角色的操作,还有一些管理操作,DBA角色拥有最高级别的权限。例如:DBA建立了一个USER_1用户以后,欲将CONNECT角色所能执行的操作授予USER_1,则可以通过下面这条语句实现
4、:GRANTCONNECTTOUSER_1;这样就更加简洁的实现了对用户的授权操作。2、数据库对象的权限在Oracle中,可以授权的数据库对象包括表、视图、序列、索引、函数等,其中用得最多,也是最重要的就是创建数据库基本表。对于基本表,Oracle支持三个级别的安全性:表级、行级和列级。(1)表级安全性表的创建者或DBA可以把表级的权限授予其他用户,表级的权限包括:INSERT插入数据记录ALTER修改表的定义DELETE删除数据记录INDEX在表上建立索引SELECT查找表中的数据UPDATE修改
5、表中的数据ALL包括以上所有的操作表级的授权是使用GRANT和REVOKE语句来实现的。(2)行级安全性Oracle行级的安全性由视图实现。用视图来定义表的水平子集,限定用户在视图上的操作,从而为表的行级提供保护。视图上的授权与回收和表级的授权与回收完全相同。例如:只允许用户USER_2查看STUDENT表中软件学院学生的数据,则首先创建软件学院学生视图SOFT_STU,然后将视图的SELECT权限授予USER_2用户。(3)列级安全性Oracle列级的安全性可以像行级一样由视图实现,实现方法和行级
6、的相同,也可以直接在基本表上定义。直接在基本表上定义和回收列级权限也是使用GRANT和REVOKE语句。例如:把对表STUDENT中SNO列和SNAME列的UPDATE权限授予USER_3,可以用如下命令:GRANTUPDATE(SNO,SNAME)ONSTUDENTTOUSER_3;相应回收此权限可以用:REVOKEUPDATEONSTUDENTFROMUSER_3;在Oracle中,表、行、列三级对象是一个自上而下的层次结构,其上一级对象的授权制约下一级对象的授权。例如当某一个用户拥有了对某个表
7、的UPDATE权限,即相对于在表的所有列都拥有了UPDATE权限。Oracle对数据库对象的权限采用分散控制方法,允许具有WITHGRANTOPTION的用户把相应权限或其子集传递授予其他用户,但不允许循环授权,即被授权者不能把权限再授回给授权者或其祖先,如图:Oracle把所有权限的信息记录在数据字典中。当用户进行数据库操作时,数据库首先根据字典中的权限信息,检查操作的合法性。在Oracle中,安全性检查是任何数据库操作的第一步。三、审计技术为了能够跟踪对数据库的访问,及时发现对数据库的非法访问和
8、修改,需要对访问数据库的一些重要事件进行记录,利用这些记录可以协助维护数据库的完整性,还可以帮助事后发现是哪一个用户在什么时间影响过哪些值。如果这个用户是一个黑客,审计日志可以记录黑客访问数据库敏感数据的踪迹和攻击敏感数据的步骤。在Oracle中审计分为用户级审计和系统级审计。用户级审计是任何Oracle用户可设置的审计,主要是用户针对自己创建的数据库表或试图进行审计,记录所有用户对这些表或视图的一切成功或不成功的访问要求以及各种类型的SQL操作。系统级的审计职能由D
此文档下载收益归作者所有