- 数据库系统的安全性来自两个方面
- DBMS本身
- 用户身份识别
- 视图
- 使用权限控制
- 审计
- 应用程序
- 访问数据库进程控制和管理
- 用户标识和鉴别
- 口令方式
- 是身份认证最基本方式,用户提供的账户和密码与数据库中保存的账户和密码进行比较,如果匹配能成功,否则拒绝登录
- 这个方式往往是数据库登录的第一步
- 强身份认证
- 对用户输入的口令采用一些安全领域的技术保障口令从客户端到DBMS服务器过程中不被窃取
- 安全措施包括
- 数字证书
- 智能卡
- 用户指纹识别
- 数据授权
- 用户角色授权:对不同的数据库角色授予不同的操作权限
- 授权分类
- 数据库登录权限
- 数据查询
- 建立视图
- 不能修改数据库中任何值
- 资源管理权限
- 创建数据表、索引
- 修改数据表建立
- 查询数据表
- 授权其他用户
- 申请审计
- DBA权限
- 数据库管理的所有权限
- 访问控制
- 指的是控制用户访问数据库的范围,包括
- 数据库级
- 关系级
- 元组级
- 属性级
- 指的是控制用户访问数据库的范围,包括
- 数据库登录权限
- 视图
- 概念:是一种虚拟关系,视图包含的对象不真实存在于数据库中
- 组成:由select查询的结果构成视图的结果集
- 使用场景
- 将用户限定在固定的元组(可以理解为记录)上,比如雇员只能查询自己的记录
- 将用户限定在特定的属性上,比如非财务雇员只能查询姓名、工作电话。家庭地址等信息,不能查工资信息
- 将多个关系中的属性连接起来,形成一个特定关系
- 提供聚合信息而非详细信息,比如显示属性的最大值和最小值
- 审计和跟踪
- 审计与跟踪
- 跟踪:捕捉用户行为用于分析,不是长久保存
- 审计:作为一种安全检查的措施,将系统运行情况和用户的操作系统以日志的形式保存下来,作为回查用户行为的一种证据
- 审计分类
- 用户审计
- 用户对所有关系或者视图的查询行为,包括用户名、操作时间、查询语言等
- 保存在操作系统中或者DBMS的日志文件中
- 系统审计:主要是系统一级命令和数据对象的使用情况
- 用户审计