SQLServer的安全管理与维护.ppt
《SQLServer的安全管理与维护.ppt》由会员分享,可在线阅读,更多相关《SQLServer的安全管理与维护.ppt(113页珍藏版)》请在三一办公上搜索。
1、第11章 SQL Server的安全管理与维护,本章学习目标,了解SQL Server 2008的身份验证模式掌握管理SQL Server 2008登录帐户、角色和权限的方法掌握管理SQL Server 2008数据库用户的方法了解SQL Server 2008中数据库备份的分类及特点了解备份设备的概念,本章学习目标,掌握备份设备的创建、查看、删除方法掌握SQL Server 2008中数据库备份和还原的方法了解SQL Server 2008导入和导出向导可以访问的数据源类型掌握数据导入和导出的方法,11.1 SQL Server 2008的安全机制,如果用户要操作数据库中的数据,则必须满足以
2、下三个条件:首登录SQL Server服务器时必须通过身份验证;必须是该数据库的用户或者是某一数据库角色的成员;必须有执行该操作的权限。,11.1.1 SQL Server 2008登录身份验证,SQL Server 2008提供了两种确认用户的验证模式:“Windows身份验证模式”“SQL Server和Windows身份验证模式”,11.1.1 SQL Server 2008登录身份验证,1Windows身份验证用户通过Windows用户帐户连接时,SQL Server使用Windows操作系统中的信息验证帐户名和密码,并获得对SQL Server的访问权限。这是默认的身份验证模式。,1
3、1.1.1 SQL Server 2008登录身份验证,2SQL Server和Windows身份验证模式(又称为混合模式)允许用户使用Windows身份验证或SQL Server身份验证进行连接。使用SQL Server身份验证时,必须提供一个已存在的SQL Server登录帐户和密码。,11.1.1 SQL Server 2008登录身份验证,3设置身份验证模式使用SSMS可以重新设置身份验证模式。(1)打开SSMS,右击SQL Server服务器名称,在弹出的快捷菜单中选择“属性”选项。(2)在打开的“服务器属性”对话框中,在窗口左边选择“安全性”选择页。,11.1.2 登录账户管理,1
4、查看登录帐户在SQL Server 2008的SSMS中,选择指定的服务器,展开服务器下的“安全性”,选择“登录名”,可以查看该服务器所有的登录帐户信息。,11.1.2 登录账户管理,2创建登录帐户(1)使用SSMS创建登录帐户在SSMS中,展开SQL Server服务器组中相应的服务器。展开“安全性”节点,右击“登录名”,在弹出的快捷菜单中选择“新建登录名”,会打开“登录名-新建”对话框。根据所要创建的登录帐户的类型选择相应的身份验证类型单选按钮。,11.1.2 登录账户管理,2创建登录帐户(2)使用T-SQL语句创建登录账户CREATE LOGIN loginName WITH|FROM:
5、=PASSWORD=password|hashed_password HASHEDMUST_CHANGE,DEFAULT_DATABASE=database|DEFAULT_LANGUAGE=language,.,11.1.2 登录账户管理,2创建登录帐户(2)使用T-SQL语句创建登录账户:=WINDOWS WITH DEFAULT_DATABASE=database|DEFAULT_LANGUAGE=language,.|CERTIFICATE certname|ASYMMETRIC KEY asym_key_name,11.1.2 登录账户管理,其中,各参数的说明如下:loginName
6、:指定创建的登录名。PASSWORD=password:指定正在创建的登录名的密码。仅适用于SQL Server登录名。PASSWORD=hashed_password:指定要创建的登录名的密码的哈希值。仅适用于HASHED关键字。HASHED:指定在PASSWORD参数后输入的密码已经过哈希运算。,11.1.2 登录账户管理,MUST_CHANGE:如果包括此选项,则SQL Server将在首次使用新登录名时提示用户输入新密码。DEFAULT_DATABASE=database:指定将指派给登录名的默认数据库。DEFAULT_LANGUAGE=language:指定将指派给登录名的默认语言。
7、WINDOWS:指定将登录名映射到Windows登录名CERTIFICATE certname:指定将与此登录名关联的证书名称。ASYMMETRIC KEY asym_key_name:指定将与此登录名关联的非对称密钥的名称。,11.1.2 登录账户管理,例11-1:创建一个Windows登录账户,使得Windows用户JZH_PCZhangSan得以连接到SQL Server。例11-2:创建一个SQL Server登录账户USER1,密码为Abc123#$。,11.1.2 登录账户管理,3修改登录帐户属性(1)使用SSMS修改登录帐户使用SSMS修改登录帐户属性,只需双击要修改属性的登录帐
8、户,并在登录属性对话框中进行修改即可。注意:对于SQL Server帐户,可以修改其密码。对于Windows帐户,只能使用Windows的“计算机管理器”或“域用户管理器”修改帐户密码。,11.1.2 登录账户管理,3修改登录帐户属性(2)使用T-SQL语句修改登录帐户ALTER LOGIN login_name ENABLE|DISABLE|WITH,.|ADD CREDENTIAL credential_name|DROP CREDENTIAL credential_name,11.1.2 登录账户管理,:=PASSWORD=password|hashed_password HASHED
9、OLD_PASSWORD=oldpassword|DEFAULT_DATABASE=database|DEFAULT_LANGUAGE=language|NAME=login_name:=MUST_CHANGE|UNLOCK,11.1.2 登录账户管理,其中,各参数的说明如下:ENABLE|DISABLE:指定启用或禁用此登录账户,默认值为ENABLE。OLD_PASSWORD=oldpassword:指定要指派新密码的登录账户的当前密码。NAME=login_name:指定正在重命名的登录账户的新名称。ADD CREDENTIAL:将可扩展的密钥管理(EKM)提供程序凭据添加到登录名。DRO
10、P CREDENTIAL:删除登录名的可扩展密钥管理(EKM)提供程序凭据。,11.1.2 登录账户管理,4删除登录帐户(1)使用SSMS删除登录帐户使用SSMS删除登录帐户,只需右击要删除的登录帐户,从弹出的快捷菜单中选择“删除”选项,在打开的“删除对象”对话框中单击“确定”按钮即可删除此登录帐户。(2)使用T-SQL语句删除登录账户DROP LOGIN login_name例11-4:删除登录账户USER1。,11.1.3 数据库用户管理,在数据库中,一个用户或工作组取得合法的登录帐户,只表明该帐户可以登录到SQL Server,但不表明其可以访问数据库或对数据库对象进行某种或者某些操作。
11、管理员必须在数据库中为用户建立一个数据库帐户,并授予此帐户访问数据库及数据库中对象的权限后,才能使该用户访问该数据库。,11.1.3 数据库用户管理,一台服务器除了有一套服务器登录帐户列表外,每个数据库中也都有一套相互独立的数据库用户列表。每个数据库用户都和服务器登录帐户之间存在着一种映射关系。系统管理员可以将一个服务器登录帐户映射到用户需要访问的每一个数据库中的一个用户帐户和角色上。一个登录帐户在不同的数据库中可以映射成不同的用户,从而拥有不同的权限。,11.1.3 数据库用户管理,1默认数据库用户(1)数据库所有者(dbo)dbo是数据库的所有者,拥有数据库中的所有对象。(2)guest用
12、户guest用户帐户允许没有用户帐户的登录名访问数据库。(3)INFORMATION_SCHEMA和sys用户每个数据库中都含有INFORMATION_SCHEMA和sys用户,它们位于目录视图中,用来获取有关数据库的元数据信息。,11.1.3 数据库用户管理,2查看数据库用户在SSMS中,展开SQL Server服务器组中相应服务器和数据库,展开“安全性”节点,并选择“用户”选项即可以查看该数据库的所有用户。,11.1.3 数据库用户管理,3创建数据库用户(1)使用SSMS创建数据库用户在SSMS中,展开SQL Server服务器组中相应服务器和数据库。展开“安全性”节点,右击“用户”,在弹
13、出的快捷菜单中选择“新建用户”选项,会打开“数据库用户-新建”对话框。,11.1.3 数据库用户管理,3创建数据库用户(2)使用T-SQL语句创建数据库用户CREATE USER user_name FOR|FROM LOGIN login_name|CERTIFICATE cert_name|ASYMMETRIC KEY asym_key_name|WITHOUT LOGIN,11.1.3 数据库用户管理,其中,各参数的说明如下:user_name:指定在此数据库中用于识别该用户的名称。LOGIN login_name:指定要创建数据库用户的SQL Server登录名。CERTIFICATE
14、 cert_name:指定要创建数据库用户的证书。,11.1.3 数据库用户管理,ASYMMETRIC KEY asym_key_name:指定要创建数据库用户的非对称密钥。WITHOUT LOGIN:指定不应将用户映射到现有登录名。例11-5:在AWLT数据库中创建数据库用户zhangsan,其对应的登录名为JZH_PCZhangSan。,11.1.3 数据库用户管理,4修改数据库用户(2)使用T-SQL语句修改数据库用户可以使用T-SQL中的ALTER USER语句修改数据库用户的属性,其语法格式如下:ALTER USER userName WITH NAME=newUserName|LO
15、GIN=loginName,.n例11-6:将数据库用户zhangsan的名称修改为zs。,11.1.3 数据库用户管理,5删除数据库用户(1)使用SSMS删除数据库用户在SSMS中删除一个数据库用户可以鼠标右击要删除的用户,从弹出的快捷菜单中选择“删除”选项,在随后弹出的“删除对象”对话框中单击“确定”按钮即可将该用户从数据库中删除。(2)使用T-SQL语句删除数据库用户DROP USER username例11-7:删除数据库用户zs。,11.1.4 架构管理,架构是形成单个命名空间的数据库实体的集合,可以包含如表、视图、存储过程等数据库对象。架构独立于创建它们的数据库用户而存在。可以在不
16、更改架构名称的情况下转让架构的所有权,并且可以在架构中创建具有用户友好名称的对象,明确指示对象的功能。多个用户可以通过角色成员身份或Windows组成员身份拥有一个架构。,11.1.4 架构管理,在SQL Server 2008中,架构是一个重要的内容,完全限定的对象名称中就包含架构。即服务器名.数据库名.架构.对象()。在创建数据库对象时如果没有设置或更改其架构,系统将默认为dbo。,11.1.4 架构管理,1创建自定义架构使用SSMS创建自定义架构的步骤如下:在SSMS中,展开SQL Server服务器组中相应服务器和数据库。展开“安全性”节点,右击“架构”,在快捷菜单中选择“新建架构”,
17、会打开“架构-新建”对话框。,11.1.4 架构管理,2修改、删除自定义架构可以在创建了新的架构后根据实际需要修改其属性。使用SSMS修改架构属性,只需双击要修改属性的架构,并在架构属性对话框中进行修改即可。在SSMS中删除一个自定义架构可以鼠标右击要删除的架构,从弹出的快捷菜单中选择“删除”选项,在随后弹出的“删除对象”对话框中单击“确定”按钮即可将该架构从数据库中删除。,11.1.5 数据库角色,SQL Server管理者可以将某一组用户设置为某一角色,这样只要对角色进行权限设置便可以实现对所有用户权限的设置,大大减少了管理员的工作量。SQL Server提供了通常管理工作的预定义服务器角
18、色和数据库角色。用户还可以创建自己的数据库角色,以便表示某一类进行同样操作的用户。,11.1.5 数据库角色,1固定服务器角色服务器角色是指根据SQL Server的管理任务,以及这些任务相对的重要性等级来把具有SQL Server管理职能的用户划分为不同的用户组。每一组所具有的管理SQL Server的权限都是SQL Server内置的,即不能对其进行添加、修改和删除,只能向其中加入用户或者其他角色。,11.1.5 数据库角色,1固定服务器角色SQL Server提供的固定服务器角色如下:系统管理员(sysadmin)服务器管理员(serveradmin)磁盘管理员(diskadmin)进程
19、管理员(processadmin)安全管理员(securityadmin)安装管理员(setupadmin)数据库创建者(dbcreator)大容量插入操作管理者(bulkadmin),11.1.5 数据库角色,1固定服务器角色(1)使用SSMS查看或更改固定服务器角色成员将一个登录帐户加入到一个服务器角色中,可以使该登录帐户自动拥有该服务器角色预定义的权限。一个登录帐户可以同时属于多个角色,也可以不属于任何角色。,11.1.5 数据库角色,1固定服务器角色(1)使用SSMS查看或更改固定服务器角色成员在SSMS中,展开SQL Server服务器组中相应服务器。展开“安全性”节点,并选择“服务
20、器角色”,将显示当前服务器下的所有服务器角色。双击服务器角色列表中某个服务器角色,将弹出“服务器角色属性”对话框,其中显示出当前服务器角色成员列表。,11.1.5 数据库角色,1固定服务器角色(2)使用系统存储过程更改固定服务器角色成员1)可以使用系统存储过程sp_addsrvrolemember将登录账户添加到固定服务器角色,其语法格式如下:sp_addsrvrolemember loginame=login,rolename=role,11.1.5 数据库角色,1固定服务器角色2)可以使用系统存储过程sp_dropsrvrolemember将登录账户从固定服务器角色中删除,其语法格式如下:
21、sp_dropsrvrolemember loginame=login,rolename=role 例11-9:将 Windows 登录名JZH_PCZhangSan从sysadmin固定服务器角色中删除。,11.1.5 数据库角色,2固定数据库角色与服务器角色一样,数据库中也定义了角色的概念。数据库角色是为某一用户或某一组用户授予不同级别的管理或访问数据库以及数据库对象的权限,这些权限是数据库专有的,并且还可以给一个用户授予属于同一数据库的多个角色。,11.1.5 数据库角色,固定数据库角色是在数据库级别定义的,并且存在于每个数据库中。SQL Server已经预定义了这些角色所具有的管理、访
22、问数据库的权限,而且SQL Server管理者不能对其所具有的权限进行任何修改。在数据库中使用固定的数据库角色可以将不同级别的数据库管理工作分给不同的角色,从而有效地实现工作权限的传递。,11.1.5 数据库角色,SQL Server提供的固定数据库角色的具体含义如下:public:维护全部默认权限。db_owner:可以执行数据库的所有配置和维护活动,还可以删除数据库。db_securityadmin:可以修改角色成员身份和管理权限。db_accessadmin:可以为Windows登录帐户、Windows组和SQL Server登录帐户添加或删除数据库访问权限。,11.1.5 数据库角色,
23、db_backupoperator:可以备份该数据库。db_ddladmin:可以在数据库中运行任何数据定义语言(DDL)命令。db_datareader:可以从所有用户表中读取所有数据。db_datawriter:可以在所有用户表中添加、删除或更改数据。db_denydatareader:不能读取数据库内用户表中的任何数据。db_denydatawriter:不能添加、修改或删除数据库内用户表中的任何数据。,11.1.5 数据库角色,(1)使用SSMS查看或更改固定数据库角色成员在SSMS中,展开SQL Server服务器组中相应服务器和数据库,展开“安全性”节点并选择“数据库角色”选项就会
24、看到数据库中已存在的角色。在未创建新角色之前,数据库中只有固定数据库角色。,11.1.5 数据库角色,(1)使用SSMS查看或更改固定数据库角色成员右击某个数据库角色,并选择“属性”选项,会打开“数据库角色属性”对话框。在“数据库角色属性”对话框中,可以看到目前此角色包含的成员,还可以单击“添加”按钮添加新的成员或单击“删除”按钮删除已有的成员。,11.1.5 数据库角色,(2)使用系统存储过程更改固定数据库角色成员1)可以使用系统存储过程sp_addrolemember将数据库用户账户添加到固定数据库角色中,其语法格式如下:sp_addrolemember rolename=role,mem
25、bername=security_account,11.1.5 数据库角色,(2)使用系统存储过程更改固定数据库角色成员例11-10:新建一个SQL Server登录账户SQTest,在AWLT数据库中创建数据库用户SQUser1与其对应。并将数据库用户SQUser1添加到当前数据库的db_datareader数据库角色中。,11.1.5 数据库角色,2)可以使用系统存储过程sp_droprolemember将数据库用户账户从固定数据库角色中删除,其语法格式如下:sp_droprolemember rolename=role,membername=security_account 例11-11
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQLServer 安全管理 维护
链接地址:https://www.31ppt.com/p-6520788.html