数据库4:数据库的安全性

一、学习目标

二、选择&填空&判断(基础知识

数据库安全性概述

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

-威胁数据库安全的因素:非授权用户对数据库的恶意存取和破坏、数据库中重要或敏感的数据被泄露、安全环境的脆弱性

–DBMS提供的安全措施主要包括用户身份鉴别存取控制视图等技术。

-DBMS提供的主要技术有强制存取控制数据加密存储加密传输等审计日志

-TCSEC标准 C2 B1 要重点看一下

-CC标准

 


数据库安全性控制 

-用户标识和鉴定

--标识概念:由用户名(user name)和用户标识号(UID)组成

--方法:静态口令鉴别、动态口令鉴别、生物特征鉴别、智能卡鉴别

-存取控制

--定义用户和权限

       定义用户:用户名+密码+权限

       CONNECT用户可以登录数据库,只有拥有一些表的权限的时候才能对数据查询和操作

       RESOURCE用户可以创建表(ps:以上为ORACLE,SQL中RESOURCE包含CONNECT)

创建用户

CREATE USER USER_NAME IDENTIFIED BY PASSWORD

        用户权限的组成:数据对象+操作类型

--合法权限检查

--常用的存取控制方法

先进行自主存取控制检查,通过自主存取控制检查的数据对象再由系统进行强制存取控制检查,只有通过强制存取控制检查的数据对象方可存取

        ※自主存取控制DACC2:用户对象对不同的数据对象有不同的存取权限,不同的用户对同一对象也有不同的权限(这部分的GRANT 和REVOKE 语法要熟悉)

                发出GRANT的对象:DBA、属主、拥有该权限的用户

                接受授权的对象:一个或多个用户,全部用户(PUBLIC)

                WITH GRANT OPTION·:可以将该权限授予他人但不能循环授权

 GRANT  CREATE SELECT ON TABLE_NAME TO USER [WITH GRANT OPTION]

(to在最后面,有时候我会把on和to的顺序搞反)

GRANT SELECT ON TABLE student TO USER1;

GRANT ALL ON TABLE student TO U1,U2;

GRANT SELECT ON TABLE SC TO PUBLIC

GRANT UPDATE(Sno),SELECT ON TABLE student TO U4

REVOKE CREATE.... ON TABLE_NAME FROM USER

[CASCADE CONSTRAINTS|RESTRICT]

REVOKE SELECT,UPDATE,INSERT ON student FROM USER

ROLE数据库角色:是被命名的一组权限

CREATE ROLE ROLE_NAME;

给角色权限

GRANT SELECT...跟上面一样

把角色授权给用户 

GRANT ROLE_NAME TO USER [WITH ADMIN OPTION]

收回角色的某些权限

REVOKE UPDATE FROM ROLE-NAME

删除

DROP ROLE 

查看权限

SELECT * FROM

        01.USER_COL_PRIVS_RECD 你被授予的行级权限

        02.USER_ROLE_PRIVS 查看哪些权限被授予给了角色

        03.USER_TAB_PRIVS_MADE 你授予的表级权限

        04.USER_TAB_PRIVS_RECD 你被授予的表级权限 

        05.USER_COL_PRIVS_MADE 你授予的行级权限

       ※ 强制存取控制MACB1:每一个数据对象被标定一定的密级,用户授予某一个级别的许可证,无论如何复制数据,标记和数据都是不可分的整体

        -主体和客体

        -敏感度标记(绝密TS 机密S 可信C 公开P)

        -许可证级别:主体的敏感度

        -密级:客体的敏感度

        -强制存取控制的存取规则!:

(1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体;

(2)仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体。


视图机制

用视图过滤掉表里面不想让用户看到的东西,再把视图的操作权限给用户


审计

-审计:启用一个专用的审计日志,将用户对数据库的所有操作记录在上面

-缺点:浪费时间和空间

-DBA可以灵活的关闭or开启审计功能

-审计事件

-审计功能

AUDIT 设置审计

AUDIT ALTER,UPDATE ON TABLE_NAME;设置对某个表的alter和update的审计

NOAUDIT取消审计

NOAUDIT ALTER,UPDATE ON TABLE_NAME;

-用户级审计:用户自己设置,针对自己的表and视图

-系统级审计:DBA设置


数据加密

-加密方法:存储加密和传输加密

-存储加密:

        透明存储加密:内核级加密保护方式,对用户完全透明,性能好,安全完备性高

        非透明存储加密:通过多个加密函数

-传输加密:

        链路加密

        端到端加密


其他安全性保护

推理控制、隐蔽信道、数据隐私

猜你喜欢

转载自blog.csdn.net/karonneveralone/article/details/122320979
今日推荐