资源简介 (共31张PPT)维护学生信息管理数据库的安全性任务9-1 SQL Server身份验证模式目录Contents任务9-2 SQL Server权限管理任务9-3 用户和角色管理任务9-4 数据备份和恢复任务9-5 实训:实现数据库安全性任务9-1 SQL Server身份验证模式PART 1(二)配置身份验证模式任务assignments(一)SQL 的两种身份验证模式(三)SQL Server 2016登录SQL Server身份验证模式任务9-1任务1-1 数据处理【任务分析】数据库引擎中的权限通过登录名和服务器角色在服务器级别进行管理,以及通过数据库用户和数据库角色在数据库级别进行管理。本节通过身份验证模式的管理和实践,实现典型的权限。【课堂任务】 熟悉SQL Server 2016的身份验证模式 配置身份验证模式 理解SQL Server 2016登录SQL Server身份验证模式任务9-1任务1-1 数据处理(一)SQL Server 2016的两种身份验证模式在安装过程中,必须为数据库引擎选择身份验证模式。下面是两种可能的模式:Windows身份验证模式和混合模式。Windows身份验证模式会启用Windows身份验证并禁用SQL Server身份验证。混合模式会同时启用Windows身份验证和SQL Server身份验证。Windows身份验证始终可用,并且无法禁用。如果在安装过程中选择混合模式身份验证,则必须为名为sa的内置SQL Server系统管理员账户提供一个强密码并确认该密码。sa账户使用SQL Server身份验证进行连接。SQL Server身份验证模式任务9-1任务1-1 数据处理如果在安装过程中选择Windows身份验证,则安装程序会为SQL Server身份验证创建sa账户,但会禁用该账户。如果稍后更改为混合模式身份验证并要使用sa账户,则必须启用该账户。可以将任何Windows或SQL Server账户配置为系统管理员。由于sa账户广为人知且经常成为恶意用户的攻击目标,因此除非应用程序需要使用sa账户,否则请勿启用该账户。切勿为sa账户设置空密码或弱密码。SQL Server身份验证模式任务9-1任务1-1 数据处理1.Windows身份验证模式当用户通过Windows身份验证模式连接时,SQL Server使用操作系统中的Windows主体标记验证账户名和密码。也就是说,用户身份由Windows确认。SQL Server不要求提供密码,也不执行身份验证。Windows 身份验证是默认身份验证模式,并且比SQL Server身份验证更为安全。Windows身份验证使用Kerberos安全协议,提供有关强密码复杂性验证的密码策略强制,还支持账户锁定和密码过期。通过Windows身份验证创建的连接有时也称为可信连接,这是因为SQL Server信任由Windows提供的凭据。SQL Server身份验证模式任务9-1任务1-1 数据处理使用Windows身份验证模式,可以在域级别创建Windows组,并且可以在SQL Server中为整个组创建登录名。在域级别管理访问可以简化账户管理。图9.1中的DESKTOP-39TV50J\SQLEXPRESS表示当前的计算机;DESKTOP- 39TV50J\lyq是指登录该计算机时使用的Windows账户名称,是SQL Server2016默认的身份验证模式。SQL Server身份验证模式任务9-1任务1-1 数据处理2.混合身份验证模式使用混合身份验证模式,可以同时使用Windows身份验证和SQL Server身份验证。SQL Server身份验证主要用于外部的用户,如那些可能从Internet访问数据库的用户。可以配置从Internet访问SQL Server 2016的应用程序,以自动使用指定的账户或提示用户输入有效的SQL Server用户账户和密码。使用混合身份验证模式时,SQL Server 2016首先确定用户的连接是否使用有效的SQL Server用户账户登录。如果用户有有效的用户账户登录和正确的密码,则接受用户的连接;如果用户有有效的用户账户登录,但使用了不正确的密码,则用户的连接被拒绝。仅当用户没有有效的用户账户登录时,SQL Server 2016才检查Windows账户的信息。在这样的情况下,SQL Server 2016确定Windows账户是否有连接到服务器的权限。如果账户有权限,连接被接受;否则,连接被拒绝。SQL Server身份验证模式任务9-1任务1-1 数据处理使用SQL Server身份验证模式时,在SQL Server中创建的用户账户并不基于Windows用户账户。用户账户和密码均使用SQL Server创建并存储在SQL Server中。使用SQL Server身份验证模式连接的用户每次连接时都必须提供凭据(用户账户和密码)。使用SQL Server身份验证模式时,必须为所有SQL Server账户设置强密码。图9.2所示为使用SQL Server身份验证模式的界面。在使用SQL Server身份验证模式时,用户必须提供用户账户和密码,SQL Server检查是否注册了该SQL Server登录账户或指定的密码是否与以前记录的密码相匹配来进行身份验证。如果SQL Server未设置登录账户,则身份验证将失败,而且用户会收到错误信息。SQL Server身份验证模式任务9-1任务1-1 数据处理SQL Server身份验证模式任务9-1任务1-1 数据处理(1)SQL Server 身份验模式证的缺点① 如果用户是具有Windows登录名和密码的Windows域用户,则还必须提供另一个用于连接的(SQL Server)登录名和密码。记住多个登录名和密码对于许多用户而言都较为困难。每次连接到数据库时,都必须提供SQL Server凭据也十分烦人。② SQL Server身份验证模式无法使用Kerberos安全协议。③ SQL Server登录名不能使用Windows提供的其他密码策略。④ 必须在连接时,通过网络传递已加密的SQL Server身份验证登录密码。一些自动连接的应用程序将密码存储在客户端,这可能产生其他攻击点。SQL Server身份验证模式任务9-1任务1-1 数据处理2 SQL Server 身份验证的优点① 允许SQL Server支持那些需要进行SQL Server身份验证的旧版应用程序和由第三方提供的应用程序。② 允许SQL Server支持具有混合操作系统的环境,在这种环境中,并不是所有用户均由Windows域验证。③ 允许用户从未知的或不可信的域进行连接。例如,既定客户使用指定的SQL Server登录名进行连接,以接收其相应的应用程序。④ 允许SQL Server支持基于Web的应用程序,在这些应用程序中,用户可创建自己的标识。⑤ 允许软件开发人员使用基于已知的预设SQL Server登录名的复杂权限层次结构来分发应用程序。SQL Server身份验证模式任务9-1任务1-1 数据处理(二)配置身份验证模式在第一次安装SQL Server 2016或者使用SQL Server 2016连接其他服务器时,需要指定验证模式。对于已指定验证模式的SQL Server 2016服务器,还可以修改验证模式,具体步骤如下。(1)打开SSMS窗口,选择一种身份验证模式,建立与服务器的连接。(2)在【对象资源管理器】窗格中用鼠标右键单击服务器名称,在弹出的快捷菜单中选择【属性】命令,打开【服务器属性】窗口,如图9.3所示。SQL Server身份验证模式任务9-1任务1-1 数据处理SQL Server身份验证模式任务9-1任务1-1 数据处理在默认打开的【常规】选项卡中显示了SQL Server 2016服务器的常规信息,包括SQL Server 2016的版本、操作系统版本、运行平台、默认语言,以及内存和CPU等。(3)在左侧的【选择页】列中选择【安全性】选项,如图9.4所示,在【服务器身份验证】选项区中选择服务器身份验证模式。不管使用哪种模式,都可以通过审核来跟踪访问SQL Server 2016的用户,默认设置下仅审核失败的登录。SQL Server身份验证模式任务9-1任务1-1 数据处理SQL Server身份验证模式任务9-1任务1-1 数据处理启用审核后,用户的登录记录于Windows应用程序日志、SQL Server 2016错误日志两者之中,这取决于如何配置SQL Server 2016的日志。【登录审核】选项区中的审核选项如下。① 无:禁止跟踪审核。② 仅限失败的登录:默认设置,选择后,仅审核失败的登录尝试。③ 仅限成功的登录:仅审核成功的登录尝试。③ 失败和成功的登录:审核所有成功和失败的登录尝试。SQL Server身份验证模式任务9-1任务1-1 数据处理(三)SQL Server 2016登录1.创建SQL Server登录名SQL Server 2016内置的登录名都具有特殊的含义和作用,因此不应该将它们分配给普通用户使用,而是创建一些适用于用户权限的登录名。(1)使用SSMS创建登录名,具体步骤如下。① 打开SSMS窗口,展开【服务器】/【安全性】节点。② 用鼠标右键单击【登录名】节点,从弹出的快捷菜单中选择【新建登录名】命令,打开【登录名-新建】窗口,在【登录名】文本框中输入xuser。③ 在下方选中【SQL Server身份验证】单选按钮,并输入密码及确认密码,这里注意密码区分大小写。SQL Server身份验证模式任务9-1任务1-1 数据处理④ 在【默认数据库】下拉列表中设置使用xuser会进入grademanager。再根据需要设置其他选项,或者使用默认值,如图9.5所示。SQL Server身份验证模式任务9-1任务1-1 数据处理(三)SQL Server 2016登录1.创建SQL Server登录名SQL Server 2016内置的登录名都具有特殊的含义和作用,因此不应该将它们分配给普通用户使用,而是创建一些适用于用户权限的登录名。(1)使用SSMS创建登录名,具体步骤如下。① 打开SSMS窗口,展开【服务器】/【安全性】节点。② 用鼠标右键单击【登录名】节点,从弹出的快捷菜单中选择【新建登录名】命令,打开【登录名-新建】窗口,在【登录名】文本框中输入xuser。③ 在下方选中【SQL Server身份验证】单选按钮,并输入密码及确认密码,这里注意密码区分大小写。SQL Server身份验证模式任务9-1任务1-1 数据处理④ 在【默认数据库】下拉列表中设置使用xuser会进入grademanager。再根据需要设置其他选项,或者使用默认值,如图9.6所示。SQL Server身份验证模式任务9-1任务1-1 数据处理⑤ 单击【用户映射】选项,选中grademanager数据库前的复选框,其他选项保持默认,如图9.7所示。⑥ 设置完成后,单击【确定】按钮,完成新登录名的创建。SQL Server身份验证模式任务9-1任务1-1 数据处理SQL Server身份验证模式任务9-1任务1-1 数据处理SQL Server身份验证模式任务9-1任务1-1 数据处理SQL Server身份验证模式任务9-1任务1-1 数据处理2.创建Windows账户登录SQL Server默认的身份验证模式为Windows身份验证模式,如果使用Windows身份验证模式登录SQL Server,则该登录账户必须存在于Windows系统的账户数据库中。创建Windows账户登录的第一步是在操作系统中创建用户账户,具体步骤如下。(1)打开【控制面板】|【管理工具】中的【计算机管理】窗口,展开【系统工具】|【本地用户和组】节点,如图9.10所示。(2)用鼠标右键单击【用户】节点,选择【新用户】命令,在弹出的【新用户】对话框中输入相应信息,设置【用户名】为xuser,【描述】为“学生管理系统管理员”,设置相应的密码并选中【密码永不过期】复选框,如图9.11所示。SQL Server身份验证模式任务9-1任务1-1 数据处理SQL Server身份验证模式任务9-1任务1-1 数据处理(3)设置完成后,单击【创建】按钮完成新用户的创建。(4)创建用户账户与组之后,就可以创建要映射到这些账户的Windows登录。打开SSMS窗口,展开【服务器】【安全性】|【登录名】节点。(5)用鼠标右键单击【登录名】节点,从弹出的快捷菜单中选择【新建登录名】命令,打开【登录名-新建】窗口。(6)单击【搜索】按钮,在弹出的【选择用户或组】对话框中单击【高级】按钮,在弹出的对话框中单击【立即查找】按钮。从搜索结果中把刚刚创建的用户MGT\xuser添加进来,单击【确定】按钮,如图9.12所示。(7)单击【确定】按钮返回。在【登录名-新建】窗口中,选中【Windows身份验证】单选按钮,并选择grademanager为默认数据库,如图9.13所示。(8)单击【确定】按钮,Windows登录名创建完成。SQL Server身份验证模式任务9-1任务1-1 数据处理 展开更多...... 收起↑ 资源预览