版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库数据库应用软件应用软件信息科学与工程学院信息科学与工程学院 计算机系计算机系魏永山魏永山第第4章章 账户和存取权限账户和存取权限对于一个数据库管理员来说,安全性就意味着必须保证那些具有特殊数据访问权限的用户能够登录到SQL Server,并且能够访问数据以及对数据库对象实施各种权限范围内的操作;同时,他还要防止所有的非授权用户的非法操作。 SQL Server提供了既有效又容易的安全管理模式,这种安全管理模式是建立在安全身份验证和访问许可两者机制上的。基本原理基本原理主体主体:它是一个标识,用来访问SQL 服务器的对象,可能是用户或应用程序。安全对象安全对象:在服务器和数据库中,可通过权
2、限保护的对象。权限权限:用来规定特定主体在访问安全对象时允许或不允许的行为。安全级别安全级别:SQL Server 具有多个安全级别,各级别间具有层次关系。登录名登录名:通过登录名可以连接到服务器。用户用户:通过用户可以访问数据库。角色角色:通过角色可以赋予访问数据库的权限。重要概念重要概念主 体主体Server 角色SQL Server 登录Windows 组域用户账户本地用户账户用户数据库角色应用程序角色组SQLServer数据库Windows安全对象权限安全对象主体Server 角色SQL Server 登录Windows 组域用户账户本地用户账户用户数据库角色应用程序角色组SQLSer
3、ver数据库Windows安全对象权限文件密钥服务器架构数据库SQL Server 2005 权限主体Server 角色SQL Server 登录Windows 组域用户账户本地用户账户用户数据库角色应用程序角色组SQLServer数据库Windows安全对象权限文件密钥服务器架构数据库CREATEALTERDROPCONTROLCONNECTSELECTEXECUTEUPDATEDELETEINSERTTAKE OWNERSHIPVIEW DEFINITIONBACKUP授予授予/撤销撤销/拒绝拒绝ACL4.1 4.1 SQL Server的验证模式SQL Server对用户的访问进行两个阶
4、段的检验:验证阶段 登录SQL Server时进行的检查。如果验证通过,用户就可以连接到SQL Server上;否则,服务器将拒绝用户的登录。从而保证了系统安全性。许可确认阶段 登录到SQL Server上以后,系统检查用户是否有访问服务器上数据的权限。4.1.1 Windows模式验证模式验证在windows验证模式下,SQL Server检测当前使用的Windows用户帐户,确定该账户是否有权限登录。该模式不必提交登录名和密码。4.1 SQL Server的验证模式Windows验证模式有以下主要优点:数据库管理员的工作可以集中在管理数据库上面,而不是管理用户账户。对用户账户的管理可以交给
5、Windows去完成。 Windows有着更强的用户账户管理工具。可以设置账户锁定、密码期限等。Windows的组策略支持多个用户同时被授权访问SQL Server。4.1 SQL Server的验证模式4.1.2 混合验证模式混合验证模式混合验证模式允许以SQL Server验证模式或Windows验证模式来进行验证。使用哪种模式取决于在最初的通信时使用的网络库。如果一个用户使用的是TCP/IP Sockets进行登录验证,则将使用SQL Server验证模式;如果用户使用Named Pipes,则登录时将使用Windows验证模式。SQL Server验证模式处理登录的过程: 用户输入登录
6、名和密码后, SQL Server在系统注册表中检测输入的登录名和密码。如果输入的登录名存在,而且密码也正确,就可以登录到SQL Server上。4.1 SQL Server的验证模式混合验证模式具有如下优点:创建了Windows之上的另外一个安全层次。支持更大范围的用户,例如非Windows客户、Novell网络等。一个应用程序可以使用单个的SQL Server登录和口令。4.1 SQL Server的验证模式4.1.3 设置验证模式设置验证模式第1步:在“对象资源管理器”窗口中,选择服务器,右击,在弹出的快捷菜单上选择“属性”命令,然后在打开的“服务器属性”对话框中,选择“安全性”选项,打
7、开“安全性”选项卡 .第2步:在“服务器身份验证”栏中设置验证模式后,单击“确定”按钮.第3步:重新启动SQL Server,以新的验证模式登录服务器。 4.1 SQL Server的验证模式4.2 账户和角色SQL Server的两种账户:的两种账户:登录服务器的登录帐户(login name)登录帐户只是让用户登录到SQL Server中,但登录名本身并不能让用户访问服务器中的数据。要访问特定的数据库,还必须具有用户名。使用数据库的用户帐户(user name )用户名在特定的数据库内创建。用户定义的信息放在服务器上的每个数据库的sysusers表中。通过授权给用户来指定银行可以访问的数据
8、库对象的权限。角色角色角色是一组用户所构成的组,可分为服务器角色和数据库角色。当几个用户需要在某个特定的数据库中执行类似的动作时,就可以向该数据库中添加一个角色(role)。数据库角色指定了可以访问相同数据库对象的一组数据库用户。4.2 账户和角色服务器角色服务器角色Sysadmin 可执行SQL Server中的任何动作Serveradmin 可设置服务器范围的配置选项Setupadmin 可管理链接服务器和启动过程Securityadmin 可管理登录和创建数据库、读取错误日志和更改密码。Processadmin 管理SQL Server进程Dbcreator 创建、修改和删除数据库Dis
9、kadmin 管理磁盘文件Public 具有查看任何数据库的权限4.2 账户和角色4.2.1 登录帐户登录帐户登录帐户的添加登录帐户的设置登录帐户的删除4.2 账户和角色4.2.2 数据库用户数据库用户每个登录帐户在一个数据库中中你能有一个用户帐户,但是每个登录帐户可以在不同的数据库中各有一个用户帐户。如果在创建登录帐户时没有指定对某个数据库的存取权限,则在数据库中,可创建一个新的用户帐户,并关联到该登录帐户,则该登录帐户会自动具有对该数据库的访问权限。例:在AdventureWorks库中创建一个用户帐户bookA,并将其关联到bookadm登录帐户中。4.2 账户和角色4.2.3 角色角色
10、 拥有相同权限的用户集合称为角色服务器角色:由服务器账户组成的组,负责管理和维护SQL Server组。数据库角色:由数据库成员所组成的组,此成员可以是用户或者其他的数据库角色。4.2 账户和角色1.固定数据库角色固定数据库角色db_owner 在数据库中有全部权限db_accessadmin 可以添加、删除用户db_datareader 可以查看所有数据库中用户表内数据db_datawriter 可以添加、修改或删除所有数据库中用户表内数据的用户db_ddladmin 可以在数据库中执行所有定义操作db_securityadmin可以管理数据库中与安全权限有关所有动作db_backopera
11、tor 可以备份数据库db_denydatareader 不能选择数据库中任何数据db_denydatawriter 不能改变数据库中任何数据Public 4.2 账户和角色例:查看db_owner数据库角色的属性,并将用户bookadm加入到该角色中。 4.2 账户和角色2.应用程序角色应用程序角色 应用程序角色只使用应用程序,因而不需要把权限直接赋予用户,所以应用程序角色没有任何成员。此外需要为应用程序设置一个口令来激活它。 应用程序角色可以加强对某个特定的应用程序的安全。这些角色允许应用程序自己代替SQL Server接管用户身份验证的职责。比如,如果公司中的员工只是使用某个特定的应用程
12、序(而不是使用Transact-SQL语句或其他任何工具)来修改员工的数据信息,那么就可以为它创建一个应用程序角色。 当应用程序角色被应用程序的会话激活以用于连接时,在连接期间,会话就失去了登录、用户账户或所有数据库中的角色的权限。4.2 账户和角色3.public数据库角色的权限数据库角色的权限public角色是一种特殊的固定数据库角色,当在数据库添加新用户帐户时,SQL Server会自动将新用户帐户加入public数据库角色中,即数据库的每个合法用户都属于该角色。 public角色为数据库中的用户提供了所有默认权限。对于用户建立的数据库对象, public角色默认是不设置权限。publi
13、c角色为数据库中的所有用户都保留了默认的权限,因此是不能被删除的。4.2 账户和角色4.2.4 用户和角色的权限问题用户和角色的权限问题 用户是否具有对数据库存取的权利,要看其权限设置而定,但是,它还要受其所属角色的权限的限制。4.2 账户和角色1. 用户权限继承角色的权限用户权限继承角色的权限用户对数据库对象的存取权限继承于所属角色。假如用户User1属于角色Role1,角色Role1已经取得对表Table1的SELECT权限,则用户User1也自动取得对表Table1的SELECT权限,如果角色Role1对表Table1没有INSERT权限,而用户User1取得了对表Table1的INSE
14、RT权限,则角色Role1最终也取得对表Table1的INSERT权限。拒绝权限优先,只要角色Role1和用户User1中的之一拒绝,则该权限就是拒绝。4.2 账户和角色2. 用户分属不同角色用户分属不同角色如果一个用户分属于不同的数据库角色,例如,用户User1即属于角色Role1,又属于角色Role2,则用户User1的权限是以Role1和Role2的并集为准。但是只要有一个拒绝,则用户User1的权限就是拒绝。4.2 账户和角色 命名空间将相关对象组织在一起,从而使复杂的对象列表更加方便管理。 SQL Server 2005 使用架构架构对数据库对象实现了类似的概念。提问: 在数据库中专
15、门有名为 student_id 的表用来统计学生的学号和姓名,现在的问题就是每一届的学生数据都会存在这样一张同名的表,这可能会给查询带来困难。 举例:针对上面的情况,数据库将不知道如何区分 2006 级的学生和 2007 级的学生。如何解决这一问题呢?举例:我们以每一届的学生建立架构,要查找 2007 级的学生学号时,在这个数据库中就可以通过 2007.student.id 来找到合适的表了。架构:是数据库对象的命名空间。换言之,架构定义了一个边界,边界内的所有名称都是唯一的。数据库中每一个对象的唯一完全限定名称为server.database.schema.object。PersonCont
16、act(Server1.AdventureWorks.Person.Contact)SalesCustomer(Server1.AdventureWorks.Sales.Customer)AdventureWorksdboErrorLog(Server1.AdventureWorks.dbo.ErrorLog) 数据库对象的命名空间数据库对象的命名空间下图有名为 Server的 SQL Server 实例中 AdventureWorks 数据库内的三个架构。架构分别名为Person、Sales和dbo,每一个架构都包含一个表。表的完全限定名称:包括服务器名、数据库名和架构名。例如:dbo 架构
17、中的 ErrorLog 表的完全限定名称为server1. AdventureWorks.dbo.ErrorLog在在SQL早期版本中,对象的命名空间有其所有者的用早期版本中,对象的命名空间有其所有者的用户名决定。户名决定。在在SQL Server 2005中,架构与对象的所有权分离,这中,架构与对象的所有权分离,这样做的优势在于:样做的优势在于: 在将数据库对象组织到命名空间中时灵活性更强 权限管理更加简单; 可管理性也得到了提高。 创建架构,在SSMS 中通过【对象资源管理器】,展开数据库下的【安全性】,就可创建架构。使用使用CREATE SCHEMA语句创建架构:语句创建架构:CREAT
18、E SCHEMA schema_name | AUTHORIZATION owner_name 举例:创建名为 marketing 的架构,该架构由名为 Lance 的用户拥有;在新建的架构中创建名为 promotions 的表。 该语句将架构中的SELECT权限授予给Don的用户,并拒绝将SELECT 权限授予给名为 Erik 的用户。-创建名为marketing的架构,该架构由名为Lance的用户拥有CREATE SCHEMA Marketing AUTHORIZATION Lance -在架构中创建promotions的表( 三列:source cost promonumber ;都为整型)CREATE TABLE Mmotions( source int , cost int , promonumber int )- 授予给Don的用户的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年城市管理执法考试模拟题
- 2026年法师资格证考试高频考点
- 教育知识与能力重点知识
- 护理技能竞赛方案
- 护理带教总结课件
- 青少年法制教育读本教学设计(小学高年级)
- 残疾人辅助器具适配补贴分类办法
- 国有产权转让涉及导弹相关物项管制转让规定
- 从(五方面人员)中选拔乡镇领导班子成员考试(基本素质和能力)试题及答案(2026年玉林)
- 安徽留置看护辅警笔试试题(附答案)
- 2026年安徽省合肥市九年级英语下册期末考试试卷及答案
- 2025中煤航测遥感集团有限公司招聘58人笔试历年参考题库附带答案详解
- 2026年(完整版)教育学原理试题库(附答案)
- 2026温州瓯海全域空间设计咨询有限公司面向社会招聘2人备考题库及答案详解(新)
- 2026贵阳市创业投资有限公司(第一批)对外招聘3人备考题库及一套完整答案详解
- 2024版慢性鼻窦炎诊断和治疗指南课件
- (2026年)妊娠期甲状腺疾病指南解读课件
- 招远社区工作者招考真题及答案2025
- 2026宁波市中考语文知识点背诵清单练习含答案
- 2026年高考(天津卷)英语试题及答案
- 2026年安徽高考物理试卷题库及答案
评论
0/150
提交评论