数据库的安全性和完整性及其实现机制

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库的安全性和完整性及其实现机制

为了保证数据库数据的安全可靠性和正确有效,DBMS必须提供统一的数据保护功能。数据保护也为数据控制,主要包括数据库的安全性、完整性、并发控制和恢复。

一、数据库的安全性

数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。计算机系统都有这个问题,在数据库系统中大量数据集中存放,为许多用户共享,使安全问题更为突出。

在一般的计算机系统中,安全措施是一级一级设置的。

在DB存储这一级可采用密码技术,当物理存储设备失窃后,它起到保密作用。在数据库系统这一级中提供两种控制:用户标识和鉴定,数据存取控制。在ORACLE多用户数据库系统中,安全机制作下列工作:

防止非授权的数据库存取;

防止非授权的对模式对象的存取;

控制磁盘使用;

控制系统资源使用;

审计用户动作。

数据库安全可分为二类:系统安全性和数据安全性。

系统安全性是指在系统级控制数据库的存取和使用的机制,包含:

有效的用户名/口令的组合;

一个用户是否授权可连接数据库;

用户对象可用的磁盘空间的数量;

用户的资源限制;

数据库审计是否是有效的;

用户可执行哪些系统操作。

数据安全性是指在对象级控制数据库的存取和使用的机制,包含:哪些用户可存取一指定的模式对象及在对象上允许作哪些操作类型。在ORACLE服务器上提供了一种任意存取控制,是一种基于特权限制信息存取的方法。用户要存取一对象必须有相应的特权授给该用户。已授权的用户可任意地可将它授权给其它用户,由于这个原因,这种安全性类型叫做任意型。

ORACLE利用下列机制管理数据库安全性:

数据库用户和模式;

特权;

角色;

存储设置和空间份额;

资源限制;

审计。

1.数据库的存取控制

ORACLE保护信息的方法采用任意存取控制来控制全部用户对命名对象的存取。用户对对象的存取受特权控制。一种特权是存取一命名对象的许可,为一种规定格式。

ORACLE使用多种不同的机制管理数据库安全性,其中有两种机制:模式和用户。模式为模式对象的集合,模式对象如表、视图、过程和包等。第一数据库有一组模式。

每一ORACLE数据库有一组合法的用户,可存取一数据库,可运行一数据库应用和使用该用户各连接到定义该用户的数据库。当建立一数据库用户时,对该用户建立一个相应的模式,模式名与用户名相同。一旦用户连接一数据库,该用户就可存取相应模式中的全部对象,一个用户仅与同名的模式相联系,所以用户和模式是类似的。

用户的存取权利受用户安全域的设置所控制,在建立一个数据库的新用户或更改一已有用户时,安全管理员对用户安全域有下列决策:

是由数据库系统还是由操作系统维护用户授权信息。

设置用户的缺省表空间和临时表空间。

列出用户可存的表空间和在表空间中可使用空间份额。

设置用户资源限制的环境文件,该限制规定了用户可用的系统资源的总量。

规定用户具有的特权和角色,可存取相应的对象。

每一个用户有一个安全域,它是一组特性,可决定下列内容:

用户可用的特权和角色;

用户可用的表空间的份额;

用户的系统资源限制。

1)用户鉴别:

为了防止非授权的数据库用户的使用,ORACLE提供二种确认方法

操作系统确认和相应的ORACLE数据库确认。如果操作系统允许,ORACLE可使用操作系统所维护的信息来鉴定用户。由操作系统鉴定用户的优点是:

用户可更方便地连接到ORACLE,不需要指定用户名和口令。

对用户授权的控制集中在操作系统,ORACLE不需要存储和管理用户口令。然而用户名在数据库中仍然要维护。

在数据库中的用户名项和操作系统审计跟踪相对应。

ORACLE数据库方式的用户确认:ORACLE利用存储在数据库中的信息可鉴定试图接到数据库的一用户,这种鉴别方法仅当操作系统不能用于数据库用户鉴别时才使用。当用户使用一ORACLE数据库时执行用户鉴别。每个用户在建立时有一个口令,用户口令在建立对数据库连接时使用,以防止对数据库非授权的使用。用户的口令以密码的格式存储在数据库数据字典中,用户可随时修改其口令。

2)用户的表空间设置和定额

关于表空间的使用有几种设置选择:

用户的缺省表空间;

用户的临时表空间;

数据库表空间的空间使用定额。

3)用户资源限制和环境文件

用户可用的各种系统资源总量的限制是用户安全域的部分。利用显式地设置资源限制;安全管理员可防止用户无控制地消耗宝贵的系统资源。资源限制是由环境文件管理。一个环境文件是命名的一组赋给用户的资源限制。另外ORACLE为安全管理员在数据库级提供使能或使不能实施环境文件资源限制的选择。ORACLE可限制几种类型的系统资源的使用,每种资源可在会话级、调用级或两者上控制。在会话级:每一次用户连接到一数据库,建立一会话。每一个会话在执行SQL语句的计算机上耗费CPU时间和内存量进行限制。对OR ACLE的几种资源限制可在会话级上设置。如果会话级资源限制被超过,当前语句被中止(回滚),并返回指明会话限制已达到的信息。此时,当前事务中所有之前执行的语句不受影响,此时仅可作COMMIT、ROLLBACK或删除对数据库的连接等操作,进行其它操作都将出错。在调用级:在SQL语句执行时,处理该语句有好几步,为了防止过多地调用系统,ORAC LE在调用级可设置几种资源限制。如果调用级的资源限制被超过,语句处理被停止,该

语句被回滚,并返回一错误。然而当前事务的已执行所用语句不受影响,用户会话继续连接。

有下列资源限制:

为了防止无控制地使用CPU时间,ORACLE可限制每次ORACLE调用的CPU时间和在一次会话期间ORACLE调用所使用的CPU的时间,以0.01秒为单位。

为了防止过多的I/O,ORACLE可限制每次调用和每次会话的逻辑数据块读的数目。

相关文档
最新文档