数据库系统概论第五版学习笔记数据库安全性 第四章

一、安全目标

二、安全定义:是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏。

三、安全标准:TCSEC/TDI

四、安全级别:A1~DA1B3B2B1C2C1D)(逐级降低)

五、安全控制机制:4种(存取控制、视图、审计、存储过程)

 

1. 存取控制

(1)DAC自主存取 C2级 灵活

(2)MAC 强制存取 B1级 严格

 

2. DAC策略

(1)授权

     GRANT<权限>  --数据的增删改查

     ON<>

     TO<用户>

     [ WITH GRANT OPTION ] /*获得某种授权的用户,还可以把这种权限授予其他用户*/

     注:发出该GRANT语句的可以是数据库管理员、该数据库对象创建者、拥有该权限的用户

 

(2)创建用户

     Sp_addlogin ‘U8’, @passwd=’123’

     Go

     Sp_grantdbclass ‘U8’, ‘U8’  /*服务器层,用户层*/

     [ WITH GRANT OPTION ]

(3)权限设置

     /*把对学生表的查询和插入权限授给用户张三*/

     Grant select, insert

     On student

     To 张三

 

      全部权限:ALL PRIVILEGES

      全部用户:PUBLIC

     ƒ 权限限制:用圆括号指明

 

     例:把查询student表和修改学生学号的权限授给用户U4

       GRANT UPDATE( Sno ), select

       ON student

       TO U4;

 

3. 删除用户

 1)删除对应架构(服务器)

 2)删除用户

  注:顺序不能颠倒

 

4. 改变当前用户命令(将一个人的权限授权给另一个人)

   SETUSER ‘U5’

   GRANT INSERT

   ON SC

   TO U6

   WITH GRANT OPTION   /*此语句表明U6可以将此权限授予其他用户,若无此句,则U6不能再传播此权限*/

 

5. 收回授权命令

  REVOKE <权限>

  ON <对象>

  FROM <用户>

 例:把用户U5SC表的INSERT权限收回

  REVOKE INSERT

  ON SC

  FROM U5 CASCADE /*(级联)若用户U5将此权限授予其他用户,这里也将被收回*/

 

6. 角色概念

  数据库角色是被命名的一组与数据库操作相关的权限。可以为一组具有相同权限的用户创建一个角色,使用角色来管理数据库权限可以简化授权的过程。

  1)角色:权限的集合

CREATE ROLE<角色名>

例:创建角色R1

CREATE ROLE R1

  2)通过角色授权

GRANT 角色    /*创建角色,给角色赋值,通过角色给用户赋权限*/

TO 用户    

例:使角色R1拥有Student表的SELECTUPDATEINSERT权限

GRANT SELECT, UPDATE, INSERT

ON TABLE Student

TO R1

将一个角色授予其他的角色或用户

GRANT<角色1>[,<角色2>]...

TO <角色3>[,<用户1>]...

[WITH ADMIN OPTION] /*此语句表明,获得某种权限的角色或用户可以把这种权限再授予其他的角色*/

例:将这个角色授予王平、张明、赵玲,使他们具有角色R1所包含的全部权限

GRANT R1

TO 王平, 张明,赵玲

 3 )角色权限的收回

例:通过R1一次性地收回王平的三个权限

REVOKE R1

FROM 王平

例:收回所有用户对表 的查询权限

REVOKE SELECT

ON SC

FROM PUBLIC

 

7. MAC(强制存取控制方法)策略

  1)用户不能干预

  2)密级标记(原理)

  3)能够为系统保证更高程度的安全性

 

8. 视图机制

   对视图授权,收权

 

9. 审计(对日志审计)

  审计功能把用户对数据库的所有操作自动记录下来放入审计日志。

   1)费时(所以不能经常执行)

   2)对安全要求高的部分审计

   3)审计由人来启动和关闭

 
 1)打开审计

   Audit 权限

   On 对象

   例:对修改SC表数据的操作进行审计

   AUDIT UPDATE

   ON SC

  2)查看审计结果

   Sp_andittrail

  3)关闭审计

   NOAVDIT 权限

   ON 对象

   例:取消对SC表的一切审计

   NOAUDIT UPDATE

   ON SC

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