《unit13ppt课件.pptx》由会员分享,可在线阅读,更多相关《unit13ppt课件.pptx(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、unit13项目任务项目任务服务器级别安全服务器级别安全1数据库级别安全数据库级别安全2对象级别安全对象级别安全3项目任务项目任务知识目标知识目标l理解SQL SERVER 2012安全机制l理解服务器级别安全机制及安全主体l理解数据库级别安全机制及安全主体l理解对象级别安全机制及安全主体l掌握Windows身份验证与SQL Server身份验证的区别l掌握登录账户与数据库用户的区别l掌握服务器角色与数据库角色的区别l掌握GRANT、DENY、REVOKE等DCL语言的语法格式技能目标技能目标u 能够修改SQL SERVER改服务器的身份验证模式u 能够创建并管理windows登录账户和sql
2、 server登录账户,并进行登录u 能够添加登录账户到服务器角色,并验证服务器角色的权限u 能够创建数据库用户和数据库角色,并验证数据库角色的权限u 能够对数据库对象的权限进行授予(GRANT)、拒绝(DENY)和回收(REVOKE)任务任务1:服务器级别安全:服务器级别安全-任务描述任务描述 查看数据库服务器的身份验证模式,并将查看数据库服务器的身份验证模式,并将“Windows Windows 身份验身份验证模式证模式”改为改为“SQL Server SQL Server 和和 Windows Windows 身份验证模式身份验证模式” 创建一个创建一个WindowsWindows类型的
3、登录账户类型的登录账户“win_user1”win_user1”,密码为,密码为“abc456”abc456” 创建一个创建一个SQL SERVERSQL SERVER类型的登录账户类型的登录账户“sql_user1”sql_user1”,密码,密码为为“abc456”abc456”,默认数据库为,默认数据库为mastermaster 查看服务器角色,并验证服务器角色查看服务器角色,并验证服务器角色“dbcreator”dbcreator”的权限的权限任务任务1:服务器级别安全:服务器级别安全-任务实现任务实现固定服务器角固定服务器角色色描述描述sysadminsysadmin固定服务器角色的
4、成员可以在服务器中执行任何活动固定服务器角色的成员可以在服务器中执行任何活动serveradminserveradmin固定服务器角色的成员可以更改服务器范围内的配置选项并关闭服固定服务器角色的成员可以更改服务器范围内的配置选项并关闭服务器务器securityadminsecurityadmin固定服务器角色的成员管理登录名及其属性。其成员可以使用固定服务器角色的成员管理登录名及其属性。其成员可以使用GRANT、DENY 和和 REVOKE等语句进行服务器级别的权限设置。当其成员具有数据等语句进行服务器级别的权限设置。当其成员具有数据库的访问权限的时候,还可以使用库的访问权限的时候,还可以使用
5、GRANT、DENY 和和 REVOKE等语句进行数据库级等语句进行数据库级权限设置。另外,其成员还可以重置权限设置。另外,其成员还可以重置SQL Server登录名的密码登录名的密码processadminprocessadmin固定服务器角色的成员可以终止在固定服务器角色的成员可以终止在 SQL Server 实例中运行的进程实例中运行的进程setupadminsetupadmin固定服务器角色的成员可以通过使用固定服务器角色的成员可以通过使用 Transact-SQL 语句添加和删除语句添加和删除链接服务器(在使用链接服务器(在使用 Management Studio 时需要时需要 sy
6、sadmin 成员身份)成员身份)bulkadminbulkadmin固定服务器角色的成员可以运行固定服务器角色的成员可以运行 BULK INSERT 语句语句diskadmindiskadmin固定服务器角色用于管理磁盘文件固定服务器角色用于管理磁盘文件dbcreatordbcreator固定服务器角色的成员可以创建、更改、删除和还原任何数据库固定服务器角色的成员可以创建、更改、删除和还原任何数据库public每个每个SQL Server登录名均属于登录名均属于public服务器角色。如果未向某个服务器主体授予服务器角色。如果未向某个服务器主体授予或拒绝对某个安全对象的特定权限,该用户将继承
7、授予该对象的或拒绝对某个安全对象的特定权限,该用户将继承授予该对象的public角色的权角色的权限。当您希望该对象对所有用户可用时,只需对任何对象分配限。当您希望该对象对所有用户可用时,只需对任何对象分配public权限即可。权限即可。您无法更改您无法更改public中的成员关系中的成员关系任务任务1:服务器级别安全:服务器级别安全-任务实现任务实现(1)查看并设置身份验证模式)查看并设置身份验证模式Step1:打开打开SSMS窗口,连接到窗口,连接到 SQL Server 数据库引擎实例,然后展开数据库引擎实例,然后展开该实例该实例Step2:选择选择“属性属性”,进入,进入“服务器属性服务
8、器属性”界面界面任务任务1:服务器级别安全:服务器级别安全-任务实现任务实现Step3:在在“选择页选择页”栏,选择栏,选择“安全性安全性”,则可以查看到服务器的两,则可以查看到服务器的两种身份验证模式种身份验证模式任务任务1:服务器级别安全:服务器级别安全-任务实现任务实现Step5:单击单击“确定确定”按钮,完成身份验证模式的设置,然后重新启动按钮,完成身份验证模式的设置,然后重新启动SQL SERVER引擎服务,修改的身份验证模式生效引擎服务,修改的身份验证模式生效Step4:在在“服务器身份验证服务器身份验证”框中选择框中选择“SQL Server 和和 Windows 身份身份验证模
9、式验证模式”,并按,并按“确定确定”按钮。弹出按钮。弹出“重新启动重新启动SQL SERVER”的提的提示框示框任务任务1:服务器级别安全:服务器级别安全-任务实现任务实现Step1:在在Windows系统中创建系统中创建Windows账户账户“win_user1”(2)创建)创建Windows类型的登录账户类型的登录账户“win_user1”Step2:在在“对象资源管理器对象资源管理器”中创建登录账户中创建登录账户任务任务1:服务器级别安全:服务器级别安全-任务实现任务实现Step3:选择身份验证模式选择身份验证模式任务任务1:服务器级别安全:服务器级别安全-任务实现任务实现Step4:单
10、击单击“搜索搜索”按钮,选择用户按钮,选择用户“win_user1”任务任务1:服务器级别安全:服务器级别安全-任务实现任务实现Step5:单击单击“确定确定”按钮,完成登录账户的创建,并可查看到相应的按钮,完成登录账户的创建,并可查看到相应的登录账户登录账户任务任务1:服务器级别安全:服务器级别安全-任务实现任务实现使用使用T-SQL语句创建语句创建Windows类型的登录账户类型的登录账户任务任务1:服务器级别安全:服务器级别安全-任务实现任务实现步骤和创建步骤和创建Windows类型的登录账户相同基本相同,在选择身份验证类型的登录账户相同基本相同,在选择身份验证模式,以及输入的登录名不同
11、模式,以及输入的登录名不同(3)创建)创建SQL SERVER类型的登录账户类型的登录账户“sql_user1”任务任务1:服务器级别安全:服务器级别安全-任务实现任务实现使用使用T-SQL语句创建语句创建SQL SERVER类型的登录账户类型的登录账户任务任务1:服务器级别安全:服务器级别安全-任务实现任务实现查看服务器角色查看服务器角色(4)查看并验证服务器角色的权限)查看并验证服务器角色的权限任务任务1:服务器级别安全:服务器级别安全-任务实现任务实现步骤和创建步骤和创建Windows类型的登录账户相同基本相同,在选择身份验证类型的登录账户相同基本相同,在选择身份验证模式,以及输入的登录
12、名不同模式,以及输入的登录名不同(4)查看并验证服务器角色的权限)查看并验证服务器角色的权限任务任务1:服务器级别安全:服务器级别安全-任务实现任务实现验证服务器角色:以验证服务器角色:以sql_user1登录账户身份连接到服务器,接着执行登录账户身份连接到服务器,接着执行CREATE DATABASE语句验证是否具有执行权限,然后再把语句验证是否具有执行权限,然后再把sql_user1添添加到加到dbcreator角色中,最后再验证是否有权限执行角色中,最后再验证是否有权限执行CREATE DATABASE语句的权限语句的权限(4)查看并验证服务器角色的权限)查看并验证服务器角色的权限任务任
13、务1:服务器级别安全:服务器级别安全-任务实现任务实现任务任务1:服务器级别安全:服务器级别安全-任务实现任务实现任务任务2:数据库级别安全:数据库级别安全-任务描述任务描述 在在eshopeshop数据库中,创建数据库中,创建Windows Windows 身份验证的数据库用户,身份验证的数据库用户,并将其与登录账户并将其与登录账户win_user1win_user1相映射。相映射。 在在eshopeshop数据库中,创建数据库中,创建SQL ServerSQL Server身份验证的数据库用户,身份验证的数据库用户,并将其与登录账户并将其与登录账户sql_user1sql_user1相映射
14、。相映射。 在在eshopeshop数据库中,查看预定义的固定数据库角色,并创建数据库中,查看预定义的固定数据库角色,并创建数据库角色数据库角色role_select_productrole_select_product,使其具有查询,使其具有查询productproduct表表的权限的权限任务任务2:数据库级别安全:数据库级别安全-任务实现任务实现固定数据库角色固定数据库角色描述描述db_ownerdb_owner 固定数据库角色的成员可以执行数据库的所有配置和维护活动,还可以固定数据库角色的成员可以执行数据库的所有配置和维护活动,还可以删除数据库删除数据库db_securityadmind
15、b_securityadmin 固定数据库角色的成员可以修改角色成员身份和管理权限。向此固定数据库角色的成员可以修改角色成员身份和管理权限。向此角色中添加主体可能会导致意外的权限升级角色中添加主体可能会导致意外的权限升级db_accessadmindb_accessadmin 固定数据库角色的成员可以为固定数据库角色的成员可以为 Windows 登录名、登录名、Windows 组和组和 SQL Server 登录名添加或删除数据库访问权限登录名添加或删除数据库访问权限db_backupoperatordb_backupoperator 固定数据库角色的成员可以备份数据库固定数据库角色的成员可以
16、备份数据库db_ddladmindb_ddladmin 固定数据库角色的成员可以在数据库中运行任何数据定义语言固定数据库角色的成员可以在数据库中运行任何数据定义语言 (DDL) 命令命令db_datawriterdb_datawriter 固定数据库角色的成员可以在所有用户表中添加、删除或更改数据固定数据库角色的成员可以在所有用户表中添加、删除或更改数据db_datareaderdb_datareader 固定数据库角色的成员可以从所有用户表中读取所有数据固定数据库角色的成员可以从所有用户表中读取所有数据db_denydatawriterdb_denydatawriter 固定数据库角色的成员
17、不能添加、修改或删除数据库内用户表固定数据库角色的成员不能添加、修改或删除数据库内用户表中的任何数据中的任何数据db_denydatareaderdb_denydatareader 固定数据库角色的成员不能读取数据库内用户表中的任何数据固定数据库角色的成员不能读取数据库内用户表中的任何数据public每个数据库用户都属于每个数据库用户都属于 public 数据库角色。数据库角色。 如果未向某个用户授予或拒绝对安全如果未向某个用户授予或拒绝对安全对象的特定权限时,该用户将继承授予该对象的对象的特定权限时,该用户将继承授予该对象的 public 角色的权限角色的权限任务任务2:数据库级别安全:数据
18、库级别安全-任务实现任务实现(1)创建)创建Windows身份验证的数据库用户身份验证的数据库用户Step1:打开打开SSMS窗口,连接到窗口,连接到 SQL Server 数据库引擎实例,然后展开数据库引擎实例,然后展开该实例该实例Step2:展开展开“数据库数据库” “eshop” “安全性安全性”,右击,右击“用户用户”任务任务2:数据库级别安全:数据库级别安全-任务实现任务实现Step3:选择用户类型,设置用户名选择用户类型,设置用户名任务任务2:数据库级别安全:数据库级别安全-任务实现任务实现使用使用T-SQL语句创建语句创建Windows身份验证的数据库用户身份验证的数据库用户任务
19、任务2:数据库级别安全:数据库级别安全-任务实现任务实现(2)创建)创建SQL Server身份验证的数据库用户身份验证的数据库用户任务任务2:数据库级别安全:数据库级别安全-任务实现任务实现(2)创建)创建SQL Server身份验证的数据库用户身份验证的数据库用户使用使用T-SQL语句创建语句创建SQL Server身份验证的数据库用户身份验证的数据库用户任务任务2:数据库级别安全:数据库级别安全-任务实现任务实现(3)查看固定数据库角色并创建数据库角色)查看固定数据库角色并创建数据库角色查看数据库角色查看数据库角色任务任务2:数据库级别安全:数据库级别安全-任务实现任务实现(3)查看固定
20、数据库角色并创建数据库角色)查看固定数据库角色并创建数据库角色创建数据库角色创建数据库角色任务任务2:数据库级别安全:数据库级别安全-任务实现任务实现(3)查看固定数据库角色并创建数据库角色)查看固定数据库角色并创建数据库角色创建数据库角色创建数据库角色任务任务2:数据库级别安全:数据库级别安全-任务实现任务实现(3)查看固定数据库角色并创建数据库角色)查看固定数据库角色并创建数据库角色创建数据库角色创建数据库角色任务任务2:数据库级别安全:数据库级别安全-任务实现任务实现(3)查看固定数据库角色并创建数据库角色)查看固定数据库角色并创建数据库角色验证创建数据库角色:验证创建数据库角色:验证验
21、证“role_select_product”角色的权限,在加入角色前,以角色的权限,在加入角色前,以sql_user1身份访问身份访问eshop数据库后不能查询数据库后不能查询product表,当创建角色时或创建角表,当创建角色时或创建角色后,添加色后,添加sql_user1用户作为角色成员后,可以查询用户作为角色成员后,可以查询product表表任务任务3:对象级别安全:对象级别安全-任务描述任务描述 在在eshopeshop数据库中,创建数据库中,创建Windows Windows 身份验证的数据库用户,身份验证的数据库用户,并将其与登录账户并将其与登录账户win_user1win_use
22、r1相映射。相映射。 在在eshopeshop数据库中,创建数据库中,创建SQL ServerSQL Server身份验证的数据库用户,身份验证的数据库用户,并将其与登录账户并将其与登录账户sql_user1sql_user1相映射。相映射。 在在eshopeshop数据库中,查看预定义的固定数据库角色,并创建数据库中,查看预定义的固定数据库角色,并创建数据库角色数据库角色role_select_productrole_select_product,使其具有查询,使其具有查询productproduct表表的权限的权限任务任务3:对象级别安全:对象级别安全-任务实现任务实现(1)使用)使用SS
23、MS工具完成对象权限设置工具完成对象权限设置Step1:打开打开SSMS窗口,连接到窗口,连接到 SQL Server 数据库引擎实例,然后展开数据库引擎实例,然后展开该实例该实例Step2:展开展开“数据库数据库”“eshop” “安全性安全性” “用户用户”,右击,右击“sql_user1”,选择,选择“属性属性”,弹出,弹出“数据库用户数据库用户-sql_user1”对话框对话框任务任务3:对象级别安全:对象级别安全-任务实现任务实现(1)使用)使用SSMS工具完成对象权限设置工具完成对象权限设置Step3:设置对象权限设置对象权限任务任务3:对象级别安全:对象级别安全-任务实现任务实现
24、(2)使用)使用T-SQL语句完成对象权限设置语句完成对象权限设置使用使用T-SQL语句授予数据库用户语句授予数据库用户sql_user1对对member表有表有SELECT、UPDATE权限、拒绝权限、拒绝DELETE权限、然后撤销权限、然后撤销UPDATE权限权限单元总结单元总结关键知识关键知识l SQL SERVER 2012SQL SERVER 2012安全机制安全机制l 服务器级别安全机制及安全主体服务器级别安全机制及安全主体l 数据库级别安全机制及安全主体数据库级别安全机制及安全主体l 对象级别安全机制及安全主体对象级别安全机制及安全主体l WindowsWindows身份验证与身
25、份验证与SQL ServerSQL Server身份验证的区别身份验证的区别l 登录账户与数据库用户的区别登录账户与数据库用户的区别l 服务器角色与数据库角色的区别服务器角色与数据库角色的区别l GRANTGRANT、DENYDENY、REVOKEREVOKE等等DCLDCL语言的语法格式语言的语法格式单元总结单元总结关键技能关键技能u修改修改SQL SERVERSQL SERVER改服务器的身份验证模式改服务器的身份验证模式u创建并管理创建并管理windowswindows登录账户和登录账户和sql serversql server登录账户,登录账户,并进行登录并进行登录u添加登录账户到服务器角色,并验证服务器角色的权限添加登录账户到服务器角色,并验证服务器角色的权限u创建数据库用户和数据库角色,并验证数据库角色的权创建数据库用户和数据库角色,并验证数据库角色的权限限u对数据库对象(如表、视图等)的权限进行授予对数据库对象(如表、视图等)的权限进行授予(GRANTGRANT)、拒绝()、拒绝(DENYDENY)和回收()和回收(REVOKEREVOKE)拓展训练拓展训练拓展拓展训练训练知识训练知识训练技能训练技能训练
限制150内