




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第九讲第九讲 SQL Server 2000数据库的安全性管理数据库的安全性管理教学内容教学内容l对任何企业组织来说,数据的安全性最为重对任何企业组织来说,数据的安全性最为重要要lSQL Server 2000 提供了内置的安全性和数据提供了内置的安全性和数据保护,管理有效容易保护,管理有效容易本讲将介绍本讲将介绍lSQL Server 2000的安全性机制l数据库登录l表的用户l角色管理l权限管理学习目标及重点学习目标及重点学习目标学习目标lSQL Server的安全性机制的安全性机制l管理服务器的安全性管理服务器的安全性lSQL Server数据库的安全性数据库的安全性l表的安全性表的安全
2、性重点与难点重点与难点lSQL Server 2000的身份验证的身份验证l创建和管理用户登录的方法创建和管理用户登录的方法l使用固定服务器角色的方法使用固定服务器角色的方法l管理数据库权限的方法管理数据库权限的方法9.1 SQL Server的帐号和存取权限的帐号和存取权限n数据的数据的安全性安全性是指保护数据以防止因不是指保护数据以防止因不合理的使用而造成数据的泄密和破坏,合理的使用而造成数据的泄密和破坏,这就要采取一定的安全保护措施。这就要采取一定的安全保护措施。n在数据库管理系统中,用在数据库管理系统中,用检查口令检查口令等手等手段来检查用户身份,通过检查的用户才段来检查用户身份,通过
3、检查的用户才能进入数据库系统中。能进入数据库系统中。n当用户对数据库执行操作时,系统自动当用户对数据库执行操作时,系统自动检查用户是否有权限执行这些操作。检查用户是否有权限执行这些操作。 9.1.1 SQL Server的验证模式的验证模式 nSQL Server对用户的访问进行两个阶段的检验:对用户的访问进行两个阶段的检验:(1)验证阶段()验证阶段(Authentication):):l用户在SQL Server上获得对任何数据库的访问权限之前,必须登录到SQL Server上,并且被认为是合法的。lSQL Server或者Windows NT/2000对用户进行验证。l如果验证通过,用户
4、就可以连接到SQL Server上,否则,服务器将拒绝用户登录。从而保证了系统安全。(2)许可确认阶段()许可确认阶段(Permission Validation):):l用户验证通过后,登录到SQL Server上,系统检查用户是否有访问服务器上数据的权限。n在验证阶段,系统是对用户登录进行验证。在验证阶段,系统是对用户登录进行验证。nSQL Server和和Windows NT/2000是结合在一起的,因此有是结合在一起的,因此有两种验证模式:两种验证模式:Windows验证模式验证模式和和混合验证模式混合验证模式(3 3)设置验证模式)设置验证模式9.2 帐号和角色帐号和角色 n在在SQ
5、L Server中,帐号有两种:中,帐号有两种:l一种是登录服务器的登录帐号(login name)l一种是使用数据库的用户帐号(user name)。n登录帐号是指能登录到登录帐号是指能登录到SQL Server的帐号,属的帐号,属于服务器层面,它本身并不能让用户访问服务于服务器层面,它本身并不能让用户访问服务器中的数据库器中的数据库n登录者要使用服务器中的数据库,必须要有登录者要使用服务器中的数据库,必须要有用户帐号才能够存取数据库。用户帐号才能够存取数据库。l如同公司门口先刷卡进入(登录服务器),然后再拿钥匙打开自己的办公室(进入数据库)一样。用户帐号用户帐号n用户名用户名在特定的数据库
6、内创建,并关联在特定的数据库内创建,并关联一个一个登录名登录名(当一个用户创建时,必须(当一个用户创建时,必须关联一个登录名)。关联一个登录名)。n用户定义的信息存放在服务器的每个数用户定义的信息存放在服务器的每个数据库的据库的sysusers表中,用户没有密码同表中,用户没有密码同它相关联。它相关联。n通过授权给用户指定用户可以访问的数通过授权给用户指定用户可以访问的数据库对象权限据库对象权限9.2.1 9.2.1 服务器的登录帐号服务器的登录帐号1使用企业管理器查看登录帐号使用企业管理器查看登录帐号这两个是什么用户?n其中其中:BUILTINAdministrators、域名域名Admin
7、istrator、sa是默认的登录帐号,它们的含义如下:是默认的登录帐号,它们的含义如下:(1) BUILTINAdministrators:凡是Windows NT Server/2000中Administrators组的帐号都允许登录SQL Server。(2)域名Administrator:允许NT Server的Administrator帐号登录。(3) sa:超级管理员帐号,允许SQL Server的系统管理员登录,此SQL Server的管理员不一定是Windows NT Server/2000的管理员。默认登录帐号默认登录帐号2 使用存储过程查看登录帐号使用存储过程查看登录帐号n
8、角色(角色(role)是一组用户所构成的组,可是一组用户所构成的组,可分为分为服务器角色服务器角色与与数据库角色数据库角色。n服务器角色服务器角色是负责管理与维护是负责管理与维护SQL Server的组,一般只会指定需要管理服务器的登的组,一般只会指定需要管理服务器的登录帐号属于服务器角色。录帐号属于服务器角色。9.2. 2 角色角色固定的服务器角色固定的服务器角色 sysadmin:全称为System Administrators,可以在SQL Server中执行任何活动。 serveradmin:全称为Server Administrators,可以设置服务器范围的配置选项,关闭服务器。
9、setupadmin:全称为Setup Administrators,可以管理链接服务器和启动过程。 securityadmin:全称为Security Administrators,可以管理登录和创建数据库的权限,还可以读取错误日志和更改密码。 processadmin:全称为Process Administrators,可以管理在SQL Server中运行的进程。 dbcreator:全称为Database Creators,可以创建、更改和除去数据库。 diskadmin:全称为Disk Administrators,可以管理磁盘文件。 bulkadmin:全称为Bulk Insert
10、Administrators,可以执行BULK INSERT(大容量插入)语句。n注:属于注:属于Windows NT/2000 Administrators组的帐号,在组的帐号,在SQL Server中被自动中被自动设置为设置为sysadmin服务器角色。服务器角色。2. 利用企业管理器创建一个登录帐号利用企业管理器创建一个登录帐号3. 利用存储过程创建一个登录帐号利用存储过程创建一个登录帐号语法:语法:EXEC sp_addlogin登录帐号名称登录帐号名称,密码密码,默认数据库名默认数据库名,使用的语言使用的语言注:注:(1)使用的语言如果指定为NULL,则表示使用系统默认语言。(2)此
11、存储过程只是添加了一个登录帐号,该帐号只能登录到SQL Server,并不对某特定数据库具有存取权限,所以,还需要利用sp_adduser存储过程将此登录帐号加入到指定数据库中才行。EXEC sp_addlogin Mike,m1934,SchoolManage,NULLl此语句建立了一个名称为Mike的登录帐号。n此语句将此语句将Mike登录帐号加入到数据库登录帐号加入到数据库SchoolManage中。中。 n USE SchoolManageEXECsp_adduserMike4.使用企业管理器使用企业管理器更改登录帐号属性更改登录帐号属性使用存储过程使用存储过程sp_password可
12、改变登录帐号的密码可改变登录帐号的密码nEXEC sp_password 旧密码,新密码,登录帐号名称nEXEC sp_password m1934,mike1934,Miken此语句将Mike帐号的密码由原来的m1934改为mike1934使用存储过程将登录帐号加入服务器的角色使用存储过程将登录帐号加入服务器的角色n使用存储过程使用存储过程sp_addsrvrolemembersp_addsrvrolemember可以将登录帐号加可以将登录帐号加入服务器的角色中。入服务器的角色中。n格式格式:EXEC sp_addsrvrolemember:EXEC sp_addsrvrolemember登
13、录帐号登录帐号,服服务器角色名称务器角色名称n示例示例: EXEC : EXEC sp_addsrvrolememberMike,dbcreatorsp_addsrvrolememberMike,dbcreator删除登录删除登录方法方法1:使用企业管理器:使用企业管理器方法方法2:使用存储过程删除登录:使用存储过程删除登录n使用存储过程使用存储过程sp_droplogin可删除某一登录帐号。可删除某一登录帐号。n格式格式USE 数据库数据库EXECsp_droplogin 登录帐号登录帐号n示例示例lUSE SchoolManagelEXEC sp_droplogin Miken一个一个SQ
14、L Server的登录帐号只有成为该数据库的用户时的登录帐号只有成为该数据库的用户时,对该数据库才有访问权限。,对该数据库才有访问权限。n在安装在安装SQL Server后,默认数据库如:后,默认数据库如:master、tempdb、msdb等包含两个用户:等包含两个用户:dbo和和guest。n任何一个登录帐号都可以通过任何一个登录帐号都可以通过guest用户帐号来存取相应用户帐号来存取相应的数据库。的数据库。n当新建一个数据库时,默认只有当新建一个数据库时,默认只有dbo用户帐号而没有用户帐号而没有guest用户帐号。用户帐号。n每个登录帐号在一个数据库中只能有一个用户帐号,但每个登录帐号
15、在一个数据库中只能有一个用户帐号,但每个登录帐号可以在不同的数据库中各有一个用户帐号每个登录帐号可以在不同的数据库中各有一个用户帐号n如果在新建登录帐号过程中,指定对某个数据库具有存如果在新建登录帐号过程中,指定对某个数据库具有存取权限,则在该数据库中将自动创建一个与该登录帐号取权限,则在该数据库中将自动创建一个与该登录帐号同名的用户帐号。同名的用户帐号。 数据库的用户数据库的用户n(1)master和和tempdb数据库中的数据库中的guest用户帐号用户帐号不能删除,而其他数据库中的不能删除,而其他数据库中的guest用户帐号可以用户帐号可以删除。删除。n(2)登录帐号具有对某个数据库的访
16、问权限,)登录帐号具有对某个数据库的访问权限,并不表示该登录帐号对该数据库具有存取的权限并不表示该登录帐号对该数据库具有存取的权限。如果要对数据库的对象进行插入、更新等操作。如果要对数据库的对象进行插入、更新等操作,还需要设置用户帐号的权限。,还需要设置用户帐号的权限。 用户帐号用户帐号使用企业管理器查看用户使用企业管理器查看用户利用存储过程查看用户利用存储过程查看用户使用企业管理器创建数据库的用户使用企业管理器创建数据库的用户使用存储过程使用存储过程创建数据库的用户创建数据库的用户n语法语法USE数据库名EXEC sp_adduser登录帐号,用户帐号,所属的数据库角色n示例示例USE Sc
17、hoolManageEXEC sp_addusersql03,sql003,db_owner9.3 权限权限9.3.1 权限分类权限分类(1)对象权限对象权限l是执行与表、视图和存储过程等数据库对象是执行与表、视图和存储过程等数据库对象有关的行为的权限。数据库对象的所有者可有关的行为的权限。数据库对象的所有者可以将对象权限授予指定的数据库用户。以将对象权限授予指定的数据库用户。l对于表和视图,所有者可以授予对于表和视图,所有者可以授予INSERT、UPDATE、DELETE、SELECT和和REFERENCES权权限,或授予限,或授予ALL权限。权限。l存储过程的所有者可以授予其执行(存储过程
18、的所有者可以授予其执行(EXECUTE)权限。)权限。(2)语句权限)语句权限是对用于创建数据库和数据库中的对象(如表、视图是对用于创建数据库和数据库中的对象(如表、视图和存储过程等)的和存储过程等)的T-SQL语句所拥有的权限。包括:语句所拥有的权限。包括:lCreate database:创建数据库:创建数据库lCreate table:创建表:创建表lCreate view:创建视图:创建视图lCreate rule:创建规则:创建规则lCreate default:创建缺省:创建缺省lCreate procedure:创建存储过程:创建存储过程lCreate index:创建索引:创建
19、索引lBackup database:备份数据库:备份数据库lBackup log:备份事务日志:备份事务日志(3)暗示性权限)暗示性权限n指由指由SQL Server预定义的服务器角色、预定义的服务器角色、数据库的所有者和数据库对象所有者所数据库的所有者和数据库对象所有者所拥有的权限。拥有的权限。n如:如:sysadmin固定服务器角色成员可以固定服务器角色成员可以在服务器范围内从事所有的操作活动,在服务器范围内从事所有的操作活动,数据库所有者数据库所有者dbo可以在数据库范围内进可以在数据库范围内进行任何操作,数据库对象的所有者可以行任何操作,数据库对象的所有者可以对拥有的对象执行一切活动
20、。对拥有的对象执行一切活动。n企业管理器企业管理器用户帐号用户帐号鼠标右键鼠标右键选择选择“属性属性” ” 打开打开“数据库用户属性数据库用户属性”对话对话框框n“数据库用户属性数据库用户属性”对话框对话框单击单击“权限权限” ” 打打开权限设置对话框开权限设置对话框设置数据库用户帐号的权限设置数据库用户帐号的权限l在“对象”列中,显示了数据库中所有的对象,而“所有者”列则显示了相应对象的所有者。其后的6列则是对数据库对象的操作,具体含义如下: SELECT:对表或者视图的查询INSERT:在表或者视图中插入记录UPDATE:对表或者视图中的数据修改DELETE:删除表或者视图中的数据EXEC
21、:执行存储过程DRI:Declarative Referential Integrity,可对表的外键加上限制,以达成表的参照完整性。n对某个数据库对象而言,如果选中对应的复选框,则表示具有对该对某个数据库对象而言,如果选中对应的复选框,则表示具有对该对象进行相应操作的权限。对象进行相应操作的权限。n每个复选框具有每个复选框具有3 3种状态。种状态。l空白时表示未指定权限,或权限还原到未设置状态;l当打“”时表示具有该权限;l当打“”时,表示不具有该权限。 设置数据库用户帐号的权限设置数据库用户帐号的权限利用企业管理器设置权限利用企业管理器设置权限利用查询分析器查看设置的权限结果利用查询分析器
22、查看设置的权限结果利用查询分析器查看设置的权限结果利用查询分析器查看设置的权限结果为什么不能更新呢?语句权限设置语句权限设置原来是它的原因?9.3.2 管理对象权限管理对象权限SQL Server 可通过两种途径:即面向单一用户和面向数可通过两种途径:即面向单一用户和面向数据库对象的权限设置,来实现对语句权限和对象权限据库对象的权限设置,来实现对语句权限和对象权限的管理,从而实现对用户权限的设定。的管理,从而实现对用户权限的设定。 Transaction_SQL 语句使用语句使用grant、revoke和和deny三种命三种命令来完成权限的授予、禁止和剥夺。令来完成权限的授予、禁止和剥夺。lG
23、RANT 权限名称权限名称,n ON 表名表名|视图名视图名|存储过程名存储过程名 TO 用户账号用户账号lDENY 权限名称权限名称,n ON 表名表名|视图名视图名|存储过程名存储过程名 TO 用用户账号户账号lREVOKE 权限名称权限名称,n ON 表名表名|视图名视图名|存储过程名存储过程名 FROM 用户账号用户账号如:如:GRANT SELECT ON employee TO Adam,salesmanager,HEADQUARTERSmims9.3.3 管理语句权限管理语句权限n(1)使用企业管理器)使用企业管理器n(2)使用)使用Transact-SQL语句语句 使用使用GR
24、ANT、DENY和和REVOKE语句完成语句语句完成语句权限的授予、禁止和剥夺。权限的授予、禁止和剥夺。lGRANT 语句名称,n TO 用户账号 ,nlDENY 语句名称,n TO 用户账号,nlREVOKE 语句名称,n FROM 用户账号,n权限示例权限示例n如:授予创表权限如:授予创表权限GRANT CREATE TABLE TO Adam,salesmanager,HEADQUARTERSmimsn如:拒绝用户账号如:拒绝用户账号Adam使用使用CREATE VIEW语句:语句:DENY CREATE VIEW TO Adamn如:删除一个如:删除一个DENY权限权限REVOKE A
25、LL FROM AdamEX: GRANTGRANT SELECT ON StudInfo TO publicGO GRANT INSERT, UPDATE, DELETEON StudInfoTO Mary, John, TomGO删除数据库用户帐号删除数据库用户帐号n方法方法1:使用企业管理器:使用企业管理器l企业管理器 “数据库” “用户” 鼠标右键 “删除”n方法方法2:使用存储过程:使用存储过程n格式格式lUSE 数据库名lEXEC sp_dropuser用户帐号n示例示例lUSE SchoolManagelEXEC sp_dropuserZHANGSANn角色角色是一个强大的工具,
26、可以将用户集中到一个单元是一个强大的工具,可以将用户集中到一个单元中,然后对该单元应用权限。中,然后对该单元应用权限。n对一个角色授予、拒绝或废除的权限也适用于该角色对一个角色授予、拒绝或废除的权限也适用于该角色的任何成员。的任何成员。n和登录帐号类似,用户帐号也可以分成组,称为和登录帐号类似,用户帐号也可以分成组,称为数据数据库角色库角色(Database Roles)。)。n数据库角色应用于单个数据库。在数据库角色应用于单个数据库。在SQL Server中,数据中,数据库角色可分为两种:库角色可分为两种:l标准角色:由数据库成员所组成的组,此成员可以是用户或者其他的数据库角色。l应用程序角
27、色:用来控制应用程序存取数据库的,本身并不包括任何成员。 数据库角色数据库角色10个个固定的标准角色固定的标准角色npublic角色是最基本的数据库角色。角色是最基本的数据库角色。ndb_owner:在数据库中有全部权限。:在数据库中有全部权限。ndb_accessadmin:可以添加或删除用户:可以添加或删除用户ID。ndb_securityadmin:可以管理全部权限、对象所有权、角色:可以管理全部权限、对象所有权、角色和角色成员资格。和角色成员资格。ndb_ddladmin:可以发出:可以发出ALLDDL,但不能发出,但不能发出GRANT(授(授权)、权)、REVOKE或或DENY语句。语句。ndb_backupoperator:可以发出:可以发出DBCC、CHECKPOINT和和BACKUP语句语句ndb_datareader:可以选择数据库内任何用户表中所有数据:可以选择数据库内任何用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生态风险预警系统与生物地球健康监测-洞察阐释
- 植物病害流行与预测
- 桉树良种研发与推广合作合同范本
- 别墅地下室通风折叠门供应合同
- 高端酒店代理记账及客房收益管理合同
- 餐厅总经理职位竞聘与品牌形象塑造合同
- 车辆租赁市场调查居间合同
- 沉井基础施工劳务合作及施工进度管理合同
- 仓储物流园区物业管理费及配套设施协议
- 2026届新高考语文热点复习:论述类文本阅读
- GB/T 5288-2007龙门导轨磨床精度检验
- 检验科梅毒快速检测室内质控记录本
- GB/T 1094.2-2013电力变压器第2部分:液浸式变压器的温升
- 2023年庄河市中医医院医护人员招聘笔试题库及答案解析
- 《社会保障概论》课程教学大纲(本科)
- 温州市住宅小区(大厦)物业服务达标考核实施暂行办法
- 《行政法与行政诉讼法》期末复习题及参考答案
- 北京市教育系统
- 《科学技术史》课程课件(完整版)
- 超星尔雅学习通《大学生创业基础》章节测试含答案
- 第四节-酸碱平衡失常的诊治课件
评论
0/150
提交评论