第四章 数据库安全性控制

用户身份鉴别

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

存取控制

  • 存取控制子系统
    • 定义用户权限 并将用户权限登记到数据字典中
    • 合法权限检查
  • 自主存取控制 在这里插入图片描述
  • 强制存取控制在这里插入图片描述

自主存取控制方法(DAC)

  • 在非关系数据库中 用户只能对数据进行操作 存取控制的数据库对象也仅限与数据本身
  • 在关系数据库系统中 存取控制的对象不仅仅有数据本身
    • 关系数据库系统中的存取权限
      在这里插入图片描述
  • 授权:授予与收回
    在这里插入图片描述
    • 授予 grant
    --例一:把查询Studrnt表的权限给用户U1
    grant select
    on Student
    to U1;
    --例二:把Student表和Course表的全部操作权限授予用户U2和U3
    granta all privileges
    on Student,Course
    to U2,U3;
    --例三:把对表SC的查询权限授予所有用户
    grant select
    on SC
    to public;
    --例四:把查询Student表和修改学生学号的权限授予给用户U4
    grant update(Sno),select
    on Student
    to U4;
    --例五:把对表SC的insert权限授予U5用户 并允许将此权限再授予其他用户
    grant insert
    on SC
    to U5
    with grant option;
    
    • 收回 revoke
    --例一:把用户U4修改学生学号的权限收回
    revoke update(Sno)
    on Student
    from U4;
    --例二:收回所有用户对SC的查询权限
    revoke select
    on SC
    from public
    --例三:把用户U5对SC表的insert权限收回 级联收回U6 和U7的权限
    revoke insert
    on SC
    from U5 cascade
    --cascade:级联收回权限
    --pestrict:非级联 有级联用户 系统拒绝执行该命令
    
    • 创建数据库格式
      在这里插入图片描述

数据库角色

数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合

--创建角色R1
create role R1;
--使用grant语句,使角色R1拥有Student表的select、update、insert权限
grant select,update,insert
on Student
to R1;
--将这个角色授予王平、赵明、赵玲,使他们具有R1所包含的全部权限
grant R1
to 王平,张明,赵玲;
-----------------------------------------------------------------
--角色创建的修改
--使角色R1在原来的基础上增加Student表的delect权限
grant delect
on Student
to R1
--使R1减少了select权限
revoke select
on Student
from R1

强制存取控制方法(MAC)

在这里插入图片描述

  • 仅当主体的许可证级别大于或等于客体的密级时,系统才能读取相应的客体
  • 仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值