【计算机三级数据库技术】第9章 数据库的安全管理--附思维导图

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
简介: 文章提供了数据库安全管理的全面指南,涵盖了安全控制、存取控制、审计跟踪以及SQL Server和Oracle数据库的安全控制方法。

1.png

1 安全控制

1.1 基本概念

    安全性:保护数据以防止不合法用户故意造成的破坏
    完整性:保护数据以防止合法用户无意中造成的破坏

1.2 数据库安全控制的目标

    保护数据免受意外或故意的丢失、破坏或者滥用

1.3 数据库安全的威胁需要考虑的情况

    可用性的损失
    机密性数据的丢失
    私密性数据的丢失
    偷窃和欺诈
    意外的损害

1.4 安全控制模型

    操作权限控制
    文件操作控制

1.5 授权和认证

    授权:将合法访问数据库或数据库对象的权限授予用户的过程
    认证:是一种鉴定用户身份的机制
    DBMS的访问控制
        自主存取控制:用户对不同的数据对象具有具有不同的存取权限
        强制存取控制:每一个数据对象被标以一定的密级,每一个用户被授予一个许可证级别

2 存取控制

2.1 自主存取控制

    权限种类
        对DBMS的维护权限
        对数据库中的对象和数据进行操作的权限
            对数据库对象的操作权限
            对于数据库的操作权限
    用户分类
        系统管理员
        数据库对象拥有者
        普通用户

2.2 强制存取控制

    基本概念
        能够通过授权机制来有效控制对敏感数据的存取
    DBMS将全部实体划分为主体和客体
        主体:是系统中的活动实体,既包括DBMS所管理的实际用户每页包括代表用户的各个进程
        客体:是系统中的被动实体,是受主体操纵的没包括文件、基本表、索引、视图等
            子主题 1
    敏感度级别
        绝密Top Secret 
        秘密Secret
        可信Confidential
        公开Public
    通用安全性分级模型
        A类:提供验证保护(最高)
        B类:提供强制保护,B2>B1
        C类:提供自主保护,C1最小,C2>C1
        D类:提供最小保护

3 审计跟踪

基本概念
    是一种特殊的文件或数据库,系统在上面自动记录用户对常规数据的所有操作
审计跟踪记录包含的信息
    操作请求
    操作终端
    操作人
    操作日期和时间
    元组、属性和影响
    新值
    旧值

4 SQL Server 的安全控制

4.1 身份验证模型

    WIndows身份验证模式
    混合身份验证模式
        允许Windows授权用户和SQL授权用户登录
        SQL Server的身份验证的登录信息都保存在SQL Server实例上而Windows身份验证的登录信息是由windows和SQLServer实例共同保存的

4.2 登录账户

    分类
        由SQL Server自身负责身份验证的登录账户
        登录到SQL Server的Windows网络用户,可以是组账户或用户账户
    实例:创建SQL Server身份验证的登录账户登录名为Sql_user,密码是1234
        Create LOGIN Sql_user WITH Password = '1234'
    创建和修改账户
        创建账户Create LOGIN login_name WITH Password =‘’
        修改密码:ALter LOGIN user_name WITH password =''
        启用已经禁用的登录账户:Alter  LOGIN login_name WITH Password =''
        修改账户名:Alter LOGIN user_name WITH  Name =new_user_name
        删除用户账户:Drop LOGIN user_name

4.3 数据库用户

    分类
        系统管理员
        数据库对象拥有者
        普通用户
    创建用户
        Create USER user_name
    Guest 用户(匿名用户)
        启用guest用户:GRANT CONNECT TO guest
        禁用guest用户:ReVoke CONNECT TO guest
    删除数据库用户:DROP user_name

4.4 权限管理

    对象级别
        Select
        Insert
        UPdate
        Delete
        References
        Execute
        实例1:使用GRANT OPTION选项,授予用户user_name对Employer视图中EmployeeID列具有Reference权限:
        GRANT Reference (EmployeeID) ON Employee
        TO user_name WITH GRANT OPTION

        实例2:授予用户user_name 对test.Employee存储过程具有Execute权限
        GRANT Execute ON OBJECT:: test.Employee TO user_name
    语句级别
        Create DataBase
        Create Procedure
        Create Table
        Create View
        Create Function
        Backup Database:备份数据库
        Backup LOG:备份日志
        实例1:授予用户user1和user2都具有创建表和视图的权限
        GRANT Create Table,Create View TO user1,user2
        拒绝权限:Deny...
        收回权限:Revoke ...
    隐含级别

4.5角色

    分类
        固定服务器角色
            bulkdamin:具有执行Bulk INsert语句的权限
            dbcreator:具有创建、修改、删除和还原数据库的权限
            diskadmin:管理磁盘文件的权限
            securityadmin:管理登录账户、读取错误日志、执行Create Database
            setupadmin:添加和删除链接服务器的权限
            sysadmin:系统管理员角色,任何操作的权限
            Serveradmin:设置服务器级别的配置选项的权限
            processadmin:进程管理的权限
            添加角色的存储过程:sp_addsrvrolemember
        固定数据库角色
            db_accessadmin:添加或删除数据库用户的权限
            db_backupoperator:备份数据库、日志的权限
            db_datareader:查询数据库中所有用户的权限
            db_datawriter:插入、删除和更改数据库中所有用户数据的权限
            db_ddladmin:执行数据定义语言DDL的权限
            db_denydatareader:不允许查询
            db_owner:在数据库中年进行全部操作的权限
            db_decurityadmin:管理数据库角色、角色成员的权限
            添加角色:sp_addrolemember
            删除角色:sp_droprolemember
    自定义
        用户定义的角色属于数据库一级的角色
        创建角色:create ROLE role_name [AUTHORIZATION owner_name]owner_name是该角色拥有者

5 Oricle的安全控制

5.1 分类

    数据库级别:数据库级别的安全性通过用户身份认证和授予用户相应系统权限来保证
    表级
    行级
    级

5.2 两级安全管理员

    全局数据安全管理员:负责管理、协调,维护全局数据的一致性和安全性
    场地数据安全管理员:负责维护本结点数据库的安全性、包括用户管理、系统特权与角色的管理

5.3 用户与资源管理

Oricle数据库中的用户按其操作权限的大小可分为DBA用户和普通用户
    DBA用户:实在数据库系统安装时由DBMS自动创建生成的,它们是sys用户,用于全部的系统权限
    普通用户:是有DBA用户或相应特权的 用户创建,并授予系统特权的用户

5.4 权限管理

    系统特权:DBA可以根据具体情况授予用户相应的特权
    对象特权:用户维护表级、行级与列级数据的安全性

5.5 角色

    Connect:具有这种角色的用户不能在数据中建立任何对象,但是可以查询数据字典以及访问权限的数据对象
    Resource:可以在数据库中建立关系表、视图、序列、索引、聚集、存储过程、存储函数、触发器、数据库链路
    DBA :所有系统权限

5.6 审计功能

目录
相关文章
|
15天前
|
SQL Java 数据库连接
除了JDBC,还有哪些常见的数据库访问技术?
除了JDBC,还有哪些常见的数据库访问技术?
157 1
|
2月前
|
监控 Java 关系型数据库
HikariCP 高性能数据库连接池技术详解与实践指南
本文档全面介绍 HikariCP 高性能数据库连接池的核心概念、架构设计和实践应用。作为目前性能最优异的 Java 数据库连接池实现,HikariCP 以其轻量级、高性能和可靠性著称,已成为 Spring Boot 等主流框架的默认连接池选择。本文将深入探讨其连接管理机制、性能优化策略、监控配置以及与各种框架的集成方式,帮助开发者构建高性能的数据访问层。
194 8
|
2月前
|
监控 Java 关系型数据库
HikariCP 高性能数据库连接池技术详解与实践指南
本文档全面介绍 HikariCP 高性能数据库连接池的核心概念、架构设计和实践应用。作为目前性能最优异的 Java 数据库连接池实现,HikariCP 以其轻量级、高性能和可靠性著称,已成为 Spring Boot 等主流框架的默认连接池选择。本文将深入探讨其连接管理机制、性能优化策略、监控配置以及与各种框架的集成方式,帮助开发者构建高性能的数据访问层。
116 1
|
7月前
|
Cloud Native 关系型数据库 分布式数据库
|
8月前
|
存储 关系型数据库 分布式数据库
登顶TPC-C|云原生数据库PolarDB技术揭秘:单机性能优化篇
阿里云PolarDB云原生数据库在TPC-C基准测试中,以20.55亿tpmC的成绩打破性能与性价比世界纪录。此外,国产轻量版PolarDB已上线,提供更具性价比的选择。
|
7月前
|
存储 关系型数据库 分布式数据库
|
8月前
|
Cloud Native 关系型数据库 分布式数据库
登顶TPC-C|云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
阿里云PolarDB云原生数据库在TPC-C基准测试中以20.55亿tpmC的成绩刷新世界纪录,展现卓越性能与性价比。其轻量版满足国产化需求,兼具高性能与低成本,适用于多种场景,推动数据库技术革新与发展。
|
2月前
|
SQL 数据管理 BI
数据库操作三基石:DDL、DML、DQL 技术入门指南
本文围绕数据库操作核心语言 DDL、DML、DQL 展开入门讲解。DDL 作为 “结构建筑师”,通过CREATE(建库 / 表)、ALTER(修改表)、DROP(删除)等命令定义数据库结构;DML 作为 “数据管理员”,以INSERT(插入)、UPDATE(更新)、DELETE(删除)操作数据表记录,需搭配WHERE条件避免误操作;DQL 作为 “数据检索师”,通过SELECT结合WHERE、ORDER BY、LIMIT等子句实现数据查询与统计。三者相辅相成,是数据库操作的基础,使用时需注意 DDL 的不可撤销性、DML 的条件约束及 DQL 的效率优化,为数据库学习与实践奠定基础。
|
7月前
|
存储 关系型数据库 分布式数据库
|
3月前
|
缓存 关系型数据库 MySQL
MySQL数据库性能调优:实用技术与策略
通过秉持以上的策略实施具体的优化措施,可以确保MySQL数据库的高效稳定运行。务必结合具体情况,动态调整优化策略,才能充分发挥数据库的性能潜力。
167 0