[计算机软件及应用]第11章 数据库的安全管理.ppt_第1页
[计算机软件及应用]第11章 数据库的安全管理.ppt_第2页
[计算机软件及应用]第11章 数据库的安全管理.ppt_第3页
[计算机软件及应用]第11章 数据库的安全管理.ppt_第4页
[计算机软件及应用]第11章 数据库的安全管理.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

An Introduction to Database Systems 蚌埠学院 Computer Science and technology 2012 SQL Server 数据库应用 An Introduction to Database Systems 2/80 第11章 数据库的安全管理 11.1 概述 11.2 登录账号管理 11.3 数据库用户管理 11.4 权限管理 An Introduction to Database Systems 3/43 安全性是数据库管理系统的重要特征。能否 提供全面、完整、有效、灵活的安全机制,往往 是衡量一个分布式数据库管理系统是否成熟的重 要标志,也是用户选择合适的数据库产品的一个 重要判断指标。 Microsoft SQL Server 2008系统提供了一整 套保护数据安全的机制,包括角色、架构、用户 、权限等手段,可以有效地实现对系统访问和数 据访问的控制。本章全面讲述Microsoft SQL Server 2008系统的安全管理。 An Introduction to Database Systems 4/43 11.1 概述 SQL Server 2008数据库系统的安全管理具有层次性,安全级别 可以分为三层。 第一层是SQL Server服务器级别的安全性,这一级别的安全性建 立在控制服务器登录账号和密码的基础上,即必须具有正确的服务器 登录账号和密码才能连接到SQL Server服务器。 第二层安全性是数据库级别的安全性,用户提供正确的服务器登 录账号和密码,通过第一层的SQL Server服务器的安全性检查之后, 将接受第二层的安全性检查,即是否具有访问某个数据库的权利。 第三层安全性是数据库对象级别的安全性,用户通过了前两层的 安全性验证之后,在对具体的数据库安全对象(表,视图,存储过程 等)进行操作时,将接受权限检查,即用户要想访问数据库里的对象 时,必须事先被赋予相应的访问权限,否则系统将拒绝访问。 An Introduction to Database Systems 5/43 11.2 登录账号管理 11.2.1身份验证模式 SQL Server 2008提供两种身份验证模式:Windows 身份验证模式和混合身份验证模式(SQL Server和 Windows身份验证模式)。 1Windows身份验证模式 在Windows身份验证模式下,系统会启用 Windows 身份验证并禁用 SQL Server 身份验证,即用户只能通过 Windows账号与SQL Server进行连接。 2混合身份验证模式 在混合身份验证模式下,系统会同时启用 Windows 身 份验证和 SQL Server 身份验证。用户既可以通过 Windows账号登录,也可以通过SQL Server专用账号登 录。 An Introduction to Database Systems 6/43 3查看和设置身份验证模式 安装SQL Server 2008时,安装程序会提示用户选择 服务器身份验证模式,然后根据用户的选择将服务器设置 为 Windows 身份验证模式或 SQL Server 和 Windows 身 份验证模式。在使用过程中,可以根据需要来重新设置服 务器的身份验证模式。 11.2 登录账号管理 An Introduction to Database Systems 7/43 具体的过程: (1)在SQL Server Management Studio的“对象资 源管理器”中,右击服务器,在弹出的快捷菜单中 单击“属性”。 (2)在“安全性”页上的“服务器身份验证”下,选择 新的服务器身份验证模式,再单击“确定”。 (3)重新启动 SQL Server,使设置生效。 11.2 登录账号管理 An Introduction to Database Systems 8/43 11.2.2 服务器角色 SQL Server 2008提供了9种固定的服务器角 色,除此之外用户不能再创建新的服务器角色。 在对象资源管理器中展开“安全性”节点,然后单 击“服务器角色”,即可看到这9种服务器角色 。 只有public角色的权限可以根据需要修改,而 且对public角色设置的权限,所有的登录账号都会 自动继承。 11.2 登录账号管理 An Introduction to Database Systems 9/43 查看和设置public角色权限的步骤为: (1)右击public角色,在弹出的快捷菜单中单击“属 性”。 (2)在“服务器角色属性”对话框的“权限”页中,可 以查看当前public角色的权限并进行修改。 11.2 登录账号管理 An Introduction to Database Systems 10/43 11.2.3 账号管理 1创建登录账号 具体步骤为: (1)在“对象资源管理器”中,展开“安全性”节点,然后右击“登录名”,在 弹出的快捷菜单中选择“新建登录名”。 (2)在“登录名-新建”对话框中,选择“常规”页。 (3)在“登录名-新建”对话框中,选择“服务器角色”页。 (4)在“登录名-新建”对话框中,选择“用户映射”页。该页用于设置访问 服务器的登录名将使用什么样的数据库用户名访问各数据库,以及具 备什么样的数据库角色。 (5)在“登录名-新建”对话框中,选择“安全对象”页。在该页中可以设置 对特定对象(如服务器、登录名)的权限。 (6)在“登录名-新建”对话框中,选择“状态”页。 (7)设置完所有需要设置的选项之后,单击“确定”按钮即可创建登录账 号 11.2 登录账号管理 An Introduction to Database Systems 11/43 “常规”页中有以下内容: 登录名:在“登录名”文本框中输入要创建的登录账号名,也可以使用右 边的“搜索”按钮打开“选择用户或组”对话框,查找Windows账户。 Windows身份验证:指定该登录账号使用Windows集成安全性。 SQL Server身份验证:指定该登录账号为SQL Server专用账号,使用 SQL Server身份验证。 映射到证书:指定该登录账号与某个证书相关联,可以通过右边的文本 框输入证书名。 映射到非对称密钥:表示该登录账号与某个非对称密钥相关联,可以在 右边的文本框中输入非对称密钥名称。 映射到凭据:此选项将凭据链接到登录名。 默认数据库:为该登录账号选择默认的数据库。 默认语言:为该登录账号选择默认的语言。 11.2 登录账号管理 An Introduction to Database Systems 12/43 使用Create Login语句来创建登录账号 Create Login loginName With | From := Password = password Must_Change , ,. := | Default_Database = database | Default_Language = language | Check_Expiration = On | Off | Check_Policy = On | Off | Credential = credential_name := Windows With ,. | Certificate certname | Asymmetric Key asym_key_name := Default_Database = database | Default_Language = language An Introduction to Database Systems 13/43 【例题11-1】创建一个名为UserLogin、密码 为123的登录名,默认数据库为教学管理数据 库。 CREATE LOGIN UserLogin WITH password=123 default_database = 教学管理数据库 An Introduction to Database Systems 14/43 2修改登录账号 修改登录账号的过程和创建登录账号的过程类似,在 对象资源管理器中,展开“安全性”节点下面的“登录名”节 点,然后右键单击登录名UserLogin,如图11-12所示,在 弹出的快捷菜单中选择“属性”菜单,即可打开“登录属性” 对话框,如图11-13所示。接下来就可以对该登录账号进 行修改。其中各选项的含义和“登录名-新建”对话框中的选 项含义相同。 11.2 登录账号管理 An Introduction to Database Systems 15/43 11.2 登录账号管理 An Introduction to Database Systems 16/43 利用Alter Login语句修改登录账号 Alter Login login_name | With ,. | :=Enable | Disable := Password = password Old_Password = oldpassword | | Default_Database = database | Default_Language = language | Name = login_name | Check_Policy = On | Off | Check_Expiration = On | Off | Credential= credential_name | No Credential := Must_Change | Unlock := Add Credential credential_name | Drop Credential credential_name An Introduction to Database Systems 17/43 3删除登录账号 在“对象资源管理器”中,展开“安全性”节点下面的“登 录名”节点,然后右击要删除的登录名,在弹出的快捷菜 单中选择“删除”菜单,在出现的“删除登录”对话框中单击“ 确定”按钮即可删除该登录账号。 利用Drop Login语句删除登录账号 DROP Login login_name 【例题11-3】删除登录名UserLogin。 DROP Login UserLogin 11.2 登录账号管理 An Introduction to Database Systems 18/43 11.3 数据库用户管理 11.3.1 数据库角色 1固定数据库角色 SQL Server在每个数据库中都提供了10个固定的数据 库角色。与服务器角色不同的是,数据库角色权限的作用 域仅限在特定的数据库内。在对象资源管理器中展开“教 学管理数据库”下的“安全性”节点,然后再单击“角色”/“数 据库角色”,即可看到这10个数据库角色,如图11-15所示 。 An Introduction to Database Systems 19/43 图11-15 选择“数据库角色” 11.3 数据库用户管理 An Introduction to Database Systems 20/43 2新建数据库角色 数据库角色是针对具体的数据库而言的,作用域为数 据库范围,因此数据库角色的创建需要在特定的数据库下 。具体的步骤为: (1)打开“对象资源管理器”,展开“教学管理数据库”,找到“ 安全性”节点并展开。 (2)展开“角色”节点,在“数据库角色”节点上右击鼠标,在 弹出的快捷菜单上单击“新建数据库角色”命令。如图11-17 所示。 11.3 数据库用户管理 An Introduction to Database Systems 21/43 图11-17 新建数据库角色 11.3 数据库用户管理 An Introduction to Database Systems 22/43 (3)打开“数据库角色-新建”对话框,如图11-18所示。主要 有以下几个选项: 11.3 数据库用户管理 An Introduction to Database Systems 23/43 角色名称:输入要创建的数据库角色名称。 所有者:输入该数据库角色的所有者,也可以通过右边的 按钮打开对话框进行选择。 此角色拥有的架构:在列表中选择此角色拥有的架构。 “添加”按钮:可以向该数据库角色中添加成员,添加的成 员将自动获得该数据库角色的权限。 “删除”按钮:可以从该数据库角色中删除成员。 如果有必要,可以对“安全对象”和“扩展属性”页中的相关 选项进行设置。 (4)单击“确定”按钮,即可创建新的数据库角色。 11.3 数据库用户管理 An Introduction to Database Systems 24/43 11.3.2 用户管理 1利用对象资源管理器创建数据库用户 在对象资源管理器中创建数据库用户的步骤为: (1)打开对象资源管理器,展开“教学管理数据库”,找到“ 安全性”节点并展开。 (2)在“用户”节点上右击鼠标,在弹出的快捷菜单上单击“ 新建用户”命令。如图11-19所示。 11.3 数据库用户管理 An Introduction to Database Systems 25/43 图11-19 新建数据库用户 11.3 数据库用户管理 An Introduction to Database Systems 26/43 (3)这时将打开“数据库用户-新建”对话框,如图11-20所示 。 在“常规”页中对如下内容进行设置。 11.3 数据库用户管理 图11-20 “数据库 用户-新建”对话框 An Introduction to Database Systems 27/43 用户名:输入要创建的数据库用户名。如输入用户名User 。 登录名:输入与该数据库用户对应的登录账号,也可以通 过右边的按钮进行选择。 证书名称:输入与该数据库用户对应的证书名称。 密钥名称:输入与该数据库用户对应的密钥名称。 无登录名:指定不应将该数据库用户映射到现有登录名, 可以作为 guest 连接到数据库。 默认架构:输入或选择该数据库用户所属的架构。 “此用户拥有的架构”:在列表中可以查看和设置该用户拥 有的架构。 “数据库角色成员身份”:在列表中可以将该数据库用户选 择数据库角色。 11.3 数据库用户管理 An Introduction to Database Systems 28/43 (4)如果需要,可以对“安全对象”和“扩展属性”中的选项进 行设置。 (5)单击“确定”按钮,即可创建数据库用户。 11.3 数据库用户管理 An Introduction to Database Systems 29/43 2利用Create User语句创建数据库用户 创建数据库用户的Create User语句的语法格式为: Create User user_name For | From Login login_name | Certificate cert_name | Asymmetric Key asym_key_name | Without Login 11.3 数据库用户管理 An Introduction to Database Systems 30/43 【例题11-4】创建一个名为UserLogin的登录 名,默认的数据库是教学管理数据库,然后创 建一个名为Tuser的对应数据库用户 CREATE LOGIN UserLogin WITH password=123 default_database = 教学管理数据库 CREATE user Tuser FOR LOGIN UserLogin An Introduction to Database Systems 31/43 11.4 权限管理 11.4.1 权限类型 根据要操作的对象不同,权限的类型也不相同,主要 有以下几种类型: (1)如果对象为数据库,则相应的权限主要有:创建操作 (Create Database、Create Table、Create View、 Create Function、Create Procedure、Create Trigger等 等)、修改操作(Alter Database、Alter Table、Alter View、 Alter Function、Alter Procedure、Alter Trigger等 等)、备份操作(Backup Database、Backup Log)、 Connect、Control等。 (2)如果对象为表和视图,则相应的权限主要有:插入数 据(Insert)、更新数据(Update)、删除数据(Delete )、查询(Select)和引用(References)等。 (3)如果对象为存储过程,则权限的类型主要有:执行( Execute)、控制(Control)和查看定义等。 An Introduction to Database Systems 32/43 (4)如果对象为标量函数,则主要的权限有:执行( Execute)、引用(References)、控制(Control)等。 (5)如果对象为表值函数,则相应的权限主要有:插入数 据(Insert)、更新数据(Update)、删除数据(Delete )、查询(Select)和引用(Reference)等。 11.4 权限管理 An Introduction to Database Systems 33/43 11.4.2 设置权限 可以直接对数据库角色或用户进行对象操作权限的设 置,下面将以对数据库用户设置权限为例进行说明,数据 库角色的权限分配过程类似。 (1)打开“对象资源管理器”,展开“教学管理数据库”节点, 找到“安全性”节点并展开。 (2)展开“用户”节点,在数据库用户User上单击鼠标右键, 在弹出的快捷菜单上单击“属性”命令,将打开“数据库用户 ”属性对话框,选择“安全对象”页。如图11-21所示。 11.4 权限管理 An Introduction to Database Systems 34/43 图11-21 数据库属性中的“安全对象”页 11.4 权限管理 An Introduction to Database Systems 35/43 (3)单击右边的“搜索”按钮,如图11-22所示,将需要分配 给该用户操作权限的对象添加到“安全对象”列表中。 (4)在“安全对象”列表中,选中要分配权限的对象,则下面 的“权限”列表中将列出该对象的操作权限,根据需要将设 置相应权限。如图11-23所示。 11.4 权限管理 An Introduction to Database Systems 36/43 An Introduction to Database Systems 37/43 11.4.3 DCL语句 SQL的数据控制通过DCL(数据控制语言)实现。 DCL通过对数据库用户的授权(Grant)、撤销授权( Revoke)和拒绝授权(Deny)来实现数据的存取控制, 以保证数据库的安全性。 11.4 权限管理 An Introduction to Database Systems 38/43 1Grant语句 使用Grant语句可以将安全对象的权限赋予安 全主体,Grant语句的完整的语法非常复杂,这里 只给出简单的常用的语法格式: Grant All Privileges

温馨提示

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

评论

0/150

提交评论