
第五章数据库的保护5.1数据库的安全性5.2数据库的完整性5.3数据库的并发控制5.4数据库的恢复5.5数据库的复制与镜像
第五章 数据库的保护 5.1 数据库的安全性 5.2 数据库的完整性 5.3 数据库的并发控制 5.4 数据库的恢复 5.5 数据库的复制与镜像

5.1数据库的安全性数据库的安全性是指保护数据库以防止不合法的使用造成泄漏、更改或破坏等采用的方法有:一用户标识和鉴别一存取权限控制一使用视图一审计一数据加密数据库系统的安全模型应用OSDBDBMS用户标识密码存储存取控制操作系统保护
5.1 数据库的安全性 ⚫ 数据库的安全性是指保护数据库以防止不合法 的使用造成泄漏、更改或破坏等。 ⚫ 采用的方法有: – 用户标识和鉴别 – 使用视图 – 数据加密 ⚫ 数据库系统的安全模型 – 存取权限控制 – 审计 应用 DBMS OS DB 用户标识 存取控制 操作系统保护 密码存储

5.1.1用户标识和鉴别一般由系统管理员(DBA)为每个用户建立一个用户名(用户标识/帐号)和用户口令。用户必须使用此标识方可进入系统语法:CREATE USER IDENTIFIEDBY二次登录问题
5.1.1用户标识和鉴别 ⚫ 一般由系统管理员(DBA)为每个用户建立一 个用户名(用户标识/帐号)和用户口令。用户 必须使用此标识方可进入系统 ⚫ 语法: CREATE USER IDENTIFIED BY ⚫ 二次登录问题

5.1.2存取控制存取权限两要素:一数据对象一操作类型授权一定义某用户对哪些数据对象具有哪些类型的操作数据对象的粒度一表、列、行(一般由视图实现)一粒度越细,授权子系统越灵活,安全性越完善。但系统开销越大,数据字典庞大
5.1.2存取控制 ⚫ 存取权限两要素: – 数据对象 – 操作类型 ⚫ 授权 – 定义某用户对哪些数据对象具有哪些类型的操作 ⚫ 数据对象的粒度 – 表、列、行(一般由视图实现) – 粒度越细,授权子系统越灵活,安全性越完善。但 系统开销越大,数据字典庞大

>权限限制的种类一对用户进行控制。用户只可以访问自己的子模式一对操作类型进行控制操作一般包括:查询、修改、插入、删除等用户可以被授予不同的操作权限一对数据对象的控制用户可以被限制访问某些表或表的列
➢ 权限限制的种类 – 对用户进行控制。 用户只可以访问自己的子模式 – 对操作类型进行控制 操作一般包括:查询、修改、插入、删除等 用户可以被授予不同的操作权限 – 对数据对象的控制 用户可以被限制访问某些表或表的列

>权限组(角色)概念一角色是数据库预先设置的一系列具有某种常用权限的组合。某用户属于一个角色就拥有该角色的所有权限了>SYBASE的一些角色- sa role- sso role- sybase ts role navigator role
➢ 权限组(角色)概念 – 角色是数据库预先设置的一系列具有某种常用权限 的组合。某用户属于一个角色就拥有该角色的所有 权限了 ➢ SYBASE的一些角色 – sa_role – sso_role – sybase_ts_role – navigator_role

>ORACLE中的三类角色一:Connect(用于数据库录入人员)可以访问ORACLE?对于允许的表可以做查询和更新操作。?建立视图和同义词一Resource(用于开发人员)●具有Connect的所有权限建表、索引、聚簇等权限对于自已创建的对象可以操作并可以给他人赋权●使用审计命令DBA(用于管理人员)具有Resource的所有权限可以访问任何用户的数据授予或收回用户权限建立公共同义词建立和修改分区执行数据库的卸出审计
➢ ORACLE中的三类角色 – Connect(用于数据库录入人员) ⚫ 可以访问ORACLE ⚫ 对于允许的表可以做查询和更新操作。 ⚫ 建立视图和同义词 – Resource(用于开发人员) ⚫ 具有Connect的所有权限 ⚫ 建表、索引、聚簇等权限 ⚫ 对于自己创建的对象可以操作并可以给他人赋权 ⚫ 使用审计命令 – DBA(用于管理人员) ⚫ 具有Resource的所有权限 ⚫ 可以访问任何用户的数据 ⚫ 授予或收回用户权限 ⚫ 建立公共同义词 ⚫ 建立和修改分区 ⚫ 执行数据库的卸出 ⚫ 审计

Oracle中存取控制的语法一授权语句/新建用户GRANT [CONNECT|RESOURCEDBA] TO[IDENTIFIEDBY ]一收回权限/删除用户:REVOKE[CONNECTRESOURCEDBA]FROM一操作权限控制GRANTONTO[WITH GRANT OPTION]其中“操作权”包括:SELECT、INSERT、DELETE、UPDATE、ALTER、INDEX、ALL对象拥有者自然用于对对象的操作权,只有拥有者和DBA可以将对象的操作权赋予别人
⚫ Oracle中存取控制的语法 – 授权语句/新建用户 GRANT [CONNECT | RESOURCE | DBA] TO [IDENTIFIED BY ] – 收回权限/删除用户: REVOKE [CONNECT | RESOURCE | DBA] FROM – 操作权限控制 GRANT ON TO [WITH GRANT OPTION] ⚫其中“操作权”包括:SELECT、INSERT、DELETE、 UPDATE、ALTER、INDEX、ALL ⚫对象拥有者自然用于对对象的操作权,只有拥有者和DBA 可以将对象的操作权赋予别人

5.1.3定义视图可以通过建立视图屏蔽用户不该看到的数据内容,但视图的主要功能是实现数据独立性,其安全保护功能不够精细5.1.4数据加密ORACLE和SYBASE数据库都提供对存储过程的加密,在SYBASE中使用SPHIDETEXT
5.1.3定义视图 ⚫ 可以通过建立视图屏蔽用户不该看到的数据内 容,但视图的主要功能是实现数据独立性,其 安全保护功能不够精细 5.1.4数据加密 ⚫ ORACLE和SYBASE数据库都提供对存储过程 的加密,在SYBASE中使用SP_HIDETEXT

5.1.5审计非强制性安全保护措施,自动记录对数据库的访问存取痕迹分为用户级和系统级一用户级主要用户设置,针对用户自已创建的对象的审计,包括对这些对象的各种访问一系统级审计是DBA进行的,针对用户登录的成功与否以及对数据库级权限的操作审计常常消耗大量时间和空间资源,所以一般作为可选项可灵活打开和关闭,视系统的安全性要求而定例:对SC表的ALTER和UPDATE进行审计AUDIT ALTER, UPDATE ON SC取消对SC表的任何审计NOAUDIT ALL ON SC
5.1.5审计 ⚫ 非强制性安全保护措施,自动记录对数据库的 访问存取痕迹 ⚫ 分为用户级和系统级 – 用户级主要用户设置,针对用户自己创建的对象的 审计,包括对这些对象的各种访问 – 系统级审计是DBA进行的,针对用户登录的成功与 否以及对数据库级权限的操作 ⚫ 审计常常消耗大量时间和空间资源,所以一般 作为可选项可灵活打开和关闭,视系统的安全 性要求而定 例:对SC表的ALTER和UPDATE进行审计 AUDIT ALTER,UPDATE ON SC 取消对SC表的任何审计 NOAUDIT ALL ON SC