第四章 数据库安全性 Yusncun@
问题的提出 –数据库的一大特点是数据可以共享 –但数据共享必然带来数据库的安全性问题 –数据库系统中的数据共享不能是无条件的共 享
什么是数据库的安全性 数据库的安全性是指保护数据库,防止 因用户非法使用数据库造成数据泄露、 更改或破坏。
数据库保护概况 数据库破坏类型– – – – – – – – 人为破坏; 对数据操作引入的数据错误。 系统错误; 并发执行引起数据不一致; 人为破坏 ── 数据库安全; 对数据操作引入的数据错误 ── 数据库完整性。 系统错误── 故障恢复; 并发执行引起数据不一致 ── 并发控制;
各种类型的保护措施
本章主要内容: 计算机安全性概论 数据库安全性控制
4.1 计算机安全性概论 什么是计算机系统安全性– 为计算机系统建立和采取的各种安全保护措 施,以保护计算机系统中的硬件、软件及数 据,防止其因偶然或恶意的原因使系统遭到 破坏,数据遭到更改或泄露等。
三类计算机系统安全性问题 技术安全类 管理安全类 政策法律类
TCSEC/TDI安全级别划分安全级别 A1 B3 B2 定义 验证设计(Verified Design) 安全域(Security Domains) 结构化保护(Structural Protection)
B1C2 C1
标记安全保护(Labeled Security Protection) 受控的存取保护(Controlled Access Protection) 自主安全保护(Discretionary Security Protection) 最小保护(Minimal Protection)
D
4.2 数据库安全性控制高
安全性控制层次
低
用户
DBMS
OS
DB
用户标识 和鉴定
存取控制 审计 视图
操作系统 安全保护
密码存储
数据库安全性控制的常用方法 用户标识和鉴定 存取控制 视图 审计 密码存储
(一) 用户标识与鉴别 系统提供的最外层安全保护措施– 软件验证技术:口令验证、问/答验证等技 术; – 硬件验证技术:指纹验证、声音识别验证、 手写签名验证、手型几何验证和身份卡验证 等技术。
在实际运用中,可根据需要选择其中的 一种或多种技术进行用户验证。
(二) 存取控制 DBMS规定用户想要操作DB中的数据,必 须拥有相应的权限。 DBMS将授权结果存放入数据字典。 当用户提出操作请求时,DBMS会根据数 据字典中保存的授权信息,判断用户是 否有权对相应对象进行操作,若无权则 拒绝执行操作。
常用存取控制方法 自主存取控制(Discretionary Access Control ,简称DAC)– C2级 – 灵活
强制存取控制(Mandatory Access Control,简称 MAC)– B1级 – 严格
1. 自主存取控制方法 自主存取控制就是由用户(如数据库管 理员)自主控制
对数据库对象的操作权 限,哪些用户可以对哪些对象、进行哪 些操作,完全取决于用户之间的授权。 通过 SQL 的 GRANT 语句和 REVOKE 语句实现
关系数据库系统中存取控制对象对象类型 数据库 对象 模式 基本表 模式 视图 索引 数据 数据 基本表和视图 属性列 CREATE SCHEMA CREATE TABLE,ALTER TABLE CREATE VIEW CREATE INDEX SELECT,INSERT,UPDATE,DELETE,REFERENCES, ALL PRIVILEGES SELECT,INSERT,UPDATE, REFERENCES ALL PRIVILEGES 操作类型
关系数据库系统中的存取权限
授权与回收 创建登录账号 可以通过CREATE LOGIN语句创建登录账号。格式如下: CREATE LOGIN login_name {WITH option_list1 | FROM sources} sources定义为: WINDOWS [WITH windows_options [,...]] option_list1定义为: PASSWORD = 'password' [ MUST_CHANGE ] [,option_list2 [ ,...]] option_list2定义为: DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language | CHECK_EXPIRATION = { ON | OFF} | CHECK_POLICY = { ON | OFF} windows_options定义为: DEFAULT_DATABASE = database| DEFAULT_LANGUAGE = language
例,– CREATE LOGIN log1 WITH PASSWORD = '000000',DEFAULT_DATABASE = test
删除登录账号使用T-SQL语句删除登录账号 使用T-SQL语句DROP LOGIN删除登录 账号。其基本格式如下: DROP LOGIN login_name例,DROP LOGIN log1
数据库用户账号管理使用T-SQL语句创建用户账号 其基本格式如下:CREATE USER user_name [ { { FOR | FROM } { LOGIN login_name } | WITHOUT LOGIN ] [ WITH DEFAULT_SCHEMA = schema_name ]
例, CREATE USER u1 FOR LOGIN log1
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说英语学习第4章数据库安全性控制在线全文阅读。
相关推荐: