第8章数据库安全管理_第1页
第8章数据库安全管理_第2页
第8章数据库安全管理_第3页
第8章数据库安全管理_第4页
第8章数据库安全管理_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、中南大学信息科学与工程学院数据库技术与应用数据库技术与应用数据库技术与应用教材编写组数据库技术与应用教材编写组数据库技术与应用本章内容重点难点第八章第八章 数据库安全的管理数据库安全的管理数据库安全的概念数据库安全的概念角色的概念角色的概念数据库的安全机制数据库的安全机制数据库安全管理的内容数据库安全管理的内容 SQL Server 2008身份验证模式的基本操作身份验证模式的基本操作2数据库技术与应用问题提出问题提出什么是数据库的安全?什么是数据库的安全?数据库的安全由什么来保障?数据库的安全由什么来保障?3?数据库技术与应用8.1 SQL Server 20088.1 SQL Server

2、 2008的安全机制的安全机制身份验证身份验证身份验证模式的设置身份验证模式的设置4数据库技术与应用8.1.1 8.1.1 身份验证身份验证数据库的安全性(数据库的安全性(securitysecurity)是指保护数据库避免不合法的)是指保护数据库避免不合法的使用,以免数据的泄漏、更改或破坏。数据库的安全性用使用,以免数据的泄漏、更改或破坏。数据库的安全性用于防止对数据库的恶意破坏和非法存取。于防止对数据库的恶意破坏和非法存取。SQL Server SQL Server 的身份验证模式是指系统确认用户的方式。的身份验证模式是指系统确认用户的方式。SQL Server 2008SQL Serve

3、r 2008能在两种身份验证模式(能在两种身份验证模式(Authentication Authentication ModesModes)下运行:)下运行:WindowsWindows身份验证模式和混合模式身份验证模式和混合模式。5数据库技术与应用8.1.1 8.1.1 身份验证身份验证WindowsWindows身份验证模式身份验证模式在在WindowsWindows身份验证模式下,身份验证模式下,SQL Server 2008SQL Server 2008依靠依靠WindowsWindows身份验证来验证用户的身份。只要用户能够通过身份验证来验证用户的身份。只要用户能够通过WindowsW

4、indows用户账号验证,即可连接到用户账号验证,即可连接到SQL Server 2008SQL Server 2008。 注意以下两个方面:注意以下两个方面:必须将必须将Windows账户加入到账户加入到SQL Server 2008中,才能采用中,才能采用Windows账户登录账户登录SQL Server 2008。如果使用如果使用Windows账户登录到另一个网络的账户登录到另一个网络的SQL Server 2008,则,则必须在必须在Windows中设置彼此的托管权限。中设置彼此的托管权限。Windows身份验证模式是身份验证模式是SQL Server 2008的默认身份验证模式。这的

5、默认身份验证模式。这种模式下,种模式下,SQL Server 2008不要求提供密码,也不执行身份验证不要求提供密码,也不执行身份验证,用户身份由,用户身份由Windows进行确认。进行确认。6数据库技术与应用8.1.1 8.1.1 身份验证身份验证混合模式混合模式在混合模式下用户既可以使用在混合模式下用户既可以使用 WindowsWindows身份验证,也可以身份验证,也可以使用使用SQL Server 2008SQL Server 2008身份验证。身份验证。通过混合模式身份验证进行连接的用户每次连接时必须提供其凭据(通过混合模式身份验证进行连接的用户每次连接时必须提供其凭据(登录名和密码

6、)。当使用混合模式身份验证时,必须为所有登录名和密码)。当使用混合模式身份验证时,必须为所有SQL SQL Server 2008Server 2008账户设置强密码。账户设置强密码。7数据库技术与应用8.1.2 8.1.2 身份验证模式的设置身份验证模式的设置在安装在安装SQL Server 2008 SQL Server 2008 的过程中,会有选择身份验证模的过程中,会有选择身份验证模式的步骤。安装完成后,也可以通过式的步骤。安装完成后,也可以通过SQL Server 2008 SQL Server 2008 的的SSMSSSMS进行更改。操作步骤如下:进行更改。操作步骤如下:(1 1)

7、打开)打开SSMSSSMS窗口,选择一种身份验证模式建立与服务器的连接。窗口,选择一种身份验证模式建立与服务器的连接。 (2 2)在)在“对象资源管理器对象资源管理器”窗口中,鼠标窗口中,鼠标右键单击当前服务器名称右键单击当前服务器名称,选择,选择“属性属性”命令,打开命令,打开“服服务器属性务器属性”对话框,如图对话框,如图8.38.3所示。所示。8数据库技术与应用8.1.2 8.1.2 身份验证模式的设置身份验证模式的设置(3 3)在左侧的选项卡列表框中,选择)在左侧的选项卡列表框中,选择“安全性安全性”选项卡,展开安全性选项内容,如图选项卡,展开安全性选项内容,如图8.48.4所示。在此

8、所示。在此选项卡中即可设置身份验证模式。选项卡中即可设置身份验证模式。(4 4)通过在)通过在“服务器身份验证服务器身份验证”选项区域下,选择相应的单选按钮,可以确定选项区域下,选择相应的单选按钮,可以确定SQL Server 2008SQL Server 2008的服务的服务器身份验证模式。无论使用哪种模式,都可以通过审核来跟踪访问器身份验证模式。无论使用哪种模式,都可以通过审核来跟踪访问SQL Server 2008SQL Server 2008的用户,默认时仅的用户,默认时仅审核失败的登录。审核失败的登录。(5 5)单击)单击“确定确定”按钮完成设置按钮完成设置, ,此时,在弹出图此时,

9、在弹出图8.58.5所示对话框,要求重新启动所示对话框,要求重新启动SQL Server 2008 SQL Server 2008 的服的服务器才能实现混合模式登录。务器才能实现混合模式登录。9数据库技术与应用8.2 SQL Serve8.2 SQL Serve安全管理安全管理登录管理登录管理数据库用户管理数据库用户管理角色管理角色管理权限管理权限管理10数据库技术与应用8.2.1 8.2.1 登录管理登录管理在在SQL Server 2008SQL Server 2008中,不管使用哪种验证方式,用中,不管使用哪种验证方式,用户在对数据库进行操作之前,必须使用有效的登录户在对数据库进行操作之

10、前,必须使用有效的登录名连接到相应的数据库。名连接到相应的数据库。创建登录名的方法(创建登录名的方法(2 2种)种)从从WindowsWindows用户或组中创建登录账户用户或组中创建登录账户在在SQL Server 2008SQL Server 2008中创建新的中创建新的SQL Server 2008SQL Server 2008登录名登录名11数据库技术与应用8.2.1 8.2.1 登录管理登录管理1 1创建创建WindowsWindows身份验证模式的登录名身份验证模式的登录名操作步骤:操作步骤:注意:注意:创建了创建了WindowsWindows用户账号之后,还需要使用对象资源管理器

11、将该账号加用户账号之后,还需要使用对象资源管理器将该账号加入到入到SQL Server 2008SQL Server 2008中中。12数据库技术与应用8.2.1 8.2.1 登录管理登录管理2 2建立建立SQL Server 2008SQL Server 2008验证模式的登录名验证模式的登录名注意:创建了注意:创建了WindowsWindows用户账号之后,还需要使用对象资源管理器将用户账号之后,还需要使用对象资源管理器将该账号加入到该账号加入到SQL Server 2008SQL Server 2008中。中。13在混合模式下,如果不使用在混合模式下,如果不使用WindowsWindow

12、s用户连接用户连接SQL Server SQL Server 20082008,则需要在,则需要在SQL Server 2008SQL Server 2008下创建登录用户,才能够通过下创建登录用户,才能够通过SQL Server 2008SQL Server 2008身份验证连接身份验证连接SQL Server 2008SQL Server 2008实例。实例。若要增加新的若要增加新的SQL Server 2008SQL Server 2008用用户或户或SQL Server 2008SQL Server 2008安装时没有安装时没有设置设置SQL Server 2008SQL Server

13、 2008验证模式的验证模式的登录名,可按以下操作步骤在登录名,可按以下操作步骤在图形界面中新建:图形界面中新建:数据库技术与应用8.2.2 8.2.2 数据库用户管理数据库用户管理在在SQL Server 2008SQL Server 2008中,数据库用户账户用来控制用中,数据库用户账户用来控制用户是否具有操纵户是否具有操纵SQL Server 2008SQL Server 2008实例中的各个数据实例中的各个数据库的权限。库的权限。用户和登录是两个不同的概念。用户和登录是两个不同的概念。登录登录是对服务器而言,只表明它通过了是对服务器而言,只表明它通过了NTNT认证或认证或SQL SQL

14、 Server 2008Server 2008认证,但不能表明其可以对数据库进行操作。认证,但不能表明其可以对数据库进行操作。用户用户是对数据库而言,属于数据库级。数据库用户就是指是对数据库而言,属于数据库级。数据库用户就是指对该数据库具有访问权的用户。它用来指出哪些人可以访对该数据库具有访问权的用户。它用来指出哪些人可以访问数据库。问数据库。创建登录账户后,如果在数据库中没有授予该用户访问数据库的权创建登录账户后,如果在数据库中没有授予该用户访问数据库的权限,则该用户仍然不能访问数据库,所以对于每个要求访问数据库限,则该用户仍然不能访问数据库,所以对于每个要求访问数据库的登录(用户),必须将

15、其用户账户添加到数据库中,并授予其相的登录(用户),必须将其用户账户添加到数据库中,并授予其相应的活动权限(使其成为数据库用户)。应的活动权限(使其成为数据库用户)。14数据库技术与应用8.2.2 8.2.2 数据库用户管理数据库用户管理使用对象资源管理器创建数据库用户的操作步骤:使用对象资源管理器创建数据库用户的操作步骤:。注意:一个登录名在本数据库中只能注意:一个登录名在本数据库中只能创建一个数据库用户。若在该数据库创建一个数据库用户。若在该数据库中已有对应用户名,则该登录账号不中已有对应用户名,则该登录账号不会出现在会出现在“登录名登录名”下拉列表框中。下拉列表框中。15数据库技术与应用

16、8.2.3 8.2.3 角色管理角色管理角色角色是数据库管理系统为方便权限管理而设置的管理单位。通是数据库管理系统为方便权限管理而设置的管理单位。通过角色可将用户分为不同的类型,相同类用户(相同角色过角色可将用户分为不同的类型,相同类用户(相同角色的成员)进行统一管理,赋予相同的操作权限。的成员)进行统一管理,赋予相同的操作权限。一个角色类似于一个角色类似于WindowsWindows账户管理中的一个用户组,可包账户管理中的一个用户组,可包含多个用户。在含多个用户。在SQL Server 2008SQL Server 2008中,数据库用户是数据库中,数据库用户是数据库级别上的主体。每个数据库

17、用户都是级别上的主体。每个数据库用户都是 public public 角色的成员。角色的成员。角色的类型(共角色的类型(共3 3种):种):固定角色固定角色用户定义数据库角色用户定义数据库角色应用程序角色应用程序角色16数据库技术与应用8.2.3 8.2.3 角色管理角色管理固定角色固定角色固定服务器角色固定服务器角色 独立于各个数据库,具有固定的权限。独立于各个数据库,具有固定的权限。固定数据库角色固定数据库角色指数据库的管理、访问权限已被指数据库的管理、访问权限已被SQL ServerSQL Server固定的那些角固定的那些角色。色。用户定义数据库角色用户定义数据库角色当一组用户需要设置

18、的权限不同于固定数据库角色所具当一组用户需要设置的权限不同于固定数据库角色所具有的权限时,为了满足要求而定义的新的数据库角色。有的权限时,为了满足要求而定义的新的数据库角色。应用程序角色应用程序角色应用程序角色是一个数据库主体,它使应用程序能够用应用程序角色是一个数据库主体,它使应用程序能够用其自身的、类似用户的特权来运行。其自身的、类似用户的特权来运行。17数据库技术与应用8.2.3 8.2.3 角色管理角色管理角色管理角色管理利用角色,利用角色,SQL Server 2008SQL Server 2008管理者可以将某些用户设置为管理者可以将某些用户设置为某一角色,这样只对角色进行权限设置

19、便可以实现对所有某一角色,这样只对角色进行权限设置便可以实现对所有用户权限的设置,大大减少了管理员的工作量。用户权限的设置,大大减少了管理员的工作量。角色管理包含角色管理包含固定服务器角色管理固定服务器角色管理固定数据库角色管理固定数据库角色管理用户定义数据库角色管理用户定义数据库角色管理18数据库技术与应用8.2.4 8.2.4 权限管理权限管理数据库的权限是指用户对数据库中对象的使用及操数据库的权限是指用户对数据库中对象的使用及操作的权利。作的权利。被授予的权限来决定用户能够对哪些数据库对象执行哪些被授予的权限来决定用户能够对哪些数据库对象执行哪些操作。因此,对于每个用户,必须向其授予明确

20、的权限,操作。因此,对于每个用户,必须向其授予明确的权限,以便他们能够以不同的方式访问数据库对象,这就是权限以便他们能够以不同的方式访问数据库对象,这就是权限管理。管理。权限的类型(共权限的类型(共3 3种)种)对象权限对象权限语句权限语句权限隐含权限隐含权限19数据库技术与应用8.2.4 8.2.4 权限管理权限管理对象权限对象权限决定用户对数据库对象所执行的操作,它控制用户在表和决定用户对数据库对象所执行的操作,它控制用户在表和视图上执行视图上执行SELECTSELECT、INSERTINSERT、UPDATEUPDATE、DELETEDELETE语句以及语句以及执行存储过程的能力。执行存

21、储过程的能力。20数据库技术与应用8.2.4 8.2.4 权限管理权限管理语句权限语句权限主要指用户是否具有权限来执行某一语句。这些语句通常主要指用户是否具有权限来执行某一语句。这些语句通常是一些管理性操作,如创建数据库、表、存储过程等。是一些管理性操作,如创建数据库、表、存储过程等。隐含权限隐含权限 是指系统自行预定义而不需要授权就有的权限,包括固定是指系统自行预定义而不需要授权就有的权限,包括固定服务器角色、固定数据库角色和数据库对象所有者所拥有服务器角色、固定数据库角色和数据库对象所有者所拥有的权限。的权限。21数据库技术与应用8.2.4 8.2.4 权限管理权限管理权限的管理包含权限的

22、管理包含对象权限的管理对象权限的管理在在SQL Server 2008SQL Server 2008中,所有对象权限都可以授予。可以为中,所有对象权限都可以授予。可以为特定的对象、特定类型的所有对象和所有属于特定架构的特定的对象、特定类型的所有对象和所有属于特定架构的对象管理器。对象管理器。语句权限的管理语句权限的管理用户语句权限可以使用对象资源管理器授予。例如为角色用户语句权限可以使用对象资源管理器授予。例如为角色ROLE1ROLE1授予授予CREATE TABLECREATE TABLE权限,而不授予权限,而不授予SELECTSELECT权限,然权限,然后执行相应的语句,查看执行结果,从而理解语句权限的后执行相应的语句,查看执行结果,从而理解语句权限的设置。设置。注意:以上所讲述的在对象资源管理器中设置对象权限和语句权限注意:以上所讲述的在对象资源管理器中设置对象权限和语句权限的方法并不唯一,同样的权限设置,通过其他操作方法一样可以达的方法并不唯一,同样的权限设置,通过其他操作方法一样可以达到。到。22数据库技术与应用本章小结本章小结两种身份验证模式:两种身份验证模式:WindowsWindows身份验证模式和混合模式身份验证模式和混合模式 登录帐户是用户与登录帐户是用户与SQL Se

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论