我是靠谱客的博主 专注导师,最近开发中收集的这篇文章主要介绍数据库 第四章 数据库安全性数据库安全性概述安全控制方法审计数据加密,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

  • 数据库安全性概述
    • 什么是数据库安全性
    • 影响数据库安全性的因素
  • 安全控制方法
    • 用户身份鉴别
    • 存取控制
    • 数据库的角色
    • 视图机制
  • 审计
  • 数据加密

数据库安全性概述

什么是数据库安全性

保护数据库以防止不合法的使用造成数据泄露、更改或破坏

影响数据库安全性的因素

(1)非授权用户对数据库的恶意存储和破坏(用户身份鉴别、存储控制、视图等)
(2)数据库重要或敏感信息泄露(强制存取控制、数据加密存储、加密传输)
(3)安全环境的脆弱性

安全控制方法

用户身份鉴别

静态口令鉴别、动态口令鉴别、生物特征鉴别、智能卡鉴别

存取控制

存取控制机制:定义用户权限(定义用户权限的数据记录在数据字典中)、合法权限检查(用户发出请求,数据库查找数据字典,根据安全规则进行合法性检查)
1、 自主存取控制:定义个用户对于不同的数据对象的存储权限。当用户访问数据库时,首先检查用户的存储权限,防止不合法用户对数据库的存储

数据库权限
在这里插入图片描述

权限的授予Grant
GRANT <权限> ON TABLE 表名(列名) TO 用户名 [WITH GARNT OPTION]

WITH GRANT OPTION:代表用户可以将自己的权限授权给其他用户

例题1、把对Student和Couser表的全部操作授权给用户U2、U3

GRANT ALL PRIVILEGES 
ON TABLE Student, Couser 
TO U2, U3;

例题2、把查询Student表和修改学生学号的权限授权给用户U4

GRANT SELECT, UPDATE(S#) 
ON TABLE Student 
TO U4;

回收权限REVOKE
REVOKE <权限> ON <数据对象> FROM <数据库用户名> cascade|restrict

cascade 级联:在收回用户的权限时,该用户授权给其他用户的权限也收回
restrict:当收回某一用户权限时,若该用户还授权把权限授权给了其他用户,则无法收回

例题1、将用户U1修改学生学号的权限收回

REVOKE UPDATE(S#) 
ON TABLE Student
FROM U1;

2、强制存取控制
主体存取客体的规则:
(1)当主体的许可证级别大于或等于客体的密级时,允许主体读取客体
(2)当主体的许可证级别小于或者等于客体的密级,允许主体写相应的客体

数据库的角色

角色的创建、授权、把角色授权给其他用户或角色、角色权限的收回
数据库角色:角色是指一类人,被命名的一组与数据库操作相关的权限,数据库时权限的集合
1、角色的创建
create role <角色名>
2、角色的授权
grant <权限> on <对象类型>对象名 to <角色名1>,<角色名2>
3、将角色授权给其他用户或角色
grant <角色> to 角色或者用户名称 [with grant option]
4、角色权限的收回
revoke <权限> on <对象名> from 角色名
例题:通过角色来实现将一组权限授权给一个用户

//1、创建一个角色R1
CREATE ROLE R1;
//2、角色R1拥有Student表的SELECT、UPDATE、INSERT、权限
GRANT SELECT, UPDATE, INSERT 
ON TABLE Student
TO R1;
//3、将角色授权给王平、张玲,是他们具有R1角色所包含的全部权限
GRANT R1
TO 王平, 张玲;
//4、一次性通过R1收回王平的三个权限
REVOKE R1 FROM 王平;
//5、使角色R1在原来的基础上增加对Student表的DELETE权限
GRANT DELETE 
ON TABLE Student
TO R1;

视图机制

为不同的用户定义不同的视图,把不需要的数据隐藏起来,这样用户就可以避免进行误操作

create view CS_Student
as select * from Student where Sdept = 'IS';

grant select
on table CS_Student
to 王平;

grant all privileges
on table CS_Student
to 张玲; 

审计

什么是数据库的审计功能
审计功能就是将用户对数据库的索引操作记录到审计日志里
为什么提供审计功能
因为任何系统的安全措施都不是完美无缺的,蓄意盗窃破坏数据的人总是可能存在的。
利用数据库的审计功能,审计员可以根据审计日志中记录的信息分析和重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
audit开启审计功能

noaudit关闭审计功能
例题1、对修改SC表结构或修改SC表数据的操作进行审计

AUDIT UPDATE, ALTER
ON SC;

例题2、取消对SC表的一切审计

NOAUDIT ALTER, UPDATE ON SC;

数据加密

数据存储加密
数据传输加密

最后

以上就是专注导师为你收集整理的数据库 第四章 数据库安全性数据库安全性概述安全控制方法审计数据加密的全部内容,希望文章能够帮你解决数据库 第四章 数据库安全性数据库安全性概述安全控制方法审计数据加密所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部