数据库

简介: 数据库安全性

4.数据库安全性

数据库的安全性:保护数据库,防止不合法的使用导致的数据泄露、更改或破坏

4.1 数据库安全性概述

不安全因素:

  1. 非授权用户对数据库的恶意存取和破坏
  2. 数据库中重要或敏感的数据被泄露
  3. 安全环境的脆弱性

4.2 数据库安全性的控制

存取控制

1.自主存取控制
用户的授权与收回

grant 权限
on table 表名    
to 用户
[with grant option]    //允许该用户授权给其他用户

revoke 权限
on table 表名
from 用户 [cascade/restrict]    //级联

创建数据库模式的权限(由数据库管理员在创建用户时实现)

权限 create user create schema create table 登录操作数据库
DBA 可以 可以 可以 可以
resource 不可以 不可以 可以 可以
connect 不可以 不可以 不可以 有授权可以
角色的创建
create role 角色名

角色授权
grent 权限
on 对象(表)对象名(表名)
to 角色

将一个角色的权限授予其他用户
grant 角色
to 被授予角色
[with admin option] //可以在授予其他人

权限收回
revoke 权限
on 对象
from 角色
2.强制存取控制
数据库系统为它们每一个实例指派一个 敏感度标记

TS(绝密) >= S(机密) >= C(可信) >= P(公开)

仅当主体级别大于等于客体级别时,主体可读入相应客体 //高层看绝密

仅当主体级别小于等于客体级别时,主体才能写相应客体 //低层写信息

on 操作 怎么办

no action 拒绝执行
cascade 级联删除


foreign key (Sno) references Stduent(Sno)
    on delete cascade        //Student删除操作时,级联删除SC表中涉及到的元组
    on update cascade        //Student更新操作时,级联更新SC表中涉及到的元组
foreign key (Cno) references Course (Cno)
    on delete no action        //Course删除操作时,如果造成Course与SC不一致,拒绝删除
    on update cascade        //级联更新
违约拒绝执行
not null  //列值非空
unique        //列值唯一
check短语        //列值满足条件表达式    (允许使用谓词)

Sno char(10) not null
Sname char(10) unique
Ssex char(2) check(Ssex in('男','女'))
目录
相关文章
|
存储 缓存 关系型数据库
2、数据库相关
2、数据库相关
63 0
|
SQL Java 关系型数据库
数据库造成的SqlExceptionHelpe
在使用MySql 时, 数据库中的字段类型是timestamp的,默认为0000-00-00, 会发生异常:java.
1161 0
|
9月前
|
SQL Java 数据库
从0到1了解数据库—实现一个自己的数据库
从0到1了解数据库—实现一个自己的数据库
92 0
|
存储 消息中间件 NoSQL
数据库常识课
数据库常识课
78 0
|
SQL 数据库 Windows
数据库—耿建玲视频总结(二)
首先建库,就好比我们盖房子,我们可以自己盖(企业管理器建库),也可以包给别人让别人给盖(T语言建库)。
|
SQL 数据库
【数据库视频】总结
【数据库视频】总结
104 0
【数据库视频】总结
|
SQL Oracle 关系型数据库
|
存储 SQL 开发框架
|
关系型数据库 MySQL 数据库
数据库
数据库
194 1

热门文章

最新文章