网络安全

位置:IT落伍者 >> 网络安全 >> 浏览文章

ORACLE培训教程(2)-数据库的安全性、完整性、并发控制和恢复


发布日期:2023年09月18日
 
ORACLE培训教程(2)-数据库的安全性、完整性、并发控制和恢复

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

数据库的安全性

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

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

在DB存储这一级可采用密码技术当物理存储设备失窃后它起到保密作用在数据库系统这一级中提供两种控制用户标识和鑒定数据存取控制

在ORACLE多用户数据库系统中安全机制作下列工作

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

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

l控制磁盘使用

l控制系统资源使用

l审计用户动作

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

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

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

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

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

l用户的资源限制

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

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

数据安全性是指在对象级控制数据库的存取和使用的机制包含

l哪些用户可存取一指定的模式对象及在对象上允许作哪些操作类型

在ORACLE服务器上提供了一种任意存取控制是一种基于特权限制信息存取的方法用户要存取一对象必须有相应的特权授给该用户已授权的用户可任意地可将它授权给其它用户由于这个原因这种安全性类型叫做任意型

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

l数据库用户和模式

l特权

l角色

l存储设置和空间份额

l资源限制

l审计

.数据库的存取控制

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

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

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

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

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

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

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

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

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

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

l用户可用的特权和角色

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

l用户的系统资源限制

)用户鑒别

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

操作系统确认和相应的ORACLE数据库确认

如果操作系统允许ORACLE可使用操作系统所维护的信息来鑒定用户由操作系统鑒定用户的优点是

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

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

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

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

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

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

l用户的缺省表空间

l用户的临时表空间

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

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

用户可用的各种系统资源总量的限制是用户安全域的部分利用显式地设置资源限制安全管理员可防止用户无控制地消耗宝贵的系统资源资源限制是由环境文件管理一个环境文件是命名的一组赋给用户的资源限制另外ORACLE为安全管理员在数据库级提供使能或使不能实施环境文件资源限制的选择

ORACLE可限制几种类型的系统资源的使用每种资源可在会话级调用级或两者上控制在会话级每一次用户连接到一数据库建立一会话每一个会话在执行SQL语句的计算机上耗费CPU时间和内存量进行限制对ORACLE的几种资源限制可在会话级上设置如果会话级资源限制被超过当前语句被中止(回滚)并返回指明会话限制已达到的信息此时当前事务中所有之前执行的语句不受影响此时仅可作COMMITROLLBACK或删除对数据库的连接等操作进行其它操作都将出错

在调用级在SQL语句执行时处理该语句有好几步为了防止过多地调用系统ORACLE在调用级可设置几种资源限制如果调用级的资源限制被超过语句处理被停止该 语句被回滚并返回一错误然而当前事务的已执行所用语句不受影响用户会话继续连接

有下列资源限制

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

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

lORACLE在会话级还提供其它几种资源限制

每个用户的并行会话数的限制

会话空闲时间的限制如果一次会话的ORACLE调用之间时间达到该空闲时间当前事务被回滚会话被中止会话资源返回给系统

每次会话可消逝时间的限制如果一次会话期间超过可消逝时间的限制当前事务被回滚会话被删除该会话的资源被释放

每次会话的专用SGA空间量的限制

用户环境文件

用户环境文件是指定资源限制的命名集可赋给ORACLE数据库的有效的用户利用用户环境文件可容易地管理资源限制要使用用户环境文件首先应将数据库中的用户分类决定在数据库中全部用户类型需要多少种用户环境文件在建立环境文件之前要决定每一种资源限制的值例如一类用户通常不执行大量逻辑数据块读那就可将LOGICALREADSPERSESSION和LOGICALREADSPERCALL设置相应的值在许多情况中决定一用户的环境文件的合适资源限制的最好的方法是收集每种资源使用的历史信息

.特权和角色

)特权特权是执行一种特殊类型的SQL语句或存取另一用户的对象的权力有两类特权系统特权和对象特权

系统特权是执行一处特殊动作或者在对象类型上执行一种特殊动作的权利ORACLE有多种不同系统特权每一种系统允许用户执行一种特殊的数据库操作或一类数据库操作

系统特权可授权给用户或角色一般系统特权全管理人员和应用开发人员终端用户不需要这些相关功能授权给一用户的系统特权并具有该 系统特权授权给其他用户或角色反之可从那些被授权的用户或角色回收系统特权

对象特权在指定的表视图序列过程函数或包上执行特殊动作的权利对于不同类型的对象有不同类型的对象特权对于有些模式对象如聚集索引触发器数据库链没有相关的对象特权它们由系统特权控制

对于包含在某用户名的模式中的对象该用户对这些对象自动地具有全部对象特权即模式的持有者对模式中的对象具有全部对象特权这些对象的持有者可将这些对象上的任何对象特权可授权给其他用户如果被授者包含有GRANT OPTION 授权那么该被授者也可将其权利再授权给其他用户

)角色为相关特权的命名组可授权给用户和角色ORACEL利用角色更容易地进行特权管理有下列优点

l减少特权管理不要显式地将同一特权组授权给几个用户只需将这特权组授给角色然后将角色授权给每一用户

l动态特权管理如果一组特权需要改变只需修改角色的特权所有授给该角色的全部用户的安全域将自动地反映对角色所作的修改

l特权的选择可用性授权给用户的角色可选择地使其使能(可用)或使不能(不可用)

l应用可知性当一用户经一用户名执行应用时该数据库应用可查询字典将自动地选择使角色使能或不能

l专门的应用安全性角色使用可由口令保护应用可提供正确的口令使用权角色使能达到专用的应用安全性因用户不知其口令不能使角色使能

一般建立角色服务于两个目的为数据库应用管理特权和为用户组管理特权相应的角色称为应用角色和用户角色

应用角色是授予的运行一数据库应用所需的全部特权一个应用角色可授给其它角色或指定用户一个应用可有几种不同角色具有不同特权组的每一个角色在使用应用时可进行不同的数据存取

用户角色是为具有公开特权需求的一组数据库用户而建立的用户特权管理是受应

上一篇:数据库中安全知识介绍

下一篇:着名安全专家Litchfield对Oracle开火