数据库应用技术SQLServer.ppt
《数据库应用技术SQLServer.ppt》由会员分享,可在线阅读,更多相关《数据库应用技术SQLServer.ppt(95页珍藏版)》请在三一办公上搜索。
1、数据库应用技术(SQL Server 2012),第11章 SQL Server安全管理,11.1.SQL Server数据库安全概述11.2.服务器的安全性管理11.3.数据库安全性管理 11.4.数据备份与恢复11.5.实践案例,主要内容,【知识要求】:掌握登录名、数据库角色、服务器角色等相关知识【能力要求】:1.熟练掌握登录模式的设置方法 2.掌握用户角色的设置方法3.掌握数据的备份和恢复方法,知识与能力要求,在数据库系统的日常运维中,安全性是最为重要,也是最具有挑战性的一个方面。任何一个DBA都希望服务器足够的安全,在不增加成本的情况下保证数据万无一失。但事实上是,只要用户能够访问数据
2、,就会有安全漏洞,因此大家应该对安全性重新认识,安全性并不是保证系统完全不受攻击,而是把风险减少,并对风险采取必要的应对措施。SQL Server 2012的安全有两方面内容:其一,是防止非法登录者或非授权用户对SQL Server数据库或数据造成破坏;其二,有时合法用户不小心对数据库的数据做了不正确的操作,或者保存数据库文件的磁盘遭到损坏,或者SQL Server 2012服务器因某种不可预见的事情而导致崩溃,数据库需要恢复到损坏之前应采取的措施。在SQL Server 2012中,通过其内置的各种权限验证来保障前者的安全,提供数据库备份和还原方案来解决后者造成的损失。,11.1.SQL S
3、erver数据库安全概述,11.1.1 登录验证方式,在SQL Server 2012中,要访问数据库服务器或数据库第一步就要进行登录验证。在SQL Server 2012中,有两种验证方式:一种是Windows验证方式,另一种是Windows和SQLServer混合验证方式。(1)Windows验证方式就是完全采用Windows服务器的验证,只要能够登录到Windows操作系统的用户,就可以登录到SQL Server系统。(2)混合验证方式比Windows验证方式更加灵活。因为Windows验证方式只允许Windows用户登录到SQL Server系统,而混合验证方式则不但允许Windows
4、用户登录到SQL Server系统,而且也允许独立的SQL Server 用户登录到SQL Server系统。这样,某些在Windows系统没有登录账号的人也可以登录到SQL Server系统。,11.1.SQL Server数据库安全概述,在第一次安装SQL Server 2012的时候,需要指定验证模式。对于已经指定验证模式的SQL Server 2012 服务器,还可以进行验证模式的修改。【案例12-1】设置数据库服务器验证模式为SQL Server和Windows身份验证模式。操作步骤如下:(1)打开“SQL Server Management Studio”窗口,在“对象资源管理器”
5、窗格中右击要修改的SQL服务器,在弹出的快捷菜单上选择“属性”命令,打开如图11-1所示的“服务器属性”对话框。,图11-1 设置SQL Server的验证模式,11.1.SQL Server数据库安全概述,(2)在“选择页”栏中选择“安全性”选项,在右侧的“详细信息”窗格中选择相应的“SQL Server和Windows身份验证模式”后,单击“确定”按钮即可。注意:修改验证模式后,必须首先停止SQL Server服务,然后重新启动SQL Server,才能使设置生效。,11.1.SQL Server数据库安全概述,V11-1登录验证方式设置.wmv,11.1.2 角色,SQL Server
6、2012的角色与Windows中的用户组概念相似,在SQL Server 2012中可以理解为一些权限的集合。在SQL Server 2012中,具有两种类型的角色:服务器角色和数据库角色。服务器角色决定登录到SQL Server 2012服务器的用户对服务器中数据库的操作权限。数据库角色决定数据库用户对数据库中对象具有的操作权限。因此,系统管理员给适当的用户分配相应的角色就是SQL Server 2012服务器和数据库安全的关键之一。,11.1.SQL Server数据库安全概述,11.1.3 许可权限,许可权限是指授予用户对数据库中的具体对象的操作权力或SQL语句的使用权力。在SQL Se
7、rver 2012中,用户能够访问的具体对象(如数据表、视图、存储过程等)是需要明确授权的。一般情况下,任何用户都具有数据表或视图的数据的读(Select)权限,但对于插入(Insert)、更新(Update)和删除(Delete)权限,则需要明确授予。系统管理员或数据库(对象)拥有者给予适当的用户以适当的权限是保证数据库安全的重要措施。,11.1.SQL Server数据库安全概述,11.2 服务器的安全性管理,服务器的安全性是通过设置系统登录账户的权限进行管理的。用户在连接到SQL Server 2012时与登录账户相关联。在SQL Server 2012中有两类登录账户:一类是登录服务器
8、的登录账号(login name);另外一类是使用数据库的用户账号(user name)。登录账号是指能登录到SQL Server 2012的账号,它属于服务器的层面,本身并不能让用户访问服务器中的数据库,而登录者要求使用服务器中的数据库时,必须要有用户账号才能存取数据库。就如同公司门口先刷卡进入(登录服务器),然后再拿钥匙打开自己的办公室(进入数据库)一样。用户名要在特定的数据库内创建并关联一个登录名(当一个用户创建时,必须关联一个登录名)。用户定义的信息存放在服务器的每个数据库的sysusers表中,用户设有密码同其相关联。SQL Server通过授权给用户指定可以访问的数据库对象的权限。
9、,SQL Server 2012中有一个超级登录账号sa。这个账号具有操作SQL Server服务器的一切权限。也正因为如此,保证这个账号的安全就是一个十分重要的问题。要保护SQL Server 2012服务器的安全,首要的问题就是要为sa账号设置合适的密码保证sa账户的安全。由于sa权限较高,为保证数据库安全,可根据需要新建具有一定权限的账号。,11.2 服务器的安全性管理,11.2.1 查看登录账号,在安装SQL Server 2012以后,系统默认创建几个登录账号。打开“SQL Server Management Studio”窗口,在“对象资源管理器”窗格中展开要查看的SQL Serv
10、er服务器结点,再展开“安全性”结点,展开并选中“登录名”结点,即可看到系统创建的默认登录账号及已建立的其他登录账号,如图11-2所示。,11.2 服务器的安全性管理,图11-2 查看服务器登录账号,其中,A195/K81,实际上就是计算机名(或域名称)操作系统系统管理员账户名:允许Windows Server的K81 账号作为SQL Server登录账号使用。sa:SQL Server 2012系统管理员登录账号,该账号拥有最高的管理权限,可以执行服务器范围内的所有操作。,11.2 服务器的安全性管理,11.2.2创建一个登录账号,【案例12-2】创建名为stuadm的登录账号,默认登录Te
11、stDB数据库。操作步骤如下:(1)在“SQL Server Management Studio”窗口的“对象资源管理器”窗格中,依次展开SQL服务器、“安全性”、“登录名”结点,右击“登录名”结点(或右击右侧的“详细区域”),在弹出的快捷菜单中选择“新建登录名”命令,打开“SQL Server登录属性”对话框,如图11-3所示。,11.2 服务器的安全性管理,V11-2登录账号管理.wmv,(2)在“登录名”文本框中输入要创建的登录账号的名称:stuadm,选择需要的身份验证方式,这里选择“SQL Server身份验证”,接着输入密码,然后选择“默认库”:TestDB,表示该登录账号默认登录
12、TestDB数据库。注意:一个登录账号可以登录不止一个数据库,这里设置的仅仅是默认登录数据库。如果选择了“Windows身份验证”单选按钮,则必须先在Windows的用户管理中先创建该用户,否则会提示错误。(3)在如图11-3所示的对话框中,选择“服务器角色”选项,在此选项中,可设置登录账号所属的服务器角色。,11.2 服务器的安全性管理,图11-3 新建登录账号,11.2 服务器的安全性管理,角色(Role)是一组用户所构成的组,可分为服务器角色与数据库角色。以下介绍服务器角色。服务器角色是负责管理与维护SQL Server 2012的组,一般指定需要管理服务器的登录账号属于服务器角色。SQ
13、L Server 2012在安装过程中定义几个固定的服务器角色,其具体权限如表12-1所示。,11.2 服务器的安全性管理,表12-1 内建服务器角色,11.2 服务器的安全性管理,(4)在如图11-3所示的对话框中,选择“用户映射”选项,在此选项中选择登录账号可以访问的数据库,还可以选择用户在这个数据库中的数据库角色。(5)设置完毕后,单击“确定”按钮,即可完成该登录账号的创建。注:在步骤(2)中,如果选择“Windows身份验证”单选按钮,则“登录名”文本框后面的“搜索”按钮被激活,单击可打开“选择用户和组”对话框,再单击“高级”按钮打开如图11-4所示“搜索结果”拦,单击“立即查找”按钮
14、可以搜索到当前Windows系统中的用户和用户组,可以选择这些用户作为SQL Server的登录账号。,11.2 服务器的安全性管理,图11-4 选择Windows系统用户作为SQL Server的登录账号,11.2 服务器的安全性管理,11.2.3 更改、删除登录账号属性,按照查看登录账号的方法打开图11-2所示的窗口,右击需要更改属性的登录名,在弹出的快捷菜单中选择“属性”命令,打开“登录属性”对话框,即可更改或删除登录账号及账号属性(如密码、角色、数据库访问等)。,11.2 服务器的安全性管理,11.2.4 禁止登录账号,如果要暂时禁止一个使用SQL Server身份验证的登录账号连接到
15、SQL Server 2012,只需要修改该账户的登录密码就行了。如果要暂时禁止一个使用Windows身份验证的登录账户连接到SQL Server,则应当使用SQL Server Management Studio或执行T-SQL语句来实现。,11.2 服务器的安全性管理,操作步骤如下:(1)在“SQL Server Management Studio”窗口中按照查看登录账号的方法打开如图11-2所示的窗口。(2)在“详细信息”窗格中右击要禁止的登录账号,在弹出的快捷菜单中选择“属性”命令,打开“登录属性”对话框。(3)在“登录属性”对话框中,选择“状态”选项,然后选择“禁用”单选按钮,如图1
16、1-5所示。(4)单击“确定”按钮,使所做的设置生效。,图11-5 禁止登录账号,11.2 服务器的安全性管理,11.2.5 删除登录账号,如果要永久禁止使用一个登录账号连接到SQL Server,就应当将该登录账号删除,可以使用SQL Server Management Studio来完成。操作步骤如下:(1)在“SQL Server Management Studio”窗口中按照查看登录账号的方法打开如图11-2所示的窗口。(2)在“详细信息”窗格中右击要删除的登录账号,在弹出的快捷菜单中选择“删除”命令。(3)在打开的对话框中单击“确定”按钮,确认登录账号的删除操作。,11.2 服务器的
17、安全性管理,11.3.1 数据库用户,一个SQL Server的登录账号只有成为某个数据库的用户时,对该数据库才有访问权限。每个登录账号在一个数据库中只能有一个用户账号,但每个登录账号可以在不同的数据库中各有一个用户账号。如果在新建登录账号过程中,指定它对某个数据库具有存取权限,则在该数据库中将自动创建一个与该登录账号同名的用户账号。注意:登录账号具有对某个数据库的访问权限,并不表示该登录账号对该数据库具有存取的权限,如果要对数据库的对象进行插入、更新等操作,还需要设置用户账号的权限。,11.3 数据库安全性管理,1创建数据库的用户【案例12-3】为TestDB数据库创建名为stuadm的数据
18、库用户。操作步骤如下:(1)在“SQL Server Management Studio”窗口中,依次展开SQL服务器、“数据库”结点,再展开要管理的数据库结点TestDB,然后再依次展开“安全性”、“用户”结点,右击“用户”结点,在弹出的快捷菜单中选择“新建用户”命令,打开“数据库用户-新建”对话框,如图11-6所示。,11.3 数据库安全性管理,V11-3 数据库用户管理.wmv,图11-6 新建用户,11.3 数据库安全性管理,(2)在如图11-6所示的对话框中,在“用户名”文本框中输入用户名,由于任何数据库用户都必须对应一个登录名,所以在“登录名”文本框中还要填写有效的登录名(可以单击
19、“”按钮查找SQL服务器上有效的登录名)。(3)进一步设置“默认架构”、“成员身份”和“拥有的架构”。(4)设置完毕后,单击“确定”按钮,即可在TestDB数据库中创建一个新的用户账号。,11.3 数据库安全性管理,2修改数据库的用户 在数据库中建立一个数据库用户账号时,要为该账号设置某种权限,可以通过为它指定适当的数据库角色来实现。修改所设置的权限时,只需要修改该账号所属的数据库角色就可以了。操作步骤如下:(1)在“SQL Server Management Studio”窗口中,依次展开SQL服务器、“数据库”、“TestDB”、“安全性”、“用户”结点,并选择“用户”结点。(2)在“详细
20、信息”窗格中右击要修改的用户账号,在弹出的快捷菜单中选择“属性”命令。(3)打开“数据库用户-TestDB”对话框,在“常规”选项中可以重新选择用户账号所属的数据库角色,这与新建用户相似,这种方式需要预先建立好相应的数据库角色。,11.3 数据库安全性管理,更详细的数据库权限设置需要在“安全对象”选项中设置,这种设置方法与微软以前版本的SQL Server 7.0及SQL Server 2000有较大区别。操作步骤如下:(1)在“数据库用户-TestDB”对话框中选择“安全对象”选项,单击“添加”按钮。(2)打开“添加对象”对话框,选择“特定对象”单选按钮,单击“确定”按钮,打开“选择对象”对
21、话框。,11.3 数据库安全性管理,更详细的数据库权限设置需要在“安全对象”选项中设置,这种设置方法与微软以前版本的SQL Server 7.0及SQL Server 2000有较大区别。操作步骤如下:(1)在“数据库用户-TestDB”对话框中选择“安全对象”选项,单击“添加”按钮。(2)打开“添加对象”对话框,选择“特定对象”单选按钮,单击“确定”按钮,打开“选择对象”对话框。,图11-7“数据库用户”对话框,11.3 数据库安全性管理,3删除数据库的用户 删除数据库用户步骤与修改数据库用户方式相似,只是在右击要修改账号,在弹出的快捷菜单中选择“删除”命令,然后继续后续操作即可。,11.3
22、 数据库安全性管理,11.3.2 数据库角色,角色是一个强大的工具,它可以将用户集中到一个单元中,然后对该单元应用权限。对一个角色授予、拒绝或废除权限适用于该角色中的任何成员。可以建立一个角色来代表单位中一类工作人员所执行的工作,然后给这个角色授予适当的权限。和登录账号类似,用户账号也可以分成组,称为数据库角色(DataBase roles)。数据库角色应用于单个数据库。在SQL Server中,数据库角色可分为两种:数据库角色和应用程序角色。数据库角色是由数据库成员所组成的组,此成员可以是用户或者其他的数据库角色。应用程序角色用来控制应用程序存取数据库,它本身并不包括任何成员。,11.3 数
23、据库安全性管理,1查看数据库角色 在创建一个数据库时,系统默认创建10个固定的标准角色。在“SQL Server Management Studio”窗口中,依次展开SQL服务器、“数据库”、“TestDB”、“安全性”、“角色”、“数据库角色”结点,并选择“数据库角色”结点,这时可在右侧“详细信息”窗格中显示默认的10个数据库角色,见表12-2。,11.3 数据库安全性管理,表12-2 SQL Server 2012中的固定数据库角色,11.3 数据库安全性管理,2创建、删除新的角色操作步骤如下:(1)按照查看数据库角色的方式打开“数据库角色”窗口。(2)然后根据需要右击“数据库角色”或“应
24、用程序角色”结点,在弹出的快捷菜单中选择“新建数据库角色”或“应用程序角色”命令,则打开“数据库角色新建”对话框或“应用程序角色新建”对话框,如图11-8所示。,11.3 数据库安全性管理,图11-8“数据库角色-新建”对话框,11.3 数据库安全性管理,(3)在该对话框中的“角色名称”文本框中输入角色的名称,在“所有者”文本框中输入所有者(或单击“”按钮查找有效所有者);接着选择所有者架构,添加角色成员;最后单击“确定”按钮。如果要对角色进行详细权限设置,可以在“安全对象”选项中进行设置,具体方法与设置数据库用户详细权限相似。3应用程序角色 编写数据库应用程序时,可以定义应用程序角色,让应用
25、程序的操作者能用该应用程序来存取SQL Server的数据。也就是说,应用程序的操作者本身并不需要在SQL Server上有登录账号以及用户账号,仍然可以存取数据库,这样可以避免操作者自行登录SOLServer 2012。,11.3 数据库安全性管理,4public数据库角色 public数据库角色是每个数据库最基本的数据库角色,每个用户可以不属于其它9个固定数据库角色,但是至少属于public数据库角色。当在数据库中添加新用户时,SQL Server 2012会自动将新用户账号加入public数据库角色中。,11.3 数据库安全性管理,11.3.3 管理权限,用户是否具有对数据库存取的权力,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 应用技术 SQLServer

链接地址:https://www.31ppt.com/p-4519875.html