资源简介 (共15张PPT)维护学生信息管理数据库的安全性任务9-1 SQL Server身份验证模式目录Contents任务9-2 SQL Server权限管理任务9-3 用户和角色管理任务9-4 数据备份和恢复任务9-5 实训:实现数据库安全性PART 2任务9-2 SQL Server权限管理(一)权限类型(二)操作权限任务assignmentsSQL Server权限管理任务9-2任务1-1 数据处理【任务分析】SQL Server 2016使用权限为访问控制的最后一道安全设施。本节学习如何操作权限。【课堂任务】 权限的类型 操作权限在SQL Server 2016数据库中的每个数据库对象都由该数据库的一个用户拥有(一个用户拥有多个对象),拥有者以数据库赋予的ID作为标识。每个SQL Server安全对象都有可以授予主体的关联权限。数据库引擎中的权限可分配给登录名和服务器角色的服务器级别,以及分配给数据库用户和数据库角色的数据库级别进行管理。SQL Server权限管理任务9-2任务1-1 数据处理(一)权限类型权限确定了用户能在SQL Server 2016或数据库中执行的操作,并根据登录ID、组成员关系和角色成员关系为用户授予相应权限。在用户执行更改数据库定义或访问数据库的任何操作之前,用户必须有适当的权限。在SQL Server 2016中可以使用的权限有对象权限和语句权限。1.对象权限SQL Server 2016中的所有对象权限都是可授予的。可以管理特定的对象、特定类型的所有对象和所有属于特定架构对象的权限。通过授予、拒绝和撤销执行特殊语句或存储过程的操作来控制对这些对象的访问。例如,可以授予用户在表中选择(SELECT)信息的权限,但是拒绝在表中插入(INSERT)、更新(UPDATE)和删除(DELETE)信息的权限。SQL Server权限管理任务9-2任务1-1 数据处理2.语句权限语句权限是用于控制创建数据库或数据库中的对象涉及的权限。例如,如果用户需要在数据库中创建表,则应该向该用户授予CREATE TABLE语句权限。只有sysadmin、db_owner和db_securityadmin角色成员才能够授予用户语句权限。表9.1中列出了SQL Server 2016中可以授予、拒绝和撤销的语句权限。SQL Server权限管理任务9-2任务1-1 数据处理SQL Server权限管理任务9-2任务1-1 数据处理(二)操作权限在SQL Server 2016中,用户和角色的权限以记录的形式存储在各个数据库的sysprotects系统表中。权限有3种状态:授予、拒绝、撤销。1.授予权限为了允许用户执行某些活动或者操作数据,需要授予相应的权限,使用GRANT语句授予授权。GRANT语句的语法格式如下。GRANT {ALL|statement[,…n]}TO security_account[,…n]SQL Server权限管理任务9-2任务1-1 数据处理各参数的含义如下。(1)ALL:表示授予所有可以应用的权限。其中在授予命令权限时,只有固定的服务器角色成员sysadmin可以使用ALL关键字;而在授予对象权限时,固定服务器角色成员sysadmin、固定数据库角色成员db_owner和数据库对象拥有者都可以使用关键字ALL。(2)statement:表示可以授予权限的命令,如CREATE DATABASE。(3)security_account:定义被授予权限的用户单位。security_account可以是SQL Server的数据库用户、SQL Server的角色、Windows的用户或工作组。SQL Server权限管理任务9-2任务1-1 数据处理SQL Server权限管理任务9-2任务1-1 数据处理2.撤销权限使用REVOKE语句可以撤销以前授予或拒绝的权限。撤销类似于拒绝,但是撤销权限是删除已授予的权限,并不是妨碍用户、组或角色从更高级别集成已授予的权限。撤销对象权限的基本语法如下。REVOKE {ALL|statement[,…n]}FROM security_account[,...n]撤销权限的语法与授予权限的语法基本相同。SQL Server权限管理任务9-2任务1-1 数据处理SQL Server权限管理任务9-2任务1-1 数据处理3.拒绝权限授予用户对象权限后,数据库管理员可以根据实际情况在不撤销用户访问权限的情况下,拒绝用户访问数据库对象。拒绝对象权限的基本语法如下。DENY {ALL|statement[,…n]}FROM security_account[,...n]拒绝访问的语法要素与授予权限和撤销权限的语法要素意义一致。SQL Server权限管理任务9-2任务1-1 数据处理【例9.5】 把在grademanager数据库的student表中执行INSERT操作的权限授予public角色,并拒绝用户guest拥有该项权限。USE grademanagerGOGRANT INSERTON studentTO publicGODENY INSERTON studentTO guest提示 如果使用了DENY命令拒绝某用户获得某项权限,则即使该用户后来加入了具有该项权限的某工作组或角色,该用户仍然无法使用该项权限。 展开更多...... 收起↑ 资源预览