数据库安全性设计

时间:2022-10-26 08:57:24

数据库安全性设计

摘 要:数据库的共享使用是其一个重要的作用和功能,但是数据共享如果不加入一些规则和限制会给数据库带来安全性问题。我们应该明白数据库系统中的数据共享不能是无条件的共享。如何保护数据库防止一些用户因不当的及不合法的使用造成数据更改、破坏或泄漏,这就需要使用一些技术手段。本文主要以Oracle数据库为对象研究如何运用安全措施保证数据库的安全。

关键词:数据库;数据共享;Oracle数据库;数据库安全

DOI:10.16640/ki.37-1222/t.2016.11.234

1 现状

现在信息系统的开发中数据库的设计所在比重越来越大,防止数据库不被非法访问、破坏和提高数据库的性能是数据库设计非常重要的环节,数据库安全性设计和性能优化已被广大系统开发者所重视。

2 保护数据库安全的措施

2.1 用户标识与鉴别

在我们使用的计算机系统中,安全措施是分很多层次的,用户标识与鉴别是系统所能够提供的安全保护措施中最外面的一层。其方法是由系统为用户提供一定的方式和规则让用户标识自己的名字或身份,以便每次用户登陆系统时,对比数据库记录的合法用户信息,通过验证方能访问数据库。具体设计数据库时我们可以创建sys_user表,这些用户的标识和鉴别信息在sys_user表中保存,用户每次登录系统时应用程序都会对比用户所输入的用户名和密码与数据库这样就可以确定用户是否合法。

2.2 存取控制

数据库安全中最重要的一方面是确保只允许有一定资格的用户去访问数据库定的表或者数据,这主要是通过数据库系统的存取控制实现的。目的是将用户权限等级到数据字典中。用户只访问他有权访问的数据。每当用户进行某些数据的查询、插入、修改、删除等操作时,先对其进行一些检查,主要检查这些用户的操作权限,若用户的操作请求超出了或者不符合系统定义的权限,系统将拒绝用户执行此操作。

比如:管理人员可以被允许访问系统内全部的数据;单个部门只能访问本部门的在建以及历史数据。

2.3 定义视图

视图是从一个或者多个表(视图)中所导出的表,其结构的构成和数据确立是建立在查询这些表(视图)基础上的。视图并不是真是存在的表而是一张虚表,视图所对应的数据是在视图所引用的基础表中存储的。

在关系数据库中,可以根据实际的需求为特定的用户定义特定的视图。让表中的一部分数据只对一部分特定的用户可见。如果一些数据是保密的,就可以使用视图把这些数据隐藏起来,使没有获得授权的用户不能看到这些数据。对数据库提供安全保护。

比如某公司有A、B两个部门,A部门只能访问本部门的在建、历史项目数据;其他项目的数据对其是不可见的。可以为A项目建立“部门人力资源视图”,从数据库“部门人力资源信息表”查看A项目的人员情况。

2.4 使用存储过程

存储过程通过隔离的方法提高了数据库的安全性,通过授权可以让用户只能执行存储构成而不能直接访问数据库对象。建立一个存储过程是很灵活的,并且可以实现一定的逻辑处理。

2.5 充分利用系统全局区域SGA(System Global Area)

我们用Oracle设计数据库,当我们启动Oracle的数据库时,系统为了储存用户所需要数据及Oracle正常运行所必备系统信息,首先会在内存内规划出来一个固定的区域使用。这个区域我们称为系统全局区(System Global Area),简称SGA。数据库管理员可以依据数据库实际运行状况根据需要调整数据库系统全局区(SGA区)的数据库缓冲区、共享池和日志缓冲区的大小。只有合理设置这些内存缓冲区,才可很大加快数据的查询速度,只要所使用的内存区足够大就可以把绝大多数的数据都存储在内存中,只有那些不活跃的不经常使用的数据,才从磁盘中读取。这里有一点是需要注意的,SGA区并不是我们想象的越大越好,SGA区如果过大就会占用操作系统所使用的内存从而引起虚拟内存的页面交换,这样的话反而会降低系统运行性能, SGA的尺寸不大于物理内存的一半是我们所设计的原则。

在 Oracle8i 中,SGA 的大小不是手动设置而是由初始化参数文件内的一些参数所设定,这其中有不是很方便的地方是每次调整后必须等重新激活数据库这才能生效。从Oracle9i 以后,DBA 可以动态配置内存的大小;这样的数据库技术我们称为「dynamicSGA。有了dynamic SGA ,SGA的各组成区域都可以动态地进行规划与调整,而不需先关闭数据库。

3 结束语

数据库管理员只有认真分析Oracle在其运行使用过程中可能出现的各种安全性问题,综合运用上面介绍的规律,Oracle数据库才能高效、安全、可靠地运行。这里还需要指出的是,数据库的安全是一个系统工程,涉及到方方面面,我们设计的时候要考虑到各个方面综合分析,不能只根据一个特定时间点的安全情况就断定数据库安全运行的好与坏。

参考文献:

[1]聂军.论数据库安全性设计[J].中国现代教育装备,2009(01).

[2]蛟平.云背景下的数据库安全性研究[J].价值工程,2015(21).

[3]常红梅.基于存储过程的数据库安全性实践初论[J].网络安全技术与应用,2014(04).

[4]郭霞.基于Oracle数据库性能优化技术研究[J].电脑知识与技术,2011(07).

上一篇:CRTS系列无砟轨道构造特点与优缺点 下一篇:信息隐藏技术的相关研究