第0章SQLServer安全管理课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第0章SQLServer安全管理课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQLServer 安全管理 课件
- 资源描述:
-
1、1安全管理概述安全管理概述10.1登录登录10.2数据库用户数据库用户10.3角色角色10.4权限管理权限管理10.52 对于网络环境下的多用户数据库而言,安全问对于网络环境下的多用户数据库而言,安全问题是至关重要的。必须对不同的用户赋予不同的题是至关重要的。必须对不同的用户赋予不同的访问权限,才能保证数据库中的数据不被泄露或访问权限,才能保证数据库中的数据不被泄露或破坏。本章将介绍破坏。本章将介绍SQL Server 2000实现安全管理实现安全管理的方法。的方法。3n安全管理概述安全管理概述 n登录登录 n数据库用户数据库用户 n角色角色 n权限管理权限管理 4 SQL Server 20
2、00的安全管理模型中包括的安全管理模型中包括SQL Server登录、数据库用户、权限和角色登录、数据库用户、权限和角色4个主要方个主要方面,具体如下。面,具体如下。nSQL Server登录:要想连接到登录:要想连接到SQL Server服务器服务器实例,必须拥有相应的登录账户和密码。实例,必须拥有相应的登录账户和密码。SQL Server的身份认证系统验证用户是否拥有有效的的身份认证系统验证用户是否拥有有效的登录账户和密码,从而决定是否允许该用户连接登录账户和密码,从而决定是否允许该用户连接到指定的到指定的SQL Server服务器实例。服务器实例。5n数据库用户:通过身份认证后,用户可以
3、连接数据库用户:通过身份认证后,用户可以连接到到SQL Server服务器实例。但是,这并不意味服务器实例。但是,这并不意味着该用户可以访问到指定服务器上的所有数据着该用户可以访问到指定服务器上的所有数据库。在每个库。在每个SQL Server数据库中,都存在一组数据库中,都存在一组SQL Server用户账户。登录账户要访问指定数用户账户。登录账户要访问指定数据库,就要将自身映射到数据库的一个用户账据库,就要将自身映射到数据库的一个用户账户上,从而获得访问数据库的权限。一个登录户上,从而获得访问数据库的权限。一个登录账户可以对应多个用户账户。账户可以对应多个用户账户。6n权限:权限规定了用户
4、在指定数据库中所能进权限:权限规定了用户在指定数据库中所能进行的操作。行的操作。n角色:类似于角色:类似于Windows的用户组,角色可以对用的用户组,角色可以对用户进行分组管理。可以对角色赋予数据库访问户进行分组管理。可以对角色赋予数据库访问权限,此权限将应用于角色中的每一个用户。权限,此权限将应用于角色中的每一个用户。7n登录指用户连接到指定登录指用户连接到指定SQL Server数据库实例的数据库实例的过程。在此期间,系统要对该用户进行身份验证。过程。在此期间,系统要对该用户进行身份验证。n只有拥有正确的登录账户和密码,才能连接到指只有拥有正确的登录账户和密码,才能连接到指定的数据库实例
5、。定的数据库实例。8 登录到登录到SQL Server实例必须经过两个过程。首实例必须经过两个过程。首先要从系统中获得此权限,即得到授权;然后就是先要从系统中获得此权限,即得到授权;然后就是要通过系统的身份验证。要通过系统的身份验证。SQL Server提供以下两种提供以下两种身份验证模式。身份验证模式。nWindows 身份验证模式身份验证模式 n混合模式(混合模式(Windows身份验证和身份验证和SQL Server身身份验证)份验证) 9nSQL Server数据库系统通常运行在数据库系统通常运行在Windows NT服务器平服务器平台上,而台上,而NT作为网络操作系统,本身就具备管理
6、登录、作为网络操作系统,本身就具备管理登录、验证用户合法性的能力,验证用户合法性的能力,Windows身份验证模式正是利身份验证模式正是利用了这一用户安全性和账户管理的机制,允许用了这一用户安全性和账户管理的机制,允许SQL Server也可以使用也可以使用Windows的用户名和密码。在这种模式的用户名和密码。在这种模式下,用户只需要通过下,用户只需要通过Windows的身份验证,就可以连接的身份验证,就可以连接到到SQL Server,而,而SQL Server本身也就不需要管理一套本身也就不需要管理一套登录数据。登录数据。n当用户通过当用户通过Windows NT 4.0、Windows
7、 2000或或Windows 2003用户账户进行连接时,用户账户进行连接时,SQL Server通过回叫通过回叫Windows系统以获得信息,重新验证账户名和密码。系统以获得信息,重新验证账户名和密码。10nSQL Server可以设置其自己的可以设置其自己的SQL Server登录账登录账户。用户登录时,户。用户登录时,SQL Server将对用户的账户进将对用户的账户进行验证。如果行验证。如果SQL Server未设置该登录账户,或未设置该登录账户,或该账户的用户名、密码不正确,则身份验证将失该账户的用户名、密码不正确,则身份验证将失败,而且用户将收到错误信息。败,而且用户将收到错误信息
8、。n混合模式允许用户使用混合模式允许用户使用Windows NT安全性或安全性或SQL Server安全性连接到安全性连接到SQL Server,这就意味,这就意味着用户可以使用他的着用户可以使用他的Windows账户,或使用他的账户,或使用他的SQL Server账户登录到账户登录到SQL Server系统。系统。11n对于对于Windows NT的用户,既可以使用的用户,既可以使用Windows身份验证模式,也可以使用身份验证模式,也可以使用SQL Server的身份验的身份验证模式。而对于证模式。而对于Windows 9.x的用户只能使用的用户只能使用SQL Server的身份验证模式。
9、的身份验证模式。n应用程序开发人员和数据库用户也许更喜欢应用程序开发人员和数据库用户也许更喜欢“SQL Server身份验证身份验证”模式,因为他们可以通模式,因为他们可以通过对登录账户和密码的管理实现权限控制。过对登录账户和密码的管理实现权限控制。12Windows身份验证模式身份验证模式 混合模式混合模式 用户连接请求用户连接请求 身份验证模式?身份验证模式? 使用使用SQL Server账户连接吗?账户连接吗? 是有效账户吗?是有效账户吗? SQL ServerSQL Server拒绝连接拒绝连接 有效的有效的NTNT帐户吗帐户吗 SQL Server接受用户连接接受用户连接 是是 是是
10、 是是 否否 否否 否否 1314nSQL Server有以下两个默认的登录账户:有以下两个默认的登录账户:sa:即系统管理员(:即系统管理员(system administrator)账户,该账户在账户,该账户在SQL Server系统和所有数据系统和所有数据库中拥有所有的权限。库中拥有所有的权限。BUILTINAdministrators:该账户为:该账户为Windows NT系统管理员账户,具有与系统管理员账户,具有与sa有相有相同的权限。同的权限。可以使用以下两种方式新建登录帐户:可以使用以下两种方式新建登录帐户:在企业管理器中创建登录账户在企业管理器中创建登录账户 使用命令创建登录账
11、户使用命令创建登录账户 15n展开指定服务器实例下的展开指定服务器实例下的“安全性安全性”文件夹,文件夹,用鼠标右击用鼠标右击“登录登录”项,在弹出菜单中选择项,在弹出菜单中选择“新建登录新建登录”命令,打开饼设置命令,打开饼设置“新建登录新建登录”对话框:对话框:16使用系统存储过程创建使用系统存储过程创建Windows身份验证模式身份验证模式登录账户;登录账户;使用系统存储过程创建使用系统存储过程创建SQL Server身份验证模身份验证模式的登录账户式的登录账户17n使用使用sp_grantlogin存储过程可以创建新的存储过程可以创建新的Windows身份验证模式登录账户,语法如下:身
12、份验证模式登录账户,语法如下: sp_grantlogin 登录名称登录名称登录名称指要添加的登录名称指要添加的Windows用户或组的名用户或组的名称。称。Windows组和用户必须用组和用户必须用Windows域名域名限定,格式为限定,格式为“域名域名用户名用户名”,例如,例如“LondonJoeb”。只有只有sysadmin或或securityadmin固定服务器角固定服务器角色的成员可以执行色的成员可以执行sp_grantlogin。18n使用使用sp_grantlogin存储过程将用户存储过程将用户LEEpublic映射到映射到SQL Server登录账户。登录账户。 sp_gran
13、tlogin LEEpublicn执行结果为:执行结果为: 已向已向 LEEpublic 授予登录访问权。授予登录访问权。19n使用使用sp_addlogin存储过程可以创建新的登录账存储过程可以创建新的登录账户,语法如下:户,语法如下: sp_addlogin 登录名称登录名称, 登录密码登录密码 , 默认数据库默认数据库, 默认语言默认语言nSQL Server 登录名称和密码不能含有反斜线登录名称和密码不能含有反斜线();不能是保留的登录名称,例如);不能是保留的登录名称,例如sa或或public,或者已经存在的登录名称;不能为,或者已经存在的登录名称;不能为NULL;不能为空字符串;不
14、能为空字符串()。20n使用使用sp_addlogin存储过程创建存储过程创建SQL Server登录登录账户账户lee,密码为,密码为111111,默认数据库为,默认数据库为“学生学生管理管理”。 sp_addlogin lee, 111111, 学生管理学生管理n执行结果为:执行结果为: 已创建新登录。已创建新登录。21n使用企业管理器修改账户使用企业管理器修改账户 n使用企业管理器删除账户使用企业管理器删除账户 n使用存储过程修改和删除账户使用存储过程修改和删除账户22n展开指定服务器实例下的展开指定服务器实例下的“安全性安全性”文件夹,文件夹,用鼠标单击用鼠标单击“登录登录”项,可以在
15、右侧窗格中查项,可以在右侧窗格中查看到已经存在的看到已经存在的SQL Server登录账户。用鼠标登录账户。用鼠标右键单击登录账户名,在弹出的快捷菜单中选右键单击登录账户名,在弹出的快捷菜单中选择择“属性属性”命令,打开命令,打开“登录属性登录属性”对话框,对话框,在该对话框中可以对账户信息进行修改。在该对话框中可以对账户信息进行修改。23n修改修改Windows身份验证模式账户身份验证模式账户24n修改修改SQL Server身份验证模式账户身份验证模式账户25n在企业管理器中,用鼠标右键单击在企业管理器中,用鼠标右键单击SQL Server账户,在弹出的快捷菜单中选择账户,在弹出的快捷菜单
16、中选择“删除删除”命令,命令,在弹出的确认对话框中单击在弹出的确认对话框中单击“是是”按钮,可以按钮,可以删除该账户。删除该账户。26nsp_denylogin存储过程存储过程 nsp_revokelogin存储过程存储过程 nsp_password存储过程存储过程 nsp_droplogin存储过程存储过程 27n用于阻止用于阻止Windows用户或用户组连接到用户或用户组连接到SQL Server实例,基本语法:实例,基本语法: sp_denylogin 用户或用户组名用户或用户组名nsp_denylogin只能和只能和Windows账户一起使用,账户一起使用,“用户或用户组名用户或用户组
17、名”格式为格式为“域名域名用户名用户名”。sp_denylogin无法用于通过无法用于通过sp_addlogin添加的添加的SQL Server登录。登录。nsp_denylogin和和sp_grantlogin是对应的两个存储是对应的两个存储过程,它们可以互相反转对方的效果,允许和过程,它们可以互相反转对方的效果,允许和拒绝用户访问拒绝用户访问SQL Server。28n使用使用sp_denylogin存储过程拒绝用户存储过程拒绝用户LEEpublic访问访问SQL Server实例。实例。 sp_denylogin LEEpublicn执行结果为:执行结果为: 已拒绝对已拒绝对 LEEpu
18、blic 的登录访问权。的登录访问权。29n用于删除用于删除SQL Server中使用中使用sp_denylogin或或sp_grantlogin创建的创建的Windows身份认证模式登身份认证模式登录账户,基本语法如下:录账户,基本语法如下: sp_revokelogin 用户或用户组名用户或用户组名【例【例10-4】使用】使用sp_revokelogin存储过程删除用户存储过程删除用户LEEpublic对应的对应的SQL Server登录账户。登录账户。 sp_revokelogin LEEpublic执行结果为:执行结果为: 已废除已废除 LEEpublic 的登录访问权。的登录访问权。
19、 从登录列表中可以看到,从登录列表中可以看到,LEEpublic已经被删除。已经被删除。30n用于修改用于修改SQL Server登录的密码,基本语法如登录的密码,基本语法如下:下: sp_password 旧密码旧密码, 新密码新密码, 登录账户名登录账户名【例【例10-5】使用】使用sp_password存储过程将登录账户存储过程将登录账户lee的密码修改为的密码修改为222222。 sp_password 111111, 222222, lee执行结果为:执行结果为: 密码已更改。密码已更改。31n用于删除用于删除SQL Server登录账户,以阻止使用该登录账户,以阻止使用该登录账户访
20、问登录账户访问SQL Server,基本语法如下:,基本语法如下: sp_droplogin 登录名称登录名称【例【例10-6】使用】使用sp_droplogin存储过程删除登录账存储过程删除登录账户户lee。 sp_droplogin lee 执行结果为:执行结果为: 登录已除去。登录已除去。32本节介绍:本节介绍:n数据库用户概述数据库用户概述 n新建数据库用户新建数据库用户 n修改和删除数据库用户修改和删除数据库用户 拥有登录账户的用户才能通过拥有登录账户的用户才能通过SQL Server身份身份验证,从而获得对验证,从而获得对SQL Server实例的访问权限。实例的访问权限。但通过但
21、通过SQL Server的身份验证并不代表用户就能的身份验证并不代表用户就能够访问够访问SQL Server中的数据,要访问某个具体的中的数据,要访问某个具体的数据库,还必须使登录账户成为某数据库的用户。数据库,还必须使登录账户成为某数据库的用户。33两个特殊的数据库用户:两个特殊的数据库用户:nDbo:数据库所有者,是具有在数据库中执行所:数据库所有者,是具有在数据库中执行所有活动的权限的用户,它与登录账户有活动的权限的用户,它与登录账户sa相对应。相对应。nGuest:允许没有用户账户的登录访问数据库。:允许没有用户账户的登录访问数据库。当满足下列所有条件时,登录采用当满足下列所有条件时,
22、登录采用guest用户的用户的标识。标识。登录有访问登录有访问SQL Server实例的权限,但没实例的权限,但没有通过自己的用户账户访问数据库的权限。有通过自己的用户账户访问数据库的权限。数据库中含有数据库中含有guest用户账户。用户账户。34n 可以将权限应用到可以将权限应用到guest用户,就如同它是任何其他用用户,就如同它是任何其他用户账户一样。可以在除户账户一样。可以在除master和和tempdb外(在这两个数外(在这两个数据库中据库中guest用户必须始终存在)的所有数据库中添加或用户必须始终存在)的所有数据库中添加或删除删除guest用户。默认情况下,新建的数据库中没有用户。
23、默认情况下,新建的数据库中没有guest用户账户。用户账户。n创建数据库对象的用户称为数据库对象所有者。创建数创建数据库对象的用户称为数据库对象所有者。创建数据库对象的权限必须由数据库所有者或系统管理员授予。据库对象的权限必须由数据库所有者或系统管理员授予。但是,在授予数据库对象这些权限后,数据库对象所有但是,在授予数据库对象这些权限后,数据库对象所有者就可以创建对象并授予其他用户使用该对象的权限。者就可以创建对象并授予其他用户使用该对象的权限。数据库对象所有者没有特殊的登录数据库对象所有者没有特殊的登录 ID 或密码。对象创或密码。对象创建者被隐性授予数据库的所有权限,但其他用户必须被建者被
24、隐性授予数据库的所有权限,但其他用户必须被显式授予权限后才能访问该对象。显式授予权限后才能访问该对象。 35n使用企业管理器创建数据库用户使用企业管理器创建数据库用户 nsp_grantdbaccess存储过程创建数据库用户存储过程创建数据库用户 36n展开指定的数据库,选择展开指定的数据库,选择“用户用户”项,可以查项,可以查看该数据库中用户的信息,如下图。默认情况看该数据库中用户的信息,如下图。默认情况下,用户创建的数据库中只有一个用户,即下,用户创建的数据库中只有一个用户,即dbo。37n用鼠标右击用鼠标右击“用户用户”项,从快捷菜单中选择项,从快捷菜单中选择“新建数据库用户新建数据库用
25、户”命令,打开命令,打开“新建用户新建用户”对话框,如下图。对话框,如下图。38n使用使用sp_grantdbaccess存储过程可以将存储过程可以将SQL Server登录和登录和Windows用户(用户组)指定为当用户(用户组)指定为当前数据库用户,并使其能够被授予在数据库中前数据库用户,并使其能够被授予在数据库中执行活动的权限。基本语法如下:执行活动的权限。基本语法如下: sp_grantdbaccess 登录名登录名, 数据库用户名数据库用户名 数据库用户名:可以包含数据库用户名:可以包含1128个字符,包括个字符,包括字母、符号和数字,但不能包含反斜线符号字母、符号和数字,但不能包含
展开阅读全文