版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SQL Server 2000数据库的平安性管理 121对SQL Server的访问 122数据库的平安性权限 123角色 124与平安有关的Transact-SQL语句 125 视图与数据访问 126存储过程与数据访问 第12章 SQL Server 2000数据库的平安性管理SQL Server的平安性管理是建立在登录验证和权限答应的根底上的。登录验证是指核对衔接到SQL Server实例的登录帐户名和密码能否正确,以此确定用户能否具有衔接到SQL Server实例的权限。经过了登录验证,并不意味着用户可以访问SQL Server实例中的各个数据库。用户只需在被授于访问数据库的权限答应之后
2、 才可以对效力器上的数据库进展权限答应下的各种操作。SQL Server还引入了角色的概念,来简化对权限答应的管理, 在SQL Server中,平安性管理可以经过企业管理器的图形界面进展,但对于熟练的DBA来说,运用Transact-SQL语句进展平安性管理能够更有效率。在SQL Server中,经过运用视图和存储过程也可以控制用户对数据的访问,实现对数据平安管理。前往目录12.1对SQL Server的访问在SQL Server 2000中,用登录帐户来控制用户能否具有衔接到SQL Server实例的权限。用数据库用户帐户来控制用户能否具有支配SQL Server实例中的各个数据库的权限。而
3、对用户身份的验证,是经过核对登录帐户名和密码能否正确来完成的。1身份验证方式Authentication ModesSQL Server能在两种身份验证方式下运转:Windows身份验证方式和混合方式。在Windows身份验证方式下,SQL Server依托Windows 身份验证来验证用户的身份。在混合方式下,SQL Server依托Windows 身份验证或SQL Server身份验证来验证用户的身份。1Windows身份验证方式2混合方式在混合方式下,用户既可以运用 Windows 身份验证,也可以运用SQL Server身份验证。运用SQL Server身份验证时,用户必需提供登录帐户
4、名和密码,这里的登录帐户是数据库管理员在SQL Server中创建并分配给用户的 (3) 配置身份验证方式 前往目录2登录帐户logins和数据库用户帐户database usersSQL Server用数据库用户帐户来指出哪一个人可以访问哪一个数据库。用户对数据的访问权限以及与数据库对象的一切关系都是经过用户账号来控制的。数据库用户帐户通常是由数据库管理员在SQL Server实例的各个数据库中创建的。一个登录账号总是与一个或多个数据库用户账号相关联。这个关联任务,由数据库管理员在为用户新建登录账户或修正登录帐户属性时完成的。但对于一些特殊登录帐户,这个过程是由SQL效力器自动完成的。如:s
5、a是SQL Server内置的管理员登录账号,sa登录账号自动与每一个数据库的dbo用户相关联。数据库用户账号总是与某一登录账号相关联的,但有一个例外,那就是 guest用户。Guest用户不详细与某一登录帐户相关联,但Guest用户允许没有与用户帐户关联的登录帐户访问数据库。用户访问SQL Server实例中的某一数据库,SQL Server检查该登录用户能否与该数据库中的某一用户帐户相关联,假设有,那么允许它以该用户帐户访问数据库;假设没有,那么SQL Server检查该数据库中能否有guest用户,假设有,那么允许用户以guest用户来访问该数据库,假设没有,那么该用户对该数据库的访问被
6、回绝。在安装SQL Server时,系统自动在master、pubs、 tempdb 和 Northwind 数据库中创建guest 用户。 前往目录(1) 创建登录帐户 创建登录帐户的方法有三种:运用企业管理器、运用Transact-SQL语句、运用创建登录导游。(2) 授予Windows NT/2000用户或组衔接SQL Server的权限在Windows NT/2000帐户(用户或组)可以访问数据库之前,必需授予它们衔接到 SQL Server实例的权限。 (3) 创建数据库用户帐户可以运用企业管理器或Transact-SQL语句来创建数据库用户帐户,也可以运用企业管理器来创建数据库用户
7、帐户。为了创建一个新的数据库用户帐户,必需事先确定一个将与该数据库用户相关的登录帐户。 前往目录(4) sa登录帐号、dbo数据库用户帐号及数据库对象一切者。系统管理员System Administrator登录帐号sa 是为向后兼容而提供的特殊登录。sa是SQL Server自动创建的、内置的登录帐号,不能被删除。默许情况下,sa被授予固定效力器角色sysadmin,可以在SQL Server 中进展任何活动。dbo是SQL Server自动创建的、内置的数据库用户帐号,具有在数据库中执行一切活动的权限。SQL Server将固定效力器角色 sysadmin 的任何成员都映射到每个数据库内的
8、dbo用户上。另外,由固定效力器角色 sysadmin 的任何成员创建的任何对象都自动属于dbo。创建数据库对象的用户称为数据库对象一切者。创建数据库对象的权限必需由数据库一切者或系统管理员授予。数据库对象一切者可以授予其他用户访问其所创建的对象的权限。数据库对象一切者没有特殊的登录 ID 或密码。对象创建者在创建对象时,被隐性地授予该对象的一切权限,但其他用户必需被显式授予权限后才干访问该对象。前往目录14.2 数据库的平安性权限SQL Server经过为用户分配权限来决议用户可以执行什么样的数据库操作。在SQLServer中,可以为用户设置效力器权限和数据库权限。数据库权限又分为对象权限和
9、语句权限。1效力器权限效力器权限用来为数据库管理员分配执行数据库管理义务的答应。效力器权限被预先赋于固定的效力器角色,为用户的登录帐户分配某一效力器角色,那么用户具有该效力器角色所具有的效力器权限。效力器权限包括:封锁数据库系统、新建数据库,备份数据库等等。2数据库对象权限对象权限是用户在处置数据或执行过程时需求的权限。可以运用企业管理器或Transact-SQL语句为用户分配对象权限。在企业管理器中分配对象权限的方法有两种,一种是针对用户来分配对象权限,另一种是针对数据库对象来分配对象权限。(1) 对象权限的类型:对象权限主要有SELECT、UPDATE、INSERT、DELETE、EXEC
10、UTE等几种类型。前往目录(2) 基于用户管理对象权限基于用户管理对象权限,可以方便地为用户分配多个数据库对象的对象权限。可以运用企业管理器针对用户来分配对象权限。(3) 基于数据库对象管理对象权限。基于数据库对象管理对象权限,可以方便地为多个用户分配数据库对象的对象权限。可以运用企业管理器针对数据库对象来分配对象权限。前往目录3数据库语句权限对象权限运用户可以访问数据库中曾经存在数据库对象。语句权限那么运用户可以创建数据库和数据库对象。例如,假设用户要在数据库中创建表,那么应该向该用户授予 CREATE TABLE语句权限。语句权限如 CREATE DATABASE适用于语句本身,而不适用于
11、特定数据库对象。语句权限有: BACKUP DATABASE权限,允许用户执行BACKUP DATABASE命令。 BACKUP LOG权限,允许用户执行BACKUP LOG命令 CREATE DATABASE权限,允许用户创建数据库。 CREATE DEFAULT权限,允许用户创建列的缺省值。 CREATE FUNCTION权限,允许用户创建函数。 CREATE PROCEDURE权限,允许用户创建存储过程。 CREATE RULE权限,允许用户创建规那么。 CREATE TABLE权限,允许用户创建表。 CREATE VIEW权限,允许用户创建视图。可以运用企业管理器或Transact-S
12、QL语句为用户分配语句权限。 前往目录12.3 角色角色用来为成组的用户赋于一样的数据库权限,而不需求为每个用户单独赋权。用户可以根据管理需求,划分和创建出几种权限不同的角色,并将相应的数据库权限授于各个角色,然后可以将角色赋于一个或多个数据库用户帐户,这样,这些数据库用户帐户就具有了该角色所具有的权限。1角色的类型在SQL Server中,角色有两种类型:效力器角色和数据库角色。(1) 效力器角色效力器角色是由SQL Server自动创建的,是固定的,不能被删除,其权限也不能被修正,用户也不能创建新的效力器角色。SQL Server根据SQL Server效力器管理义务的不同,预定义了8种固
13、定的效力器角色,它们是: sysadmin角色、 serveradmin角色、 setupadmin角色、securityadmin角色、processadmin角色、 dbcreator角色、 diskadmin角色、 bulkadmin角色。前往目录(2) 固定数据库角色固定数据库角色,是指由SQL Server自动创建的、固定的、不能被数据库管理员或用户修正或删除的数据库角色。在SQL Server中,预定义了9种固定数据库角色,它们是: db_owner角色,数据库的一切者,以执行任何数据库管理任务。可以对数据库内的任何对象进展任何操作。 db_accessadmin角色,可以在数据库
14、中添加或删除Windows NT 4.0 或 Windows 2000 组和用户以及SQL Server用户。 db_datareader角色,可以查看来自数据库中一切用户表的全部数据。 db_datawriter角色,可以添加、更改或删除来自数据库中一切用户表的数据。 db_ddladmin角色,可以添加、修正或删除数据库中的对象。 db_securityadmin角色,管理数据库角色和角色的成员,并管理数据库的语句权限和对象权限。 db_backupoperator角色,可以进展数据库的备份任务。 db_denydatareader角色,不能查看数据库中任何表的数据。 db_denydat
15、awriter角色,不能修正数据库中任何表的数据。可将任何有效的数据库用户帐户(包括组)或角色添加为固定数据库角色成员。 前往目录(3)用户自定义的数据库角色用户自定义的数据库角色是指由用户本人创建并定义权限的数据库角色。用户自定义的数据库角色提供了分配给用户特定权限的才干,而这是固定数据库角色所不能提供的。假设要为一些数据库用户设置一样的权限,但是这些权限又与固定数据库角色的权限不同,就可以创建用户自定义的数据库角色。用户自定义的数据库角色有两种类型:规范角色和运用程序角色。规范角色是基于用户的,用于普通的数据库权限管理任务。运用程序角色一种比较特殊的角色类型,是基于运用程序的。运用运用程序
16、角色可以限制用户只能经过特定运用程序来访问数据。(4) public角色SQL Server还有一个特殊的数据库角色pulbic。在创建数据库时,public角色就在其中自动创建好了。public角色不能被删除,也不能为这个角色添加或删除用户。数据库中每个用户都自动属于public角色。假设需求提供一种缺省的权限给一切用户时,可以将这种权限赋于public角色,由于数据库中每个用户都自动属于public角色,所以一切的用户都自动拥有了这种权限。 前往目录2管理角色1为效力器角色添加成员经过将用户登录帐号添加到效力器角色,用户可以获得效力器角色所具有的权限。可以运用企业管理器或Transact-
17、SQL语句将用户添加到效力器角色。 (2) 创建用户自定义的数据库角色运用自定义的数据库角色,可以简化数据库权限的管理任务,可以运用企业管理器创建用户自定义的数据库角色。(3) 为用户自定义的数据库角色授权可以运用企业管理器或Transact-SQL语句为数据库角色授权。(4) 为数据库角色添加成员将数据库用户添加到数据库角色(固定数据库角色和用户自定义的数据库角色),可以运用数据库用户获得数据库角色所具有的数据库权限。可以运用企业管理器或Transact-SQL语句为数据库角色赋权。 前往目录12.4 与平安有关的Transact-SQL语句除了企业管理器外,SQL Server还提供了Tr
18、ansact-SQL语句来进展平安管理。1与登录帐户相关的Transact-SQL语句SQL Server提供了一些系统存储过程,用以管理 SQL Server登录帐户。 sp_addlogin,创建新SQL Server登录帐户。 sp_droplogin,删除SQL Server登录帐户。 sp_grantlogin,授予Windows NT/2000用户或组帐户登录SQL Server的权限。 sp_denylogin,阻止Windows NT/2000用户或组帐户登录到SQL Server。 sp_revokelogin,删除用sp_grantlogin或sp_denylogin创建的
19、登录项 sp_helplogins,提供有关每个数据库中的登录及相关用户的信息前往目录2与数据库用户相关的Transact-SQL语句SQL Server提供了一些系统存储过程,用以管理数据库用户帐户。 sp_granddbaccess,为SQL Server登录帐户在当前数据库中添加一个用户帐户。 sp_revokedbaccess,从当前数据库中删除数据库用户帐户。 sp_helpuser,报告当前数据库中指定用户的信息。3与权限管理相关的Transact-SQL语句SQL Server提供了GRANT、REVOKE和DENY三种Transact-SQL语句来管理权限。 GRANT,把数据
20、库对象权限或语句权限授于指定的数据库用户、组或角色。 REVOKE,取消曾经授于数据库用户、组或角色的数据库对象权限或语句权限。 DENY,制止数据库用户、组或角色对某一对象或语句的权限。前往目录4与角色管理相关的Transact-SQL语句在 SQL Server中,管理效力器角色的系统存储过程主要有: sp_addsrvrolemember,将登录帐号添加到固定效力器角色,使其成为固定效力器角色的成员。sp_dropsrvrrolemember,从固定效力器角色中删除登录帐户,使其不再是固定效力器角色的成员。在SQL Server 中,管理数据库角色管理的系统存储过程主要有: sp_add
21、role,创建新的用户自定义的数据库角色。 sp_droprole,删除用户自定义的数据库角色。 sp_addapprole,创建新的运用程序角色。 sp_dropapprole,删除运用程序角色 sp_addrolemember,将数据库用户、组或角色添加到数据库角色,使其成为数据库角色的成员。 sp_droprolemember,从数据库角色中,删除数据库用户、组或角色,使其不再是数据库角色的成员。 sp_helprole,显示当前数据库中一切数据库角色的信息。 sp_helprolemember,显示当前数据库中一切角色的成员信息。 前往目录12.5 视图与数据访问视图能作为一种平安性机
22、制运用,以控制用户对数据的访问。视图是由查询语句定义的,是一张虚表.授于用户访问视图的权限,不会运用户拥有访问视图所援用的基表或数据库的其他部分的权限。另外,用户只需求拥有访问视图的权限,就可以对视图中的数据进展操作1运用视图实现行级数据平安可以定义一个视图,其中只包含从基表中抽取的、要让用户访问的数据行。授予用户访问这个视图的权限。这样,用户就能访问到这些数据行,而无法访问基表中其它的数据行。【例12.1】采用视图运用户只能查看某Employees表中来自美国的员工的信息。CREATE VIEW usa_employees AS SELECT * FROM Employees WHERE Country = USA创建
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《NOIP图的基础算法》课件
- 价值观培训班
- 农药采购合同模板
- 白血病捐款班会
- 仁爱版英语初二八年级上册全册教案
- 2024年度航空公司机队更新与租赁合同3篇
- 仁爱版英语七年级上册教案设计
- 2024年度房产购房合同(标的:杭州市江干区套别墅)3篇
- 治疗性沟通实践报告
- 《新风培训》课件
- 妊娠期高血压疾病的护理课件
- 小区物业消防安全职责与日常检查
- 施工现场危险源辨识及风险评价表
- 烟草专卖许可证新办申请表(国)
- 玩转计算机网络-计算机网络原理智慧树知到课后章节答案2023年下青岛大学
- 安全隐患排查台账(附排查表)
- 核安全工程师-核安全综合知识-辐射防护基础-辐射防护剂量限值
- 音乐治疗学基础理论
- 小学二年级期中家长会课件
- 第六届大学生化学实验技能竞赛初赛笔试试题
- 质量通病防治施工措施及质量通病防治措施
评论
0/150
提交评论