资源预览内容
第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
第6页 / 共30页
第7页 / 共30页
第8页 / 共30页
第9页 / 共30页
第10页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第13章 数据库的安全保护,数据的安全性管理是数据库服务器应实现的重要功能之一。 数据的安全性是指保护数据以防止不合法的使用而造成数据的泄 密和破坏。SQL Server 2008数据库采用了复杂的安全保护措施 ,其安全管理体现在对用户登陆进行身份验证,对用户的操作进 行权限控制。本章主要介绍数据库的登录、角色以及权限管理。,13.1 数据库安全性控制,SQL Server对用户登陆进行身份验证,SQL Server为SQL服务器提供有两种身份验证模式,系统管理员可选择合适的身份验证模式。 13.1.1 SQL Server的身份验证模式 用户在SQL Server上获得对任何数据库的访问权限之前,必须进行合法的身份认证,登录到SQL Server上。如果身份认证通过,用户可以连接到SQL Server上,否则,服务器将拒绝用户登陆,从而保护了数据安全。 SQL Server有两种身份验证模式,即Windows身份验证模式和混合验证模式。,13.1.1 SQL Server的身份验证模式,1. Windows身份验证模式 Windows身份验证模式是指要登录到SQL Server系统的用户身份由Windows系统来进行验证,即,在SQL Server中可以创建与Windows用户账号对应的登录账号,采用这种方式验证身份,只要登陆了Windows操作系统,登录SQL Server时就不需要再输入一次账号和密码了。 但是,所有能登陆Windows操作系统的账号不一定都能访问SQL Server。必须要由数据库管理员在SQL Server中创建与Windows账号对应的SQL Server账号,然后用该Windows账号登录Windows操作系统,才能直接访问SQL Server。SQL Server 2008默认本地Windows可以不受限制地访问数据库。,13.1.1 SQL Server的身份验证模式,2. 混合验证模式 混合验证模式允许以SQL Server身份验证模式或者Windows身份验证模式来进行身份验证,能更好的适应用户的各种环境。 SQL Server身份验证模式是输入登录名和密码来登录数据库服务器,SQL Server在系统注册表中检测输入的登录名和密码,如果正确,则可以登陆到SQL Server上。这些登录名和密码与Windows操作系统无关。使用SQL Server身份验证时,设置密码对于确保系统的安全性至关重要。,13.1.2 设置身份验证模式,在第一次安装SQL Server(本书在第四章SQL Server2008的安装中已经指定了身份验证模式为“混合模式”),或者使用SQL Server连接其他服务器的时候,需要制定身份验证模式。对于已经指定身份验证模式的SQL Server服务器,可以通过SQL Server Management Studio进行修改。修改步骤如下: 1) 启动SQL Server Management Studio。 2) 在“对象资源管理器”中选择要设置验证模式的服务器(这里为本地服务器SS),右击,在弹出的快捷菜单中选择“属性”命令,如图13-1所示。 3) 出现“服务器属性”对话框,在左边的列表中选择“安全性”选项,如图13-2所示。在“服务器身份验证”选项组中可以选择要设置的验证模式,同时在“登陆审核”选项组中还可以选择跟踪记录用户登陆时的信息。,13.1.2 设置身份验证模式,4) 在“服务器代理账户”选项组中设置当启动并运行SQL Server时,默认的登录者中的一位用户。 5) 修改完毕,单击“确定”按钮。 图13-1 选择服务器“属性”命令 图13-2 “服务器属性”对话框,13.2 用户和角色管理,SQL Server的安全防线中突出两种管理:一是对用户或角色的管理,即控制合法用户使用数据库;二是对权限管理,即控制具有数据操作权的用户进行合法的数据存取操作。用户是具有合法身份的数据库使用者,角色是具有一定权限的用户组合。SQL Server的用户或角色分为二级:服务器级用户或角色以及数据库级用户或角色。 13.2.1 用户管理 在SQL Server中有两种类型的账户:一类是登陆服务器的登陆账号,其名称为登录名;另一类是使用数据库的用户账号,其名称为数据库用户名。登陆账号是指能登陆到SQL Server的账号,属于服务器的层面,本身并不能让用户访问服务器中的数据库,而登录者要使用服务器中的数据库时,必须要有用户账号才能访问数据库。,13.2.1 用户管理,1. 登录名 无论使用哪种身份验证模式,用户必须先具备有效的用户登陆账号。管理员可以通过SQL Server Management Studio对SQL Server 2008中的登录账号进行创建、修改、删除等管理。 (1) 创建登陆账号 下面通过一个例子介绍创建登陆账号的方法。 【例13-1】使用SQL Server Management Studio创建登陆账号TEST/123(登录名/密码)。 解:其操作步骤如下: 1) 启动SQL Server Management Studio。 2) 在“对象资源管理器”中展开SS节点。 3) 展开“安全性”节点。 4) 选中“登录名”节点,右击,在弹出的快捷菜单中选择“新建登录名”,如图13-3所示。,13.2.1 用户管理,图13-3 选择“新建登录名”命令 图13-4 “常规”选项卡 图13-5 登录名TEST创建成功 5) 出现“登录名-新建”对话框。“常规”选项卡如图13-4所示 。 6) 选择“状态”选项卡,从中可以设置是否允许登录名连接到数据库引擎,以及是否可用等。这里保持默认设置。 7) 单击“确定”按钮,即可完成创建登录名TEST。如图13-5所示。 8) 使用登录名TEST登陆到SQL Server,验证该登录名。,13.2.1 用户管理,【例13-2】使用系统存储过程sp_addlogin创建三个登陆账号XYZ/123、ABC/123和AAA/123。 解:程序如下: EXEC sp_addlogin XYZ,123 EXEC sp_addlogin ABC,123 EXEC sp_addlogin AAA,123 执行结果如图13-6所示。 图13-6 使用系统存储过程sp_addlogin创建登录名,13.2.1 用户管理,(2) 修改登录账号 下面通过一个例子介绍修改登陆账号的方法。 【例13-3】使用SQL Server Management Studio修改登陆账号TEST,将其密码改为456123。 解:其操作步骤如下: 1) 启动SQL Server Management Studio。 2) 在“对象资源管理器”中展开SS节点。 3) 展开“安全性”“登录名”“TEST”节点, 右击,在弹出的快捷菜单中选择“属性”命令, 如图13-7所示。 图13-8 “登陆属性-TEST”对话框 4) 出现“登陆属性-TEST”对话框,如图13-8所示。 在“密码”与“确认密码”文本框中输入456123。 5) 单击“确定”按钮,即可完成对TEST登录名的修改。,13.2.1 用户管理,(3) 删除登陆账号 下面通过一个例子介绍删除登陆账号的方法。 【例13-4】使用SQL Server Management Studio删除登陆账号XYZ/123。 解:其操作步骤如下: 1) 启动SQL Server Management Studio。 2) 在“对象资源管理器”中展开SS节点。 3) 展开“安全性”“登录名”“XYZ”节点, 右击,在弹出的快捷菜单中选择“删除”命令, 图13-9 选择登录名“删除”命令 如图13-9所示。 4) 出现“删除对象”对话框,单击“确定”按钮, 即可删除该登陆账号。,13.2.1 用户管理,【例13-5】使用系统存储过程sp_droplogin删除登陆账号ABC/123。 解:程序如下: EXEC sp_droplogin ABC 2. 数据库用户 能够登录到SQL Server,并不表明一定可以访问数据库,登陆用户只有成为数据库用户后才能访问数据库。 在一个数据库中,用户账号唯一标识一个用户,用户对数据库的访问权限以及对数据库对象的所有关系都是通过用户账号来控制的。一般来说,登陆账号和用户账号相同,方便操作,登陆账号和用户账号也可以不同名,而且一个登陆账号可以关联多个用户账号。 每个登陆账号在一个数据库中只能有一个用户账号。 管理员可以对SQL Server 2008中的数据库用户账号进行创建、修改和删除。,13.2.1 用户管理,(1) 创建用户账号 下面通过例子介绍创建用户账号的方法。 【例13-6】使用SQL Server Management Studio创建Library数据库的一个用户账号U1。 解:其操作步骤如下: 1) 启动SQL Server Management Studio。 2) 在“对象资源管理器”中展开SS节点。 3) 展开“数据库”“Library”“安全性”“用户”节点,右击,在弹出的快捷菜单中选择“新建用户”命令。如图13-10所示。 4) 出现“数据库用户-新建”对话框。“常规”选项卡如图13-11所示,其中各项的功能说明如下:,13.2.1 用户管理,图13-10 选择“新建用户”命令 图13-11 “数据库用户-新建”对话框 图13-12 “选择登录名”对话框 图13-13 “查找对象”对话框,13.2.1 用户管理, “用户名”文本框:用于输入用户名。 “登录名”文本框:通过其后的“”按钮为它选择一个已经创建的登录名。 “默认架构”文本框:用于设置数据库的默认架构。 “数据库角色成员身份”列表框:选择给用户设置什么样的数据库角色。 这里,在“用户名”文本框中输入要创建的用户名U1。 5) 单击“登录名”文本框右侧的“”按钮,出现如图13-12所示的“选择登录名”对话框。 6) 单击“浏览”按钮,出现如图13-13所示的“查找对象”对话框,在“匹配的对象”列表框中选择“TEST”,两次单击“确定”返回到“数据库用户-新建”对话框。“默认框架”文本框可以保持为空或者选择一个架构,通常选择dbo。这样就为用户名U1选择了登录名TEST。即,当以登录名TEST登录到SQL Server时,可以访问数据库Library。 7) 单击“确定”按钮,即可完成创Library数据库的用户名U1。,13.2.1 用户管理,【例13-7】使用系统存储过程sp_grantdbaccess创建Library数据库的一个用户账号U2,关联的登录名为AAA。 解:程序如下: USE Library EXEC sp_grantdbaccess AAA, U2,13.2.1 用户管理,(2) 修改用户账号 下面通过一个例子介绍修改用户账号的方法。 【例13-8】使用SQL Server Management Studio修改Library数据库的用户账号U1。 解:其操作步骤如下: 1) 启动SQL Server Management Studio。 2) 在“对象资源管理器”中展开SS节点。 3) 展开“数据库”“Library”“安全性” “用户”“U1”节点,右击,在弹出的快捷菜单 中选择“属性”命令。如图13-14所示。 4) 出现“数据库用户-U1”对话框,在其中 做相应的修改。 图13-14 选择用户“属性”命令 5) 单击“确定”按钮,即可完成修改。,13.2.1 用户管理,(3) 删除用户账号 下面通过一个例子介绍修改用户账号的方法。 【例13-9】使用SQL Server Management Studio删除Lib
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号