SQL的数据访问控制_第1页
SQL的数据访问控制_第2页
SQL的数据访问控制_第3页
SQL的数据访问控制_第4页
SQL的数据访问控制_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SQL 的数据访问控制一、SQL SEVER的安全体系结构1、客户机操作系统的安全性:在使用客户计算机通过网络实现对SQL SEVER服务器的访问时,用户首先要获得客户计算机操作系统的使用权。操作系统安全性是操作系统管理员或网络管理员的任务。2、SQL SEVER的登录安全性:SQL SEVER服务器的安全,建立在控制服务器登录帐号和密码的基础上。两种登录方式,无论是使用哪种登录方式,通过登录时提供的密码和账号,决定了用户能否获得SQL SEVER访问权,并确定获得访问权限后,用户使用SQL SEVER进程时就可以拥有的权利。管理和设计合理的登录是数据库管理员(DBA)的重要任务。3、数据库的

2、使用安全性:设置访问数据库用户 4、数据库对象的使用安全性:设置对数据库对象操作权限二、SQL SERVER的安全控制1SQL SERVER的认证模式及认证模式配置SQL SERVER的认证模式有两种:“Windows only认证”模式和“混合模式”。“Windows only认证”模式只允许使用“Windows”认证机制。这时,用户不能指定SQL Server的登录账户。混合认证模式既允许使用“Windows only认证”机制,也允许使用SQL Server认证机制。当使用该种认证模式时,对于可信连接用户的连接请求,系统将采用WindowsNT/2000认证模式,而对于非可信连接则采用S

3、QL Server认证模式,采用SQL Server认证模式时,系统检查是否已经建立了该用户的登录标识以及口令,通过验证后,才可以连接到SQL Server服务器上。2服务器登录管理(1) SQL Server服务器登录管理SQL Server有2个默认的用户登录帐号:即sa和administratorsbuiltin。登录账户的信息存储在系统表master_syslogins中。sa是系统管理员的简称,是一个特殊的登录账户,拥有SQL Server系统和全部数据库中的权限。不管SQL Server实际的数据库所有权如何,sa账户被默认为是任何用户数据库的主人。所以,sa拥有作高最高的管理权限

4、,可以执行服务器范围内的所有操作。Windows NT Server/2000还有一个默认的超级管理员账户BUILTINadministrators,BUILTINadministrators账户在SQL Server系统上和全部数据库也有全部的权限。(2) 服务器帐号的添加Windows NT/2000帐户由Windows域用户管理创建/修改和删除。当使用SQL Server的混合验证时,只能使用SQL Server登录标识来管理用户连接。使用菜单建立用户帐号的步骤如下:企业管理器中单击登录的服务器中的“安全性”文件夹。 用右键单击“登录”,选择新建登录,出现新建登录对话框。在“常规”页框界

5、面下,用于指定登录帐户的名称、身份验证的方式和默认访问的数据库。在服务器角色页框界面下,用于对登录授予服务器范围内的安全特权。在服务器角色列表框中,列出了系统的固定服务器角色。 选择数据库访问页框,用于确定该帐户在SQL中对哪个数据库拥有什么样的权限。上、下两个列表框分别列出了该帐号可以访问的数据库和数据库角色。, 设置完成后,单击“确定”按钮即可完成登录帐号的创建。注意:在SQL 中增加了登录账户之后,就可以把它们映射成它们需要访问的数据库中的用户或者角色,每一个数据库中,系统表sysusers的每一行都表示是一个Windows NT用户、Windows组、SQL Server用户或者SQL

6、 Server角色。(3)用户帐号的修改使用系统存储过程sp_defaultdb、sp_defaultlanguage修改登录帐户的默认数据库和默认语言;使用系统存储过程sp_password来修改用户的密码。sp_defaultdb的调用格式为:exec sp_defaultdb 帐户名,新默认数据库名称。如:exec sp_defaultdb 'a1','pubs' ,a1帐户默认数据库为pubs数据库。 sp_password的调用格式为:exec sp_password 旧密码,新密码,帐户名如:exec sp_password 'a1'

7、,'a2','a1',将帐户名为a1的旧密码a1改为a2。(3)用户帐号删除用户帐号删除可以使用鼠标操作,也可以使用系统存储过程。系统存储过程的调用格式为:exec sp_droplogin 用户帐号。如删除存储帐号a1,命令格式为:exec sp_droplogin 'a1' 注意:在SQL Server中删除账户信息有许多限制的,例如,已经映射到数据库用户上的不允许被删除;系统账户sa不能被删除;正在使用的账户不能被删除;拥有数据库的账不能被删除等。3服务器角色管理服务器角色是指根据SQL Server的管理任务,以及这些任务相对的重要性等级

8、来把具有SQL Server管理职能的用户划分为不同的用户组,每一组所具有的管理权限都是SQL Server内置的,即不能对其进行添加、修改和删除,只能向其中加入用户或者其他角色。七种常用的固定服务器角色:系统管理员(System Administrators):拥有SQL Server所有的权限许可。服务器管理员(Sever Administrators):管理SQL Server服务器端的设置。磁盘管理员(Disk Administrators):管理磁盘文件。进程管理员(Process Administrators):管理SQL Server系统进程。安全管理员(Security Adm

9、inistrators):管理和审核SQL Server系统登录。安装管理员(Setup Administrators):增加、删除连接服务器,建立数据库复制以及管理扩展存储过程。数据库创建者(Database Creators):创建数据库,并对数据库进行修改。注意:管理员或数据库所有者在设置访问权限时,应首先建立角色,并将访问权限集中授予角色,之后将需要拥有这一权限的用户增加到角色中,这些用户即继承角色的访问权限。4数据库用户管理用户是基于数据库使用的名称,是与登录帐户相对应的。有两个默认的数据库用户帐户:dbo和guest,可对数据库添加新用户。与服务器帐户的关系:登录帐户为了访问数据库

10、,必须成为数据库用户帐户或者一个默认的用户帐户,数据库的访问权是通过影射数据库的对象与登录帐户之间的关系来实现的。(1) 用户帐号添加步骤如下:右键单击某数据库下“用户”,选择“新建数据库用户”,出现新建登录对话框。 在对话框中选择访问该数据库的帐户,指定该帐户在该数据库中的用户名称和该用户的角色等信息。(注意:只有在数据库中没有用户名称的帐户才可以选择)。另外,还可以使用系统存储过程添加数据库用户,格式为:exec sp_grantdbaccess 用户帐户名(2) 用户帐号删除使用系统存储过程:sp_revokedbaccess 用户帐户名注意:dbo是数据库的拥有者,在安装SQL Ser

11、ver的同时,就被设置到Model数据库中,而且不能被删除,所以dbo在每个数据库中都存在。dbo是数据库的最高权力拥有者,可以在数据库范围内执行一切操作。dbo永远无法从数据库中删除。dbo用户对应于创建该数据库的登录账户,所以所有系统数据库的dbo都对应于sa账户。guest用户可以是任何已经登录到SQL Server服务器的用户。所有的系统数据库除了Model数据库以外都有guest用户,而所有新建的数据库都没有这个用户,可以使用exec sp_grantdbaccess guest,为当前数据库添加guest用户。Guest用户的存在意味着所有登录到SQL Server 服务器的用户都

12、可以访问该数据库,即使他没有成为数据库的用户。5数据库角色管理数据库角色是为某一用户或某一组用户授予不同级别的管理或访问数据库以及数据库对象的权限,这些权限是数据库专有的,并且还可以使一个用户具有属于同一数据库的多个角色。SQL Server提供了两种类型的数据库角色:即固定的数据库角色和用户自定义的数据库角色。10个固定的数据库角色(也称为标准角色):public:每个数据库最基本的数据库角色,每建立新数据库帐户,系统自动会为其加入public角色。db_owner:数据库的所有者,可以对所拥有的数据库执行任何操作。db_accessadmin:可以增加或者删除数据库用户、工作组和角色。db

13、_addladmin:可以增加、删除和修改数据库中的任何对象。db_securityadmin:执行语句许可和对象许可。db_backupoperator:可以备份和恢复数据库。6许可(权限)管理 SQL Server数据库对象包括表、索引、视图、触发器、存储过程等,数据库对象的创建者即成为数据库对象的所有者。数据库对象创建完后,只有拥有者可以访问该数据库对象。任何其他用户想访问对象必须获得拥有者的许可。拥有者可以授予许可给指定的数据库用户,这种许可被称作对象许可。对表和视图,拥有者可授予INSERT、UPDATE、DELETE、SELECT和REFERENCS 许可,或者用“ALL permissions”代替前面5种许可。数据库拥有者还可授予执行某些Transact-SQL命令的许可。这种许可在SQL Server 称作命令许可。例如“CREATETALBE”或“CREATEVIES”等。这些命令本来只有特定用户如dbo可以使用。(1)授权许可授权许可的命令用Grant,具体格式参考“SQL 的联机帮助”。如:授权a1对数据表p有插入、删除和更新操作权限。grant insert,update,delete on p to a1如:授权a1有创建视图,数据表的权限。grant create view ,create table to a1(2)撤消许可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论