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

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 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 审计功能

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
26天前
|
数据库 索引
深入探索数据库索引技术:回表与索引下推解析
【10月更文挑战第15天】在数据库查询优化的领域中,回表和索引下推是两个核心概念,它们对于提高查询性能至关重要。本文将详细解释这两个术语,并探讨它们在数据库操作中的作用和影响。
46 3
|
26天前
|
数据库 索引
深入理解数据库索引技术:回表与索引下推详解
【10月更文挑战第23天】 在数据库查询性能优化中,索引的使用是提升查询效率的关键。然而,并非所有的索引都能直接加速查询。本文将深入探讨两个重要的数据库索引技术:回表和索引下推,解释它们的概念、工作原理以及对性能的影响。
46 3
|
1月前
|
存储 缓存 监控
数据库优化技术:提升性能与效率的关键策略
【10月更文挑战第15天】数据库优化技术:提升性能与效率的关键策略
56 8
|
1月前
|
存储 NoSQL 关系型数据库
数据库技术深度解析:从基础到进阶
【10月更文挑战第17天】数据库技术深度解析:从基础到进阶
57 0
|
2月前
|
存储 NoSQL 关系型数据库
非关系型数据库-MongoDB技术(二)
非关系型数据库-MongoDB技术(二)
|
2月前
|
NoSQL 关系型数据库 MongoDB
非关系型数据库-MongoDB技术(一)
非关系型数据库-MongoDB技术(一)
|
25天前
|
负载均衡 网络协议 数据库
选择适合自己的数据库多实例负载均衡技术
【10月更文挑战第23天】选择适合自己的数据库多实例负载均衡技术需要全面考虑多种因素。通过深入的分析和评估,结合自身的实际情况,能够做出明智的决策,为数据库系统的高效运行提供有力保障。
108 61
|
23天前
|
SQL Java 数据库连接
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率。本文介绍了连接池的工作原理、优势及实现方法,并提供了HikariCP的示例代码。
39 3
|
25天前
|
缓存 负载均衡 监控
数据库多实例的负载均衡技术深入
【10月更文挑战第23天】数据库多实例负载均衡技术是确保数据库系统高效运行的重要手段。通过合理选择负载均衡策略、实时监控实例状态、不断优化调整,能够实现资源的最优分配和系统性能的提升。在实际应用中,需要根据具体情况灵活运用各种负载均衡技术,并结合其他相关技术,以满足不断变化的业务需求。
|
25天前
|
Java 数据库连接 数据库
优化之路:Java连接池技术助力数据库性能飞跃
在Java应用开发中,数据库操作常成为性能瓶颈。频繁的数据库连接建立和断开增加了系统开销,导致性能下降。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接,显著减少连接开销,提升系统性能。文章详细介绍了连接池的优势、选择标准、使用方法及优化策略,帮助开发者实现数据库性能的飞跃。
27 4
下一篇
无影云桌面