四、数据库安全性(选择、填空、SQL语句)
1.数据库安全性:保护数据库以防止不合法使用造成的数据泄露、更改和破坏。
2.数据库的不安全因素:
(1)非授权用户对数据库的恶意存取和破坏;
(2)数据库中重要或者敏感数据被泄露;
(3)安全环境的脆弱性。
3.措施:
(1)用户身份的鉴别:静态口令鉴别、动态口令鉴别、生物特征鉴别和智能卡鉴别
(2)存取控制:自主存取控制方法和强制存取控制方法
自主存取控制方法:用户对不同的数据库对象有不同的存取权限,不同的用户对待同一对象有不同的存取权限,而且用户也可以把存取权限转授给其他用户,所以自主存取控制方法非常灵活。
强制存取控制方法:每一个数据库对象被标有一定的密级,每一个用户也被授予某一个级别的许可证。只有合法许可证的用户才可以进行存取,相对来说比较严格。
模式-create schema
表-create table / alter table
视图-create view
索引-create index
基本表和视图:insert /delete /update/ select/ references /all privileges
属性列:insert / update/ select/ references /all privileges
授权:
grant 权限1,权限2 on table 表名 to 用户1,用户2 [with grant option];
收回:
revoke 权限1,权限2 on table 表名 from 用户1,用户2 <cascade/restrict>;
创建角色:
create role R1;
给角色授权:
grant select on table student to R1;
把角色的权利授权:
grant R1 to 王平,张萌 [with admin option];
角色权利的收回:
revoke select on table student from R1;
(3)视图
优点:简化用户的操作;从不同的角度看待同一数据;一定程度上增加了数据库的逻辑独立性;为机密数据提供安全保护
(4)审计
审计:把用户对数据库的所有操作自动记录下来放入审计日志中。
审计员可以利用审计日志监控数据库的各种行为,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
ex:对修改sc表结构或者修改sc表数据的操作进行审计
audit alter,update on sc;
ex:取消对sc表的一切审计
noaudit alter,update on sc;
(5)数据加密:存储加密、传输加密