《数据库安全管理》PPT课件.ppt

上传人:tia****nde 文档编号:14166982 上传时间:2020-07-08 格式:PPT 页数:29 大小:409KB
返回 下载 相关 举报
《数据库安全管理》PPT课件.ppt_第1页
第1页 / 共29页
《数据库安全管理》PPT课件.ppt_第2页
第2页 / 共29页
《数据库安全管理》PPT课件.ppt_第3页
第3页 / 共29页
点击查看更多>>
资源描述
第11章 数据库安全管理,(时间:1次课,2学时),第11章 数据库安全管理,教学提示:本章主要介绍SQL Server 2005数据安全管理中的事务的概念,角色的概念及权限结构。 教学目标:掌握SQL Server 2005数据安全管理中的事务的概念,事务的特性及事务的种类;掌握角色的概念、角色的种类及作用;掌握权限的层次结构。,第11章 数据库安全管理,事务、权限和角色是SQL Server 2005数据库安全管理中的重要部分。 数据库的修改是以事务为单位进行的。一个事务就是一个操作序列,这些操作要么全做,要么全不做,它是一个不可分割的工作单位。 权限是通过角色成员来获得的。角色就是一组具有相同权限的用户的集合。不同角色中的成员有不同的权限。 本章介绍SQL Server 2005中的事务和角色的概念。,第11章 数据库安全管理,11.1 事务 11.2 数据库的安全方案 11.3 习题,11.1 事 务,11.1.1 事务特性 11.1.2 控制事务 11.1.3 显式事务 11.1.4 自动提交事务 11.1.5 隐式事务,11.1.1 事务特性,事务是作为单个逻辑工作单元执行的一系列操作。一个逻辑工作单元必须有4个属性,称为原子性、一致性、隔离性和持久性(ACID)属性,只有这样才能成为一个事务。 (1)原子性 (2)一致性 (3)隔离性 (4)持久性,11.1.1 事务特性,企业数据库系统(如数据库引擎实例)有责任提供一种机制,保证每个事务的物理完整性。数据库引擎提供: 锁定设备,使事务保持隔离。 记录设备,保证事务的持久性。即使服务器硬件、操作系统或数据库引擎实例自身出现故障,该实例也可以在重新启动时使用事务日志,将所有未完成的事务自动地回滚到系统出现故障的点。 事务管理特性,强制保持事务的原子性和一致性。事务启动之后,就必须成功完成,否则数据库引擎实例将撤销该事务启动之后对数据所做的所有修改。,11.1.2 控制事务,(1)启动事务 使用 API 函数和 Transact-SQL 语句,可以在 SQL Server Database Engine 实例中将事务作为显式、自动提交或隐式事务来启动。在 MARS 会话中,Transact-SQL 显式和隐式事务将变成批范围的事务。 显式事务 自动提交事务 隐式事务 批范围的事务 (2)结束事务 可以使用 COMMIT 或 ROLLBACK 语句,或者通过 API 函数来结束事务。 COMMIT ROLLBACK,11.1.2 控制事务,(3)指定事务边界 可以使用 Transact-SQL 语句或 API 函数和方法来确定数据库引擎事务启动和结束的时间。 Transact-SQL 语句 API 函数和方法 (4)事务处理过程中的错误 如果某个错误使事务无法成功完成,SQL Server 会自动回滚该事务,并释放该事务占用的所有资源。,11.1.3 显式事务,显式事务就是可以显式地在其中定义事务的开始和结束的事务。在 SQL Server 7.0 和早期版本中,显式事务也称为“用户定义的事务”或“用户指定的事务”。 (1)BEGIN TRANSACTION (2)COMMIT TRANSACTION 或 COMMIT WORK (3)ROLLBACK TRANSACTION 或 ROLLBACK WORK,11.1.4 自动提交事务,自动提交模式是SQL Server Database Engine的默认事务管理模式。每个Transact-SQL 语句在完成时,都被提交或回滚。如果一个语句成功地完成,则提交该语句;如果遇到错误,则回滚该语句。只要没有显式事务或隐性事务覆盖自动提交模式,与数据库引擎实例的连接就以此默认模式操作。自动提交模式也是 ADO、OLE DB、ODBC 和 DB 库的默认模式。,11.1.4 自动提交事务,【例11.1】在此示例中,由于发生编译错误,这3个批处理中的 INSERT 语句都没有执行。但看起来好像是前两个 INSERT 语句没有执行便进行了回滚。 USE AdventureWorks; GO CREATE TABLE TestBatch (Cola INT PRIMARY KEY, Colb CHAR(3); GO INSERT INTO TestBatch VALUES (1, aaa); INSERT INTO TestBatch VALUES (2, bbb); INSERT INTO TestBatch VALUSE (3, ccc); - 语法错误 GO SELECT * FROM TestBatch; - 没有任何记录被插入并显示 GO,11.1.5 隐式事务,当连接以隐性事务模式进行操作时,SQL Server Database Engine 实例将在提交或回滚当前事务后自动启动新事务。无须描述事务的开始,只需提交或回滚每个事务。隐性事务模式生成连续的事务链。 为连接将隐性事务模式设置为打开之后,当数据库引擎实例首次执行表11.1中的任何语句时,都会自动启动一个事务。,11.1.5 隐式事务,在发出COMMIT语句或ROLLBACK语句之前,该事务将一直保持有效。在第一个事务被提交或回滚之后,下次当连接执行以上任何语句时,数据库引擎实例都将自动启动一个新事务。该实例将不断地生成隐性事务链,直到隐性事务模式关闭为止。 隐性事务模式既可以使用 Transact-SQL SET 语句来设置,也可以通过数据库 API 函数和方法来设置。,11.2 数据库的安全方案,11.2.1 主体 11.2.2 安全对象 11.2.3 权限层次结构 11.2.4 固定数据库角色权限 11.2.5 固定服务器角色权限,11.2 数据库的安全方案,SQL Server 2005 Database Engine 可以帮助您保护数据免受未经授权的泄露和篡改。SQL Server Database Engine 安全功能包括高粒度身份验证、授权和验证机制;增强加密;安全上下文切换和模拟及集成的密钥管理。,11.2.1 主体,“主体”是可以请求 SQL Server 资源的个体、组和过程。与 SQL Server 授权模型的其他组件一样,主体也可以按层次结构排列。主体的影响范围取决于主体定义的范围(Windows、服务器或数据库),以及主体是否不可分或是一个集合。例如,Windows 登录名就是一个不可分主体,而 Windows 组则是一个集合主体。每个主体都有一个惟一的安全标识符(SID)。,11.2.1 主体,1. 应用程序角色 应用程序角色是一个数据库主体,它使应用程序能够用其自身的、类似用户的特权来运行。使用应用程序角色,可以只允许通过特定应用程序连接的用户访问特定数据。 应用程序角色切换安全上下文的过程包括以下步骤。 (1)用户执行客户端应用程序。 (2)客户端应用程序作为用户连接到 SQL Server。 (3)然后应用程序用一个只有它才知道的密码执行 sp_setapprole 存储过程。 (4)如果应用程序角色名称和密码都有效,将激活应用程序角色。 (5)此时,连接将失去用户权限,而获得应用程序角色权限。,11.2.1 主体,2. 数据库用户 数据库用户是数据库级别上的主体。每个数据库用户都是 public 角色的成员。 默认情况下,数据库创建时就包含一个 guest 用户。授予 guest 用户的权限由在数据库中没有账户的用户继承。 guest 用户不能删除,但可以通过在 master 和 temp 以外的任何数据库中执行 REVOKE CONNECT FROM GUEST 来撤销该用户的 CONNECT 权限,从而禁用该用户。,11.2.2 安全对象,安全对象是 SQL Server Database Engine 授权系统控制对其进行访问的资源。通过创建可以为自己设置安全性的名为“范围”的嵌套层次结构,可以将某些安全对象包含在其他安全对象中。安全对象范围有服务器、数据库和架构。,11.2.3 权限层次结构,SQL Server 2005 Database Engine 管理着可以通过权限进行保护的实体的分层集合。这些实体称为“安全对象”。在安全对象中,最突出的是服务器和数据库,但可以在更细的级别上设置离散权限。SQL Server 通过验证主体是否已获得适当的权限来控制主体对安全对象执行的操作。 (1)权限层次 图11.1显示了数据库引擎权限层次结构之间的关系。 (2)主要权限 CONTROL 为被授权者授予类似所有权的功能。 ALTER 授予更改特定安全对象的属性(所有权除外)的权限。,11.2.3 权限层次结构,图11.1 数据库引擎权限层次结构之间的关系,11.2.3 权限层次结构,TAKE OWNERSHIP 允许被授权者获取所授予的安全对象的所有权。 IMPERSONATE 允许被授权者模拟该登录名。 IMPERSONATE 允许被授权者模拟该用户。 CREATE 授予被授权者创建服务器安全对象的权限。 CREATE 授予被授权者创建数据库安全对象的权限。 CREATE 授予创建包含在架构中的安全对象的权限。但是,若要在特定架构中创建安全对象,必须对该架构具有 ALTER 权限。 VIEW DEFINITION 允许被授权者访问元数据。,11.2.4 固定数据库角色权限,固定数据库角色是在数据库级别定义的,并且存在于每个数据库中。db_owner 和 db_securityadmin 数据库角色的成员可以管理固定数据库角色成员身份;但是,只有 db_owner 数据库的成员可以向 db_owner 固定数据库角色中添加成员。 (1)固定数据库角色到权限的映射 (2)public 数据库角色 每个数据库用户都属于 public 数据库角色。当尚未对某个用户授予或拒绝对安全对象的特定权限时,则该用户将继承授予该安全对象的 public 角色的权限。,11.2.5 固定服务器角色权限,固定服务器角色在其作用域内属于服务器范围。固定服务器角色的每个成员都可以向其所属角色添加其他登录名。 表11.3显示了固定服务器角色到权限的映射关系。,11.2.5 固定服务器角色权限,11.2.5 固定服务器角色权限,11.3 习 题,填空题 (1)事务的_是指要么全都执行,要么全都不执行。 (2)事务正常提交的语句是_。 选择题 (1)通过发出Transact-SQL BEGIN TRANSACTION 语句来启动的事务是( )。 A. 自动提交事务 B. 隐式事务 C. 批范围的事务D. 显式事务 (2)默认情况下,数据库创建时包含的用户是( )。 A. sa B. administrator C. guestD. dba 简答题 (1)什么是事务?事务具有哪些特性? (2)事务有哪几种类型?每种类型的事务如何启动和结束?,Q & A?Thanks!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!