第四章 数据库安全性
数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏 。
系统安全保护措施是否有效是数据库系统主要的性能指标之一。
自主存取控制方法
通过 SQL 的GRANT 语句和REVOKE 语句实现
1.GRANT
GRANT语句的一般格式:
GRANT <权限>[,<权限>]...
ON <对象类型> <对象名>[,<对象类型> <对象名>]…
TO <用户>[,<用户>]...
[WITH GRANT OPTION];
发出GRANT: 数据库管理员 数据库对象创建者(即属主Owner) 拥有该权限的用户
WITH GRANT OPTION子句: 指定:可以再授予 没有指定:不能传播
模式 | CREATE SCHEMA |
基本表 | CREATE TABLE,ALTER TABLE |
视图 | CREATE VIEW |
索引 | CREATE INDEX |
基本表和视图 | SELECT,INSERT,UPDATE,DELETE,REFERENCES, ALL PRIVILEGES |
属性列 | SELECT,INSERT,UPDATE, REFERENCES,ALL PRIVILEGES |
各种权限表
2.REVOKE
REVOKE语句的一般格式为:
REVOKE <权限>[,<权限>]...
ON <对象类型> <对象名>[,<对象类型><对象名>]…
FROM <用户>[,<用户>]...[CASCADE | RESTRICT];
强制存取控制方法
(1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体
(2)仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体
审计(Audit)
启用一个专用的审计日志(Audit Log)将用户对数据库的所有操作记录在上面
AUDIT语句和NOAUDIT语句
AUDIT语句:设置审计功能
NOAUDIT语句:取消审计功能
实现数据库系统安全性的技术和方法
用户身份鉴别
存取控制技术:自主存取控制和强制存取控制
视图技术
审计技术
数据加密存储和加密传输