【计算机三级数据库技术】第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
目录
相关文章
|
1月前
|
Java 关系型数据库 MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【8月更文挑战第19天】在Linux上搭建Java Web应用环境,需安装JDK 1.8、Tomcat及MariaDB。本指南详述了使用apt-get安装OpenJDK 1.8的方法,并验证其版本。接着下载与解压Tomcat至`/usr/local/`目录,并启动服务。最后,通过apt-get安装MariaDB,设置基本安全配置。完成这些步骤后,即可验证各组件的状态,为部署Java Web应用打下基础。
40 1
|
19天前
|
SQL Java 关系型数据库
探索Java数据库连接的奥秘:JDBC技术全攻略
探索Java数据库连接的奥秘:JDBC技术全攻略
40 8
|
25天前
|
存储 缓存 负载均衡
【PolarDB-X 技术揭秘】Lizard B+tree:揭秘分布式数据库索引优化的终极奥秘!
【8月更文挑战第25天】PolarDB-X是阿里云的一款分布式数据库产品,其核心组件Lizard B+tree针对分布式环境优化,解决了传统B+tree面临的数据分片与跨节点查询等问题。Lizard B+tree通过一致性哈希实现数据分片,确保分布式一致性;智能分区实现了负载均衡;高效的搜索算法与缓存机制降低了查询延迟;副本机制确保了系统的高可用性。此外,PolarDB-X通过自适应分支因子、缓存优化、异步写入、数据压缩和智能分片等策略进一步提升了Lizard B+tree的性能,使其能够在分布式环境下提供高性能的索引服务。这些优化不仅提高了查询速度,还确保了系统的稳定性和可靠性。
53 5
|
26天前
|
Cloud Native 数据库 开发者
云原生数据库2.0问题之帮助阿里云数据库加速技术更新如何解决
云原生数据库2.0问题之帮助阿里云数据库加速技术更新如何解决
|
26天前
|
Cloud Native 关系型数据库 分布式数据库
云原生数据库2.0问题之PolarDB利用云计算技术红利如何解决
云原生数据库2.0问题之PolarDB利用云计算技术红利如何解决
|
28天前
|
关系型数据库 OLAP 分布式数据库
揭秘Polardb与OceanBase:从OLTP到OLAP,你的业务选对数据库了吗?热点技术对比,激发你的选择好奇心!
【8月更文挑战第22天】在数据库领域,阿里巴巴的Polardb与OceanBase各具特色。Polardb采用共享存储架构,分离计算与存储,适配高并发OLTP场景,如电商交易;OceanBase利用灵活的分布式架构,优化数据分布与处理,擅长OLAP分析及大规模数据管理。选择时需考量业务特性——Polardb适合事务密集型应用,而OceanBase则为数据分析提供强大支持。
89 2
|
6天前
|
存储 负载均衡 数据库
探索后端技术:从服务器架构到数据库优化的实践之旅
在当今数字化时代,后端技术作为支撑网站和应用运行的核心,扮演着至关重要的角色。本文将带领读者深入后端技术的两大关键领域——服务器架构和数据库优化,通过实践案例揭示其背后的原理与技巧。无论是对于初学者还是经验丰富的开发者,这篇文章都将提供宝贵的见解和实用的知识,帮助读者在后端开发的道路上更进一步。
|
6天前
|
SQL 关系型数据库 MySQL
MySQL技术安装配置、数据库与表的设计、数据操作解析
MySQL,作为最流行的关系型数据库管理系统之一,在WEB应用领域中占据着举足轻重的地位。本文将从MySQL的基本概念、安装配置、数据库与表的设计、数据操作解析,并通过具体的代码示例展示如何在实际项目中应用MySQL。
31 0
|
13天前
|
关系型数据库 Java MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【9月更文挑战第6天】在Linux环境下安装JDK 1.8、Tomcat和MariaDB是搭建Java Web应用的关键步骤。本文详细介绍了使用apt-get安装OpenJDK 1.8、下载并配置Tomcat,以及安装和安全设置MariaDB(MySQL的开源分支)的方法。通过这些步骤,您可以快速构建一个稳定、高效的开发和部署环境,并验证各组件是否正确安装和运行。这为您的Java Web应用提供了一个坚实的基础。
30 0