欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第7章SQL Server 2005的安全机制课件.ppt

    • 资源ID:12722706       资源大小:2.70MB        全文页数:18页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第7章SQL Server 2005的安全机制课件.ppt

    第 7 章 SQL Server 2005 的安全机制7.1 【案例 21】创建用户账户及登录相关知识1SQL Server 2005 的安全机制SQL Server 2005 的安全机制可以分为 4 个等级,包括操作系统的安全性、SQL Server 2005 的登录安全性、数据库的使用安全性及数据库对象的使用安全性。(1)操作系统的安全性SQL Server 2005 与其他数据库管理系统一样,是运行在某一特定操作系统平台下的应用程序,因此操作系统的安全性直接影响到 SQL Server 2005 的安全性。用户使用客户机通过网络对 SQL Server 服务器访问时,首先要获得客户机操作系统的使用权。SQL Server 2005 可以直接访问网络端口,所有可以实现对 Windows NT 安全体系以外的服务器及其数据库的访问。在能够实现网络互连的前提下,用户没有必要向运行 SQL Server 2005服务器的主机进行登录,除非 SQL Server 2005 服务器就运行在本地计算机上。(2)SQL Server 2005 的登录安全性SQL Server 2005 的安全性建立在控制服务器登录和密码的基础上。SQL Server 2005 采用了 SQL Server 登录和 Windows 登录两种方式。用户无论采用哪种登录方式,其提供的登录账号和密码都决定了用户获得 SQLServer 2005 的访问权限,以及在访问 SQL Server 2005 进程时可以拥有的权利。(3)数据库的安全性用户从输入口令登录计算机,到通过 SQL Server 2005 服务器的安全性检查后,将直接面对不同的数据库入口,这是用户将接受的第三次安全性检验。在建立用户的登录账号信息时,SQL Server 2005 会提示用户选择默认的数据库。以后用户每次连接上服务器后,都会自动转到默认的数据库上。无论任何用户,如果在设置登录账号时没有指定默认的数据库,则用户的权限将局限在 master 数据库以内。(4)数据库对象的安全性创建数据库对象时,SQL Server 2005 将自动把该数据库对象的拥有权赋予该对象的所有者,数据库对象的安全性是核查用户权限最好的一个安全等级,对象的拥有者可以实现对该对象的安全控制。默认情况下,只有数据库的拥有者才可以在该数据库中进行操作。当一个非数据库的拥有者想访问数据库中的对象时,必须事先由数据库的拥有者赋予该用户对指定对象执行的特定操作的权限。2SQL Server 2005 验证模式SQL Server 2005 的安全模式可以使用两种身份验证模式。 仅为 Windows 身份验证:适用于数据库仅在组织内部访问时,当使用 Windows 身份验证连接到 SQL Server域时。时,Microsoft Windows 将完全负责对客户端进行身份验证。在这种情况下,将按其 Windows 用户账户来识别客户端。当用户通过 Windows 用户账户进行连接时,SQL Server 使用 Windows 操作系统中的信息验证账户名和密码,这是 SQL Server 默认的身份验证模式。在 Windows 身份验证模式下,SQL Server 检测当前使用 Windows 的用户账户,并在系统注册表中查找该用户,以确定该用户账户是否有权登录。 混合身份验证:适用于当外界的用户需要访问数据库时或当用户不能使用 Windows使用混合身份验证模式时,SQL Server 2005 首先确定用户的连接是否使用有效的 SQL Server 用户账户登录。如果用户有有效的登录账户和正确的密码,则接受用户的连接;如果用户有有效的登录账户,但是使用了不正确的密码,则用户的连接被拒绝。仅当用户在没有有效的登录账户时,SQL Server 2005 才检查 Windows 账户的信息。在这样的情况下,SQL Server 2005 确定 Windows 账户是否有连接到服务器的权限。如果账户有权限,连接被接受;否则连接被拒绝。混合身份验证模式具有如下优点:创建了 Windows NT/2000 之上的另外一个安全层次;支持更大范围的用户(如非 Windows 客户);应用程序可以使用独立的 SQL Server 登录和口令。3SQL Server 2005 的系统登录名用户是配置 SQL Server 服务器安全中的最小单位,通过使用不同用户的登录名可以配置不同的范围级别。服务器登录也有两种情况:可以使用域账户创建域登录,域账户可以是域或本地用户账户、本地组账户或通用的和全局的域组账户;还可以通过指定唯一的登录 ID 和密码来创建 SQL Server 2005 登录。SQL Server 2005 服务器内置的系统登录名包括系统管理员组、本地管理员、sa、Network Service 和 SYSTEM。(1)系统管理员组SQL Server 2005 中管理员组在数据库服务器上属于本地组。这个组的成员通常包括本地管理员用户账户和任何设置为管理员本地系统的其他用户。在 SQL Server 2005 中,此组默认授予 sysadmin 服务器角色。(2)本地管理员管理员是在 SQL Server 2005 服务器上的本地用户账户。这个账户提供对本地系统的管理权限,主要在安装系统时使用它。如果计算机是 Windows 域的一部分,管理员账户通常也有域范围的权限。在 SQL Server 2005中,这个账户默认授予 sysadmin 服务器角色。(3)sa 登录sa 是 SQL Server 系统管理员的账户。而在 SQL Server 2005 中采用了新的集成和扩展的安全模式,与其他管理员登录一样,sa 默认授予 sysadmin 服务器角色。在默认安装 SQL Server 2005 的时候,sa 账户没有被指派密码。(4)Network Service 和 SYSTEM 登录Network Service 和 SYSTEM 是 SQL Server 2005 服务器上内置的本地账户,而是否创建这些账户的服务器登录,依赖于服务器的配置。4使用 SSMS 创建登录名 打开 SQL Server Management Studio 窗口,展开服务器“安全性”结点。 右击“登录名”结点,从弹出的快捷菜单中选择“新建登录名”命令,打开“登录名-新建”窗口,然后在“登录名”文本框中输入登录的用户名。 在下方选择“SQL Server 身份验证”单选按钮,输入密码及确认密码,注意密码区分大小写。 在“默认数据库”下拉列表中选择默认进入的数据库,再根据需要设置其他选项或者保持默认值。 选择“用户映射”选项,打开“用户映射”选项页,勾选该数据库前的复选框,其他项保持默认值。 单击“确定”按钮,完成新登录名的创建。5使用系统存储过程管理登录名(1)创建登录名可以使用 SP_ADDLOGIN 系统存储过程创建一个新的 SQL Server 登录名。6数据库用户数据库用户是数据库的主体,是在数据库中执行操作和活动的行动者,是登录名在数据库中的映射。使用数据库用户账户可限制访问数据库的范围,默认的数据库用户有:dbo 用户、guest 用户、INFORMATION_SCHEMA和 sys 用户等。(1)dbo 用户dbo 用户是指数据库所有者,是一个特殊类型的数据库用户,被授予特殊的权限。通常情况下,创建数据库的用户就是数据库的所有者。dbo 用户被隐式授予对数据库的所有权限,并且能将这些权限授予其他用户。通过sysadmin 服务器角色成员创建的对象自动属于 dbo 用户,sysadmin 服务器角色的成员被自动映射为 dbo 用户,以sysadmin 角色登录可以执行 dbo 用户能执行的任何任务。在 SQL Server 数据库中创建的对象也有所有者,这些所有者是指数据库对象所有者。通过非 sysadmin 服务器角色成员创建的对象属于创建对象的用户,当其他用户引用它们的时候必须以用户的名称来限定。(2)guest 用户创建数据库时,该数据库默认包含 guest 用户,授予 guest 用户的权限由在数据库中没有用户账户的用户继承。guest 用户是一个允许具有有效 SQL Server 登录的任何人访问数据库的特殊用户,guest 用户可以使用户加到数据库,默认情况下,guest 用户存在于 model 数据库中,并且被授予 guest 的权限。以 guest 账户访问数据库的用户被认为是 guest 用户的身份并且继承 guest 账户的所有权限和许可。由于 model 是创建所有数据库的模板,这意味着所有新的数据库将包括 guest 账户,并且该账户将被授予 guest 权限。除 master 和 tempdb 数据库外的所有数据库都能添加或者删除 guest 用户,因为有许多用户以 guest 账户身份访问 master 和 tempdb 数据库,且 guest 账户在 master 和 tempdb 数据库中有被限制的许可和权限。使用 guest 账户时要注意以下两点:guest 账户是公关服务器角色的一个成员,并且继承这个角色的权限;在任何人以 guest 账户访问数据库前,guest 必须存在于数据库中;guest 账户仅用于账户具有访问 SQL Server的权限,不能通过这个用户账户访问数据库。(3)INFORMATION_SCHEMA 和 sys 用户每个数据库都包含两个实体:INFORMATION_SCHEMA 和 sys,它们都作为用户出现在目录视图中,这两个实体是 SQL Server 所必需的,不能修改或删除它们。这是创建在每个数据库中的两个特殊架构,仅在 master 数据库中可见,所有系统对象包含在 sys 或 INFORMATION_ SCHEMA 的架构中。相关的 sys 和 INFORMATION_SCHEMA架构的视图,提供存储在数据库中所有数据对象的元数据的内部系统视图。sys 和 INFORMATION_SCHEMA 用户用于引用这些视图。7使用存储过程添加数据库用户可以用系统存储过程 sp_grantdbaccess 来实现,语法格式如下:sp_grantdbaccessloginname= login , name_in_db=name_it_db语法中的参数解释如下:lllloginname:表示映射到新数据库用户的 Windows 组、Windows 登录名或 SQL Server 登录名的名称。name_it_db:表示新数据库用户名称。name_in_db:表示 OUTPUT 变量,其数据类型为 sysname,默认值为 NULL。name_in_db 不能存在于当前数据库中。如果不指定该变量,则使用 login。如果指定为 NULL 值的 OUTPUT 变量,则name_in_db 将设置为login。7.2 【案例 22】角色和权限相关知识1服务器角色在 SQL Server 2005 中的服sysadmin 角 色 的 成 员 在 SQL的任务。将服务器角色应用于服务器角色具有授予服务器管理权限的能力。Server 上具有最高级别的权限,能执行任何类型务器级别需要预定,该角色将影响到整个服务器,并且不能更改权限集。使用 SQL Server Management Studio 浏览 SQL Server 2005 中的服务器角色,在“对象资源管理器”窗格中依次展开“安全性”“服务器角色”结点,如图 7-2-11 所示。图中左侧窗格列出了 SQL Server 2005 中的内置服务器角色,能够执行的权限如表 7-2-1 所示。图 7-2-11SQL Server 2005 中的服务器角色llllllll每个服务器角色的特点如下所述。bulkadmin:是为需要执行大容量插入到数据库的域账户而设计的。该服务器角色的成员可以运行 BULKINSERT 语句,允许它们从文本文件中将数据导入到 SQL Server 2005 数据库中。dbcreator:不仅适合助理 DBA 的角色,也适合开发人员的角色。该服务器角色的成员可以创建、更改、删除和还原任何数据库。diskadmin:适合于助理 DBA 的角色。该服务器角色用于管理磁盘文件,如镜像数据库和添加备份设备。processadmin:由于 SQL Server 2005 能够同时执行多个进程,该角色的成员可以删除进程。seurtityadmin:该服务器角色的成员可以管理登录名及其属性,可以重置 SQL Server 2005 登录名和密码,可以为 GRANT、DENY 和 REVOKE 服务器级权限,也可以为 GRANT、DENY 和 REVOKE 数据库权限。serveradmin:该服务器角色的成员可以更改服务器范围的配置选项和关闭服务器,减轻管理员的一些负担。setupadmin : 该 角 色 的 成 员 为 需 要 管 理 链 接 服 务 器 和 控 制 启 动 的 存 储 过 程 的 用 户 设 计 , 能 添 加 到setupadmin,增加、删除和配置链接服务器,并能控制启动过程。sysadmin:该角色仅适合数据库管理员(DBA),其服务器角色的成员有权在 SQL Server 2005 中执行任何任务,可能会意外地造成严重的问题,为这个角色分派用户时应该特别小心。2数据库角色数据库角色分为内置数据库角色、应用程序角色和用户定义角色。(1)内置数据库角色SQL Server 2005 在数据库级设置了固定数据库角色,提供最基本的数据库权限的综合管理。固定数据库角色拥有已经应用的权限,只需要将用户加进这些角色中,即可继承全部相关的权限。【案例 22-1】使用系统存储过程 sp_helpdbfixedrole 可以浏览所有的固定数据库角色的相关内容。具体操作如图 7-2-12 所示。还可以在“数据库”下依次展开“安全性”“角色”“数据库角色”结点,查看内置数据库角色,效果如图 7-2-12 所示。图 7-2-12SQL Server 2005 中内置llllllllll数据库角色 SQL Server 2005 中内置的数据库角色特点如下所示。db_owner:该数据库角色的成员可以做其他角色的成员能做的所有事情,还可以做一些管理性操作。db_accessadmin:该数据库角色的成员有权通过添加或删除用户来指定可以访问数据库的用户。db_securityadmin:该数据库角色的成员可以修改角色成员的身份和管理权限。db_ddladmin:该数据库角色的成员可以在数据库中执行任何数据定义语言(DDL)命令。角色允许它们创建、修改或删除数据库对象。db_backupoperator:该数据库角色的成员可以备份指定数据库。db_datareader:该数据库角色的成员可以读取所有用户表中的所有数据。db_datawriter:该数据库角色的成员可以向所有用户表中添加、删除或更改数据。db_denydatareader:该数据库角色的成员可以执行架构修改,但不能读取数据库内用户表中的任何数据。db_denydatawriter:该数据库角色的成员不能添加、修改或删除数据库内用户表中的任何数据。public:SQL Server 2005 中每个数据库用户都属于 public 数据库角色。当尚未对某个用户授予或拒绝对安全对象的特定权限时,该用户将继承授予该安全对象的 public 角色的权限。这个数据库角色不能被删除。由于所有数据库用户都自动称为 public 数据库角色的成员,因此给该数据库角色指派权限时需要谨慎。(2)应用程序角色应用程序角色是数据库级别的主体,它能使应用程序用其自身的、类似用户的特权来运行。使用应用程序角色,只允许通过特定应用程序连接的用户访问特定数据。与固定数据库角色不同的是,应用程序角色默认情况下不包含任何成员,而且是非活动的。在使用应用程序角色时,用户仅用 SQL Server 登录名和数据库账户将无法访问数据,必须使用适当的应用程序。应用程序角色使用两种身份验证模式,使用系统存储过程 sp_setapprole 可以激活并启用应用程序角色。一旦激活了应用程序角色,SQL Server 2005 就不再将用户作为其本身来看待,而是将用户作为应用程序来看待,并给用户指派应用程序角色权限。3为角色添加成员角色是指一组具有固定权限的描述,如果用户创建一个角色成员的登录,用户用这个登录能执行这个角色许可的任何任务。4权限SQL Server 2005 使用权限作为访问数据库设置的最后一道安全设施。权限确定了用户能在 SQL Server 2005或数据库中执行的操作。根据登录 ID、组成员关系和角色成员关系授予相应的权限。在用户执行更改数据库定义或访问数据库的任何操作之前,它们必须有适当的权限。在 SQL Server 2005 中使用的权限有 3 种类型:对象权限、语句权限和隐式权限。lll(1)对象权限在 SQL Server 2005 中,所有对象权限都是可授予的,用户管理权限的对象依赖于作用范围。在服务器级别,可以为服务器、站点、登录和服务器角色授予对象权限,也可以为当前服务器实例管理权限。在数据库级别,可以为应用程序角色、程序集、非对称密钥、凭据、数据库角色、数据库、全文目录、函数、架构、存储过程、对称密钥、同义词、表、用户定义的数据类型、用户、视图和 XML 架构集授予对象的权限。通过授予、拒绝或撤销执行特殊语句或存储过程的操作来控制这些对象的访问。(2)语句权限语句权限是用于控制创建数据库或数据库中的对象所涉及的权限。如果用户需要在数据库中创建表,则应该向该用户授予 CREATE TABLE 语句权限。某些语句权限(如 CREATE DATABASE)适用于语句自身,而不适用于数据库中定义的特定对象。只有 sysadmin、db_owner、db_securitydamin 角色的成员才能授予用户语句权限。SQL Server 2005 中可以授予、拒绝或撤销的语句权限如下所述。CREATE DATABASE:确定登录是否能创建数据库,要求用户必须在 master 数据库中或必须是 sysadmin 服务器角色的成员。CREATE DEFAULT:确定用户是否具有创建表的列默认值的权限。CREATE FUNCTION:确定用户是否具有在数据库中创建用户自定义函数的权限。llllllCREATE PROCEDURE:确定用户是否具有创建存储过程的权限。CREATE RULE:确定用户是否具有创建表的列规则的权限。CREATE TABLE:确定用户是否具有创建表的权限。CREATE VIEW:确定用户是否具有创建视图的权限。CREATE DATABASE:确定用户是否具有备份数据库的权限。CREATE LOG:确定用户是否具有备份事务日志的权限。(3)隐式权限预定义角色的成员拥有隐式权限,角色的隐式权限不能被更改,而且可以使角色成员的其他账户授予账户相关的隐式权限。数据库和数据库对象所有者也有隐式的权限。这些权限允许它们执行的是数据库、数据库对象,或者两者的活动。5权限操作在 SQL Server 2005 中,用户和角色的权限以记录的形式存储在各个数据库的 sysprotects 系统中,将权限操作分为 3 种状态:授予、拒绝、撤销,可以使用如下的语句来修改权限的状态。(1)授予权限:为了允许用户执行某些活动或者操作数据,需要授予他们相应的权限以执行相关的操作。如果是角色,则所有该角色的成员继承此权限。权限只能授予数据库中的用户,如果将权限授予了 public 角色,TOlll则数据库里的所有用户都将默认为获得了该项权限。使用 GRANT 语句进行授予活动,基本语法如下:GRANT ALL statement ,n security_account,n各参数含义如下:ALL:表示授予所有者可以应用的权限。其中在授予命令权限时,只有固定的服务器角色成员 sysadmin 可以使用 ALL 关键字;而在授予对象权限时,固定服务器角色成员 sysadmin、固定数据库角色成员 db_owner和数据库对象拥有者都可以使用关键字 ALL。Statement:表示可以授予权限的命令。例如,CREATE DATABASE。security_account:定义被授予权限的用户单位。security_account 可以是 SQL Server 的数据库用户;可以是 SQL Server 的角色;也可以是 Windows 的用户或工作组。(2)撤销权限通过撤销某种权限,停止以前授予或拒绝的权限,但不会显式地阻止用户或角色执行操作,用户或角色仍然能继承其他角色的授予权限。使用 REVOKE 语句撤销以前授予的或拒绝的权限。使用撤销类似于拒绝,但是撤销权限是删除已授予的权限,并不妨碍用户、组或角色从更高级别继承已授予的权限。撤销对象权限的基本语法如下:TOREVOKEALL statement ,n FROMsecurity_account ,n(3)拒绝权限在授予了用户对象权限以后,数据库管理员可以根据实际情况,在不撤销用户访问权限的情况下,拒绝用户访问数据库对象,并阻止用户或角色继承权限,该语句优先于其他授予的权限。拒绝对象权限的基本语法如下:DENY ALL statement ,n security_account,n6架构架构是对象的容器,用于在数据库内定义对象的命名空间,简化管理和创建可以共同管理的对象子集。当用户拥有架构,并且服务器在查询中解析非限定对象时,总是有一个默认架构供服务器使用,架构与用户相互分离。使用架构的优点:使用户不再是对象的直接所有者,从数据库中删除用户是非常简单的任务;不再需要在删除对象的用户之前重命名对象;多个用户可以通过在角色或 Windows 组中的成员资格来拥有单个架构,使管理表、视图和其他数据库定义的对象变得容易多了;多个用户可共享单个默认架构,使授权访问共享对象变得更加容易。在访问默认架构中的对象时,不需要指定架构名称。访问其他架构中的对象时,需要两部分或三部分的表示符。其中两部分标识符指定架构名称和对象名称,格式为 schema_name. object_name;三部分标识符指定数据库名称、架构名称及对象名称,格式为 database_name. schema_name.object_name。

    注意事项

    本文(第7章SQL Server 2005的安全机制课件.ppt)为本站会员(春哥&#****71;)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开