第四章 数据库安全性控制

文章目录

  • 用户身份鉴别
  • 存取控制
  • 自主存取控制方法(DAC)
  • 数据库角色
  • 强制存取控制方法(MAC)

用户身份鉴别

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

存取控制

  • 存取控制子系统
    • 定义用户权限 并将用户权限登记到数据字典中
    • 合法权限检查
  • 自主存取控制
  • 强制存取控制

自主存取控制方法(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)

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

你可能感兴趣的:(数据库笔记)