第八章数据库管理系统安全与控制

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

3、介质故障
■ 系统在运行过程中 , 由于某种硬件故障 ,使存储 在外存中的数据部分丢失或全部丢失 。这种情况 称为介质故障 。发生介质故障后 ,存储在磁盘上 的数据被破坏 ,这时需要装入介质故障前某个时 刻的数据副本 ,并重做自此时开始的所有成功的 事务 ,将这些事务已提交的结果重新记入数据库。 当然 ,在大部分网站都有实时备份, 因此,当主 服务器出现故障时 ,可以从备份服务器中导入数 据 ,或者从实时热备份磁盘中获得相应的数据。
■ 1 . 1 .3 数据库管理系统
(DDaattaabbaasseeMMaannaaggeemmeennttSSyysstteemmDDBBMMSS) )
■ 数据库管理系统是一种操纵和管理数据库的大型软件,是 用于建立、使用和维护数据库 , 简称DBMS。数据库管理 系统位于用户与操作系统(OS)之间的一层数据管理软 件 ,它对数据库进行统一的管理和控制, 以保证数据库的 安全性和完整性 。用户通过DBMS访问数据库中的数据, 数据库管理员也通过DBMS进行数据库的维护工作。它提 供多种功能 ,可使多个应用程序和用户用不同的方法在同 时或不同时刻去建立 ,修改和询问数据库。
3.3并发控制
■ 数据库是一个共享资源 ,可以多个用户使用 。这些用户程 序可以一个一个地串行执行 ,每个时刻只有一个用户程序 运行 ,执行对数据库的存取 ,其他用户程序必须等到这个 用户程序结束以后才能对数据库存取 。但是 ,如果一个用 户程序涉及大量数据的输入/输出交换 ,则数据库系统的 大部分时间处于闲置状态 。因此 ,为了充分利用数据库资 源 ,发挥数据库共享资源的特点 ,应该允许多个用户并行 地存取数据库 。但这样就会产生多个用户程序并发存取同 一数据的情况 ,若对并发操作不加控制就可能会存取和存 储不正确的数据 ,破坏数据库的不一致 。所以数据库管理 系统必须提供并发控制机制 。并发控制机制的好坏是衡量 一个数据库管理系统性能的重要标志。
第八章 数据库管理 系统安全与控制
1. 数据库管理系统简述
■ 电子商务业务大量涉及数据信息的传输、处理和存储 ,数 据管理技术和数据库管理系统是实现电子商务信息处理的 基础和条件 ,是电子商务的关键支撑技术之一 , 电子商务 所涉及的数据信息都存储在数据库中 ,数据库管理员也通 过数据库管理系统进行数据库的维护工作 ,数据库受到侵 害直接会导致电子商务业务信息的泄漏、更改或破坏 。数 据库的安全性(security)是指保护数据库避免不合法的使用, 以免数据的泄漏、更改或破坏 。保护数据库的安全 , 除了 DBMS之外 ,还要有工作环境和人员的管理、操作系统和 网络的授权使用和安全管理等 ,本章阐述内容就是数据库 管理系统安全及其相关理论
■ 数据库系统中的数据是由DBMS统一管理和 控制的 ,为了适应数据共享的环境 ,DBMS 必须提供数据的安全性 、完整性 、并发控 制和数据库恢复等数据保护能力 , 以保证 数据库中数据的安全可靠和正确有效。
■ 数据库的安全性是指保护数据库 , 防止因 用户非法使用数据库造成数据泄露 、更改 或破坏。
1.1数据库系统含义和功能
· 1 . 1基本概念 ■ 1 . 1 . 1 数据库(DatabaseDB) ■ 数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合 。这种
数据集合具有如下特点:尽可能不重复 , 以最优方式为某个特定组织的多种 应用服务 ,其数据结构独立于使用它的应用程序 ,对数据的增、删、改和检 索由统一软件进行管理和控制 。从发展的历史看 ,数据库是数据管理的高级 阶段 ,它是由文件管理系统发展起来的。 ■ பைடு நூலகம் . 1 . 2 数据库系统(DatabaseSystemDBS) ■ 数据库系统是一个实际可运行的存储 、维护和应用系统提供数据的软件系统, 是存储介质、处理对象和管理系统的集合体 。它通常由软件、数据库和数据 管理员组成 。其软件主要包括操作系统、各种宿主语言、实用程序以及数据 库管理系统 。数据库由数据库管理系统统一管理,数据的插入、修改和检索 均要通过数据库管理系统进行 。数据管理员负责创建、监控和维护整个数据 库 ,使数据能被任何有权使用的人有效使用 。数据库管理员一般是由业务水 平较高 、资历较深的人员担任
3. 1安全性控制的一般方法
■ 1.用户标识和鉴定 ■ 2. 存取控制 ■ 3. 定义视图 ■ 4. 审计 ■ 5. 数据加密
3.2. 完整性控制
■ 数据库的完整性是指数据的正确性和相容性 。数据库是否具备完整性 关系到数据库能否真实地反映现实世界 , 或者说 , 网站内部真实的内 容 , 因此维护数据库的完整性是非常重要的。
2、系统故障
■ 系统故障是指系统在运行过程中 , 由于某种原因 ,如操作系统或DBMS代码 错误 、操作员操作失误、特定类型的硬件错误等造成系统停止运行 ,致使所 有正在运行的事务都以非正常方式终止 。这时内存中数据库缓冲区的信息全 部丢失 ,但存储在外部存储设备上的数据未受影响 ,这种情况称为系统故障。 发生系统故障时 ,一些尚未完成的事务的结果可能已经送入物理数据库,为 保证数据一致性 , 需要清除这些事务对数据库的所有修改 。但由于无法确定 究竟哪些事务已更新过数据库, 因此系统重新启动后 ,恢复程序要强行撤消 所有未完成事务 ,使这些事务像没有运行一样 。另一方面 ,发生系统故障时, 有些已完成事务提交的结果可能还有一部分甚至全部留在缓冲区, 尚未写入 到磁盘上的数据库中 ,系统故障使得这些事务对数据库的修改部分或全部丢 失 ,这也会使数据库处于不一致状态 , 因此应将这些事务已提交的结果重新 写入数据库 。同样 , 由于无法确定哪些事务的提交结果尚未写入物理数据库, 所以系统重新启动后 ,恢复程序除需要撤消所有未完成事务外 ,还需要重做 所有已提交的事务 , 以将数据库真正恢复到一致状态。
■ (3) 防止推断性攻击 , 防止从非保密信息中获得保密数据 , 尤其对 于统计型数据库。
■ (4) 数据库的存取安全性 , 该需求涉及到防止更改数据内容的非授 权访问 , 以及病毒 , 蓄意破坏 , 或是系统级错误及故障等 , 这主要由 通过系统控制以及备份与恢复机制执行并完成保护工作。
■ (5) 数据的操作完整性 ,在并行事务的模式下 , 保持数据的逻辑一 致性 ,通常采用并行管理器和加锁机制完成。
4.2 恢复的实现策略和技术
■ 恢复就是利用存储在系统其他地方的冗余 数据来恢复数据库中被破坏的或不正确的 数据 。因此 ,恢复机制涉及的两个关键的 问题是: 第一 ,如何建立冗余数据;第二, 如何利用这些冗余数据实施数据库恢复。
1、数据转储
■ 转储是指DBA将整个数据库复制到磁带或 另一个磁盘上保存起来的过程 。这些备用 的数据文本称为后备副本 ,这种过程一般 用于介质故障的使用 。转储是网站中数据 库恢复的常用技术 。但重装后后备副本只 能将数据库恢复到转储的状态 ,要想恢复 到故障发生的状态 , 必须重新运行自转储 以后的所有更新事务。
数据完整性检查 ,事务的并发控制及系统恢复等功能。
■ 1 .2 .6 数据库的维护
■ 为数据库管理员提供软件支持 ,包括数据安全控制、完整 性保障、数据库备份、数据库重组以及性能监控等维护工 具。
1.2. 发展历史和主要产品
■ 1 、数据库管理系统发展历史 ■ 2 、主流数据库管理系统简介
2.数据库系统安全需求
1.2 数据库管理系统的主要功能
■ 1 . 2 . 1 模模式式翻翻译译
■ 提供数据定义语言(DDL) , 用它书写的数据库模式被翻译为内部表示。 数据库的逻辑结构 、完整性约束和物理储存结构保存在内部的数据字 典中 。数据库的各种数据操作(如查找 、修改 、插入和删除等)和数据 库的维护管理都是以数据库模式为依据的。
■ 数据库运行过程中可能发生的故障主要有三类: 事务故障、 系统故障和介质故障 。不同的故障其恢复方法也不一样。
1、事务故障
■ 事务是数据库的基本运行单位 。一个事务中包含 的操作要么全部完成 ,要么全部不做 。事务在运 行过程中由于种种原因 ,如受到内部的误操作或 外部的攻击 ,使事务未运行至正常终止点就夭折 了 ,这种情况称为事务故障 。发生故障时 ,夭折 的事务可能把对数据库的部分修改写入磁盘 ,恢 复程序要在不影响其他事务运行的情况下 ,强行 回滚(ROLLBACK)该事务 , 即清除该事务对数 据库的所有修改 ,使得这个事务像根本没有启动 过一样,这类恢复操作称为事务撤消(UNDO)。
误 、操作员的失误造成运行事务非正常中断 ,影响数据的正确性 ,为保证数 据库中的数据都能从错误状态恢复到某种逻辑一致的状态 ,数据库管理系统 中必须有恢复系统 。逻辑完整性是指确保数据库中数据的一致 ,正确性以及 符合企业规则的一种思想 ,是使无序数据条理化 ,确保正确的数据被存放在 正确位置的一种手段 ,要满足完整性约束。 ■ (2)数据库保密性 ■ 主要是指防止数据库数据信息泄露 , 只有授权用户才可以访问数据信息 ,用 于防止未授权用户访问或复制数据 ,通常是通过加密技术来实现保密性。 ■ (3)数据库可用性 ■ 保障数据库的正常操作流程顺利进行。
■ 数据的完整性与安全性是数据库保护的两个不同方面 。安全性是防止 用户非法使用数据库 , 包括恶意破坏数据和越权存取数据 。完整性则 是防止合法用户使用数据库时想数据库中加入不合语义的数据 。也就 是说 , 安全性措施的防范对象是非法用户和非法操作 , 完整性措施的 防范对象是不合语义的数据。
■ 为维护数据库的完整性 ,DBMS必须提供一种机制来检查数据库中的 数据 ,看是否满足语义规定的条件 。这些加在数据之上的语义约束成 为数据库完整性约束条件 , 它们作为模式的一部分存入数据库中 。而 DBMS中检查数据满足完整性条件的机制成为完整性检查。
■ 1 . 2 . 2 应用程序的编译 ■ 把包含着访问数据库语句的应用程序 , 编译成在DBMS支持下可运行
的目标程序。 ■ 1 . 2 . 3 交互式查询 ■ 提供易使用的交互式查询语言 , 如SQL。DBMS负责执行查询命令,
并将查询结果显示在屏幕上。
■ 1 .2 .4 数据的组织与存取
■ 提供数据在外围储存设备上的物理组织与存取方法 。 ■ 1 .2 .5事务运行管理 ■ 提供事务运行管理及运行日志 ,事务运行的安全性监控和
4 数据库恢复策略
■ 为了保证各种故障发生后 ,数据库中的数据都能从错误状 态恢复到某种逻辑一致的状态 ,数据库管理系统中恢复字 系统是比不可少的 。如果数据库系统运行中发生故障 ,有 些事务尚未完成就被迫中断 ,这些未完成事务对数据库所 做的修改有一部分已写入物理数据库 。这时数据库就处于 一种不正确的状态 ,或者说是不一致的状态 ,就需要 DBMS的恢复子系统,根据故障类型采取相应的措施 ,将 数据库恢复到某中一致的状态。
■ (6) 数据的语义完整性 ,确保对数据在允许的范围之内修改 , 以保 持数据的一致完
■ 整性。
■ (7) 数据库加密保护 ,使数据不易被非法用户索取和使用。
■ (8) 审计功能 , 提供数据的物理完整性 , 并记录下对数据的所有存 取访问 , 根据结果进行分析与追踪。
3.数据库系统管理安全控制
■ 2. 1数据库安全管理框架 ■ 数据库系统的安全框架可以划分为三个层
次: ■ (1) 网络系统层次; ■ (2)宿主操作系统层次; ■ (3)数据库管理系统层次。
2.2数据库管理系统安全需求
■ 对于数据库系统管理而言 ,安全性主要包括三个方面 。 ■ ( 1) 数据库完整性 ■ 包括物理完整性和逻辑完整性 ,物理完整性指由于计算机硬件故障 、软件错
■ 基于以上三个方面 , 数据库安全管理具体要求包括以下几点:
■ (1) 防止不适当访问 , 这是本文首要关注和讨论的一点 , 主要指只 对授权的合法用户给予访问权限。
■ (2) 分级保护 , 依据数据敏感级别分立多级进行保护"在包含敏感!非 敏感混合数据的数据库中 , 就需要严格控制对敏感数据的访问请求, 只能是经过授权的用户有权进行某些操作 , 并且不允许其权利传播或 转让。
相关文档
最新文档