- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第22章安全性-安全保护及用户权限安全性是数据库最重要的特性之一,可将保护SQLServer视为一系列步骤,其涉及到4方面:平台、身份验证、对象(包括数据)及访问系统的应用程序;而SQL注入是一种最为常见的攻击方式,严重威胁到SQLServer的安全性;合理的用户权限也是系统安全的保障之一。22.1架构架构是包含表、视图、过程等的容器,其位于数据库内部,而数据库位于服务器内部。这些实体像嵌套框一样放置在一起。服务器是最外面的框,而架构是最里面的框。22.1.1用户与架构的分离在SQLServer2008中,架构不等效于数据库用户。现在,每个架构都是独立于其创建数据库用户存在的不同命名空间。也就是说,架构只是对象的容器。任何用户都可以拥有架构,并且架构所有权可以转移。22.1.2新目录视图在SQLServer2008中架构是反映的显式实体。因此,架构只能有一个所有者。但一个用户可以拥有一个架构,也可以拥有多个架构,还可以不荣拥有架构。这种复杂关系并未在以前数据库版本的系统表中反映,因此SQLServer2008使用了新的目录视图,以准确反映新的元数据。22.1.3什么是默认架构每个用户都拥有一个默认架构,可以使用CREATEUSER或ALTERUSER的DEFAULT_SCHEMA选项来设置和更改默认架构。如果未定义DEFAULT_SCHEMA,则数据库用户将使用dbo作为默认架构。如存储过程的名字一般为dbo.uspGetBillOfMaterials。22.2主体主体是可以请求SQLServer资源的实体。与SQLServer授权模型的其他组件一样,主体也可以按层次结构排列。主体的影响范围取决于主体定义的范围(Windows、服务器或数据库),以及主体是否不可分或是一个集合。在SQLServer2008中典型的主体有SQLServersa登录名、public数据库角色,以及基于证书的SQLServer登录名。SQLServersa登录名public数据库角色基于证书的SQLServer登录名客户端和数据库服务器非主体,INFORMATION_SCHEMA和sys22.2.1典型的主体对于SQLServer2008的登录名主体,在安装过程中,必须为数据库引擎选择身份验证模式。可供选择的模式有两种:Windows身份验证模式和混合模式。Windows身份验证模式会启用Windows身份验证并禁用SQLServer身份验证。混合模式会同时启用Windows身份验证和SQLServer身份验证。Windows身份验证始终可用,并且无法禁用。通过Windows身份验证进行连接SQLServer身份验证的缺点配置身份验证模式通过SQLServer身份验证进行连接SQLServer身份验证的优点22.2.2选择身份验证模式22.3SQLServer登录用户的管理操作SQLServer的人员一般称为SQLServer用户,在打开SQLServer后,都会出现一个连接对话框,要求输入服务器名称和身份验证等信息。身份验证信息就是一个用户的用户名和密码,通过SQLServer的“用户”对象,可以设置数据库的使用权限。同一个数据库可以拥有多个用户,同一个用户也可以同时访问多个数据库。22.3.1添加用户使用SQLServerManagementStudio可以可视化的添加用户,步骤如下所示。22.3.2使用用户登录创建登录名后,可以用该登录名来登录数据库实例,下面就列用上面创建好的登录名进行操作,步骤如下所示。22.3.3为用户设置权限本节介绍在SQLServerManagementStudio里为用户添加权限的方法。步骤如下。4角色为便于管理服务器和数据库上的权限,SQLServer提供了若干“角色”,这些角色是用于分组其他主体的安全主体。“角色”类似于MicrosoftWindows操作系统中的“组”。22.4.1服务器级别角色服务器级角色也称为“固定服务器角色”,因为用户不能创建新的服务器级角色。服务器级角色的权限作用域为服务器范围。用户可以向服务器级角色中添加SQLServer登录名、Windows账户和Windows组。固定服务器角色的每个成员都可以向其所属角色添加其他登录名。22.4.2数据库级别的角色为便于管理数据库中的权限,SQLServer同样也提供了若干“角色”,这些角色是用于分组其他主体的安全主体。数据库级角色的权限作用域为数据库范围。SQLServer中有两种类型的数据库级角色:数据库中预定义的“固定数据
文档评论(0)