编辑: 雨林姑娘 | 2019-07-06 |
Authentication) ? 系统提供的最外层安全保护措施 ? 用户标识:由用户名和用户标识号组成 (用户标识号在系统整个生命周期内唯一) An Introduction to Database System 用户身份鉴别(续) ? 用户身份鉴别的方法 1.静态口令鉴别 ? 静态口令一般由用户自己设定,这些口令是静态不变的 2.动态口令鉴别 ? 口令是动态变化的,每次鉴别时均需使用动态产生的新口 令登录数据库管理系统,即采用一次一密的方法 3.生物特征鉴别 ? 通过生物特征进行认证的技术,生物特征如指纹、虹膜和 掌纹等 4.智能卡鉴别 ? 智能卡是一种不可复制的硬件,内置集成电路的芯片,具 有硬件加密功能 An Introduction to Database System 4.2 数据库安全性控制 4.2.1 用户标识与鉴别 4.2.2 存取控制 4.2.3 自主存取控制方法 4.2.4 授权:授予与回收 4.2.5 数据库角色 4.2.6 强制存取控制方法 An Introduction to Database System 4.2.2 存取控制 ? 存取控制机制组成 ? 定义用户权限,并将用户权限登记到数据字典中 ? 用户对某一数据对象的操作权力称为权限 ? DBMS提供适当的语言来定义用户权限,存放在数据字 典中,称做安全规则或授权规则 ? 合法权限检查 ? 用户发出存取数据库操作请求 ? DBMS查找数据字典,进行合法权限检查 ? 用户权限定义和合法权检查机制一起组成了数据库管理系 统的存取控制子系统 An Introduction to Database System 存取控制(续) ?常用存取控制方法 ? 自主存取控制(Discretionary Access Control ,简称 DAC) ? C2级?用户对不同的数据对象有不同的存取权限 ? 不同的用户对同一对象也有不同的权限 ? 用户还可将其拥有的存取权限转授给其他用户 An Introduction to Database System 存取控制(续) ?常用存取控制方法(续) ? 强制存取控制(Mandatory Access Control,简称 MAC) ? B1级?每一个数据对象被标以一定的密级 ? 每一个用户也被授予某一个级别的许可证 ? 对于任意一个对象,只有具有合法许可证的用户才可以存取 An Introduction to Database System 4.2 数据库安全性控制 4.2.1 用户标识与鉴别 4.2.2 存取控制 4.2.3 自主存取控制方法 4.2.4 授权:授予与回收 4.2.5 数据库角色 4.2.6 强制存取控制方法 An Introduction to Database System 4.2.3 自主存取控制方法 ?通过 SQL 的GRANT 语句和REVOKE 语句实现 ?用户权限组成 ? 数据对象 ? 操作类型 ?定义用户存取权限:定义用户可以在哪些数据库 对象上进行哪些类型的操作 ?定义存取权限称为授权 An Introduction to Database System 自主存取控制方法(续) ?关系数据库系统中存取控制对象 对象类型 对象 操作类型数据库 模式 模式 CREATE SCHEMA 基本表 CREATE TABLE,ALTER TABLE 视图 CREATE VIEW 索引 CREATE INDEX 数据 基本表 和视图 SELECT,INSERT,UPDATE,DELETE, REFERENCES, ALL PRIVILEGES 属性列 SELECT,INSERT,UPDATE, REFERENCES, ALL PRIVILEGES 关系数据库系统中的存取权限 An Introduction to Database System 4.2 数据库安全性控制 4.2.1 用户标识与鉴别 4.2.2 存取控制 4.2.3 自主存取控制方法 4.2.4 授权:授予与回收 4.2.5 数据库角色 4.2.6 强制存取控制方法 An Introduction to Database System 4.2.4 授权:授予与回收 1.GRANT ? GRANT语句的一般格式: GRANT [,]... ON [, ]… TO [,]... [WITH GRANT OPTION];
? 语义:将对指定操作对象的指定操作权限授予指定的用户 An Introduction to Database System GRANT(续) ?发出GRANT: ? 数据库管理员 ? 数据库对象创建者(即属主Owner) ? 拥有该权限的用户 ?按受权限的用户 ? 一个或多个具体用户 ? PUBLIC(即全体用户) An Introduction to Database System WITH GRANT OPTION子句 ?WITH GRANT OPTION子句: ? 指定:可以再授予 ? 没有指定:不能传播 ?不允许循环授权 An Introduction to Database System 例题 [例4.1] 把查询Student表权限授给用户U1 GRANT SELECT ON TABLE Student TO U1;