补充5-数据库安全性_第1页
补充5-数据库安全性_第2页
补充5-数据库安全性_第3页
补充5-数据库安全性_第4页
补充5-数据库安全性_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库平安性 1、数据库平安性的定义 是指维护数据库中的各种数据,以防止因非法运用而呵斥数据的泄密和破坏。简单的说就是维护数据库以防止不合法的运用所呵斥的数据泄露。 SQL SERVER的验证方式验证方式分为: 身份验证方式和登录验证方式 内容包括:确认用户帐号能否有效;能否访问系统;能访问系统的哪些数据。 身份验证方式 身份验证是指当用户访问系统时,系统对该用户的账号和口令确实认过程。SQL SERVER能识别两种类型的身份验证方式:WINDOWS身份验证方式;SQL SERVER身份验证方式。用户和客户机在衔接SQL时,可任选其一。 1、WINDOWS身份验证方式: 用户身份由WINDOW

2、S域建立,只需能登录Windows NT/2000就可衔接SQL SERVER。2、SQL SERVER身份验证: 由SQL SERVER系统管理员定义SQL 的登录帐号和密码,用户衔接时必需提供帐号和口令。设置步骤:在“效力器/ “平安性/“登录中新建登录名;右键单击“效力器,选择“属性/“平安性标签,并设置“混合方式以设置效力登录的帐户;右键单击“效力器,选择“编辑注册,选择“SQL身份验证,并输入登录称号及密码。 登录验证机制登录验证机制指当用户登录时,SQL SERVER采用什么系统来验证用户身份。1、NT验证方式:功能:指要登录到SQL SERVER系统的用户身份由NT系统来进展验证

3、,此时无法以SQL SERVER帐号登录。特点:用户和组由WINDOWS管理及维护,数据库管理员的任务仅是管理数据库;WINDOWS具有很强的管理用户帐户的工具;可以在SQL SERVER添加用户组。 2、混合平安方式功能:指用户登录时,其身份由WINDOWS和SQL SERVER共同认证。适用对象:适宜用于外界用户访问数据库或不能登录到WINDOWS域时运用。 特点:混合方式允许非WINDOWS客户、Internet客户和混合的客户组衔接到SQL SERVER ;添加了平安性方面的选择。验证方式的设置:右键单击“效力器,选择“属性/“平安性标签,并设置适宜的验证方式 登录管理管理员可以从WI

4、NDOWS用户或用户组中创建登录帐号或者创建一个新的SQL SERVER登录帐号。登录帐号存储在主数据库的sysxlogins系统表中;在创建帐号过程中,管理员可以为每个用户指定一个默许数据库; 系统管理员帐户1、默许的系统管理员帐户,均具有SQL SERVER系统和一切数据库的全部权限:sa:特殊登录名,代表混合验证机制下SQL SERVER的系统管理员,其一直关联DBO用户。BUILTINAdministrator:是NT系统的系统管理员组。 2、主要担任:创建登录名;配置效力器;创建、删除数据库;无须思索一切权和权限,可以操作各种数据库对象;停顿、启动效力器;停顿在效力器上运转的无效过程

5、, 运用T-SQL 言语创建、查看、删除SQL SERVER登录帐户SQL 身份验证创建登录帐户格式:SP_addlogin 帐户名 ,新帐户密码,默许数据库 例:sp_addlogin abc,123,teach查看登录帐户的信息:sp_helplogins 帐户名 例:sp_helplogins abc,假设省略帐户名,那么查看一切的帐户信息 删除登录帐户:删除一个登录帐户,必需确认该登录帐户无关联的用户存在于数据库系统中,即不存在孤儿型的用户没有任何登录名与其映射。删除步骤:先删除用户:sp_revokedbaccess 用户名再删除帐户:sp_droplogin 帐户名注:不能删除系统

6、管理者sa以及当前衔接到SQL的登录。 1、创建一个名为seu,密码:12345,默许数据库为teach的SQL登录帐号。 sp_addlogin seu, 12345, teach注:此时未向该帐号授予访问teach数据库的权限因此暂不能登录SQL。2、查看该登录帐号的信息 sp_helplogins seu3、删除该帐户 sp_droplogin seu用企业管理器设置: 效力器/平安性/登录/新建登录在弹出窗口的“常规标签中:假设选择WINDOWS身份验证,那么需选择域名及域帐户假设选择SQL SERVER验证方式,那么需输入登录帐户名、密码及确认密码。单击“效力器角色:授予该登录用户效

7、力器范围内的权限;单击“数据库访问:指定该登录用户可以访问的数据库。 用户管理 用户是基于数据库的称号,是和登录帐户相关联的。 1、登录名和数据库用户名的关系:登录名是访问SQL SERVER的通行证,其本身并不能运用户访问效力器中的数据库;用户名是登录名在数据库中运用的称号,一个用户名必需和一个登录名相关联;登录帐户和数据库用户是SQL SERVER进展权限管理的两种不同的对象。一个登录帐户可与效力器上的一切数据库进展关联,产生多个数据库用户,但在一个数据库中只能拥有一个用户;而一个数据库用户只能映射到一个登录帐户。SQL SERVER允许数据库为每个用户对象分配不同的权限,为数据库用户授权

8、的过程也就是为登录对象提供对数据库的访问权限的过程。用T-SQL语句创建、查看、删除数据库用户创建步骤:1创建登录帐户;2将登录帐户映射为数据库中同名的用户。1、在当前数据库中创建用户:sp_grantdbaccess 登录名 ,当前数据库用户名 例:sp_grantdbaccess abc,abc1注:假设省略用户名,那么创建一个和登录名同名的用户名,且一个登录名在同一数据库中只能创建一个用户。2、查看数据库用户:sp_helpuser 用户名 注:省略用户名那么查看一切用户信息。3、删除数据库用户格式:sp_revokedbaccess 用户名注:该过程不能删除以下角色,用户:public

9、角色、DBO、数据库中的固定角色;master和tempdb数据库中的guest用户帐户;Windows NT组中的Windows NT用户。 例:为刚创建的seu帐号授予访问teach库的权限,即创建数据库用户,用户称号为abcdUse teachGoSp_grantdbaccess seu,abcd注:授予权限后就可利用该帐号登录SQL效力器了。用企业管理器设置数据库用户“效力器/“数据库/“目的数据库/“用户,右键菜单中选择“新建数据库用户然后在弹出窗口中进展设置。 改动数据库一切权一个数据库只能有一个数据库一切者,其不能被删除,默许情况下,sa帐户映射到库中的用户是dbo,改动一切权步

10、骤:翻开要更改一切权的数据库:更改一切权:sp_changedbowner 登录号注:假设将一切权授予某个登录时,该登录不能在数据库中已存在用户,假设存在那么先删除用户后授予一切权。例:将teach的一切权授序seu帐号:use teachGoSp_revokedbaccess abcd 先删除已有用户名gosp_changedbowner seu -授予一切权给seu帐号角色管理 1、定义:角色类似于组,普通将具有一样权限的一群用户群添加为某角色成员,然后给这个角色授予适当的权限。这样该用户群的一切用户就都具有了该角色的权限,而没有必要逐个对每一个用户去授予一样的权限 2、优点:防止大量反复

11、的任务,简化和方便对用户的管理。 3、分类: 效力器角色:是效力器级的一个对象,主要用于对登录名设置其对效力器的管理权限 数据库角色:是数据库级的一个对象,主要用于对数据库用户设置其对数据库的管理权限注:同一用户可属于多个角色。 固定效力器角色 SQL安装完成后,系统自动创建8个固定的效力器角色,对于效力器角色来说,数据库管理员只能完成以下两个操作:添加和删除效力器角色中的成员,而不能删除效力预定义的角色。 1固定效力器角色及功能:角色功能Sysadmin可以执行任何义务Securityadmin担任系统的平安管理,可以管理和审核效力器登录名Serveradmin可以配置效力器的设置Setup

12、admin可以安装、复制Processadmin可以管理SQL SERVER系统的进程Diskadmin可以管理磁盘文件Dbcreator可以创建和修正数据库bulkadmin可以执行大容量数据的插入数据操作查看固定效力器角色sp_helpsrvrole查看某个固定效力器角色的权限:sp_srvrolepermission 效力器角色 2、运用T-SQL命令管理效力器角色 将登录帐户添加到效力器角色内,使其成为该角色的成员:sp_addsrvrolemember 登录名,效力器角色名注:角色设定好后,必需重启方能生效 将某一登录者从某一效力器角色中删除,使其不再具有该角色权限sp_dropsr

13、vrolemember 登录名,效力器角色名 例:为seu登录授予固定效力器角色为sysadmin,胜利后再将其从该效力器角色删除,使其不再具有该角色权限。sp_addsrvrolemember seu,sysadmin-此时用seu重新衔接后,可执行SYSADMIN的一切功能。GoSp_dropsrvrolemember seu,sysadminGo -此时只需访问权限数据库角色数据库角色的作用域都只在其对应的数据库内,数据库角色分为固定数据库角色和自定数据库角色一固定数据库角色固定数据库角色的权限由系统固定,用户不能更改, 固定数据库角色功能Public维护默许的答应Db_owner数据库

14、属主,在特定数据库内具有全部权限Db_accessadmin可以添加、删除数据库用户和角色Db_securityadmin可以管理全部权限、对象一切权、角色和角色成员资历Db_ddladin可以添加、删除和修正数据库对象Db_backupoperator可以备份和恢复数据库Db_datareader可以从恣意表中读出数据Db_datawriter可以对恣意表插入、修正和删除数据Db_denydatareader不允许从表中读数据Db_denydatawriter不允许改动表中的数据其中PUBLIC角色是一个特殊的数据库角色,每位数据库用户都是该角色成员,主要担任维护数据库中用户的全部默许答应,

15、不能将用户和组或角色指定为PUBLIC角色。注:数据库角色在数据库级别上被定义,存在于数据库之内,存储在每个数据库sysusers表中固定角色不能被删除、修正和创建固定数据库角色可指定给其他登录帐户。 将固定数据库角色指定给其他用户格式:sp_addrolemember 固定数据库角色名,用户名将固定数据库角色指定给其他用户格式步骤:将数据库切换到需求指定角色的目的数据库中;为登录名在该数据库中添加用户;为用户指定固定数据库角色。例:为登录名seu分配固定数据库角色db_datareader第一步:为登录名在数据库中授予用户Sp_grantdbaccess seu,abcd第二步:为该用户分配

16、固定数据库角色Sp_addrolemember db_datareader,abcd将用户从固定数据库角色中删除:sp_droprolemember 固定数据库角色名,用户名 二用户自定义数据库角色 自定义数据角色当计划为某些数据库用户设置一样的权限但预定义的数据库角色不能满足所实践要求的权限时,就经过自定义新数据库角色来满足这一要求,从而使这些用户可以在数据库中实现某一特定功能。 1特点: 在同一数据数据库中用户或具有多个不同的自定义角色,可恣意组合,角色可以进展嵌套,从而实现不同级别的平安性 2分类:规范角色:经过对用户权限等级的认定而将用户划分为不同的用户组,运用户总是相对于一个或多个角

17、色,从而实现管理的平安性。一切的预定义的数据库角色或SQL管理者自定义的某一角色都是规范角色。运用角色:当想让某些用户只能经过特定的运用程序间接地存取数据库中的数据而不是直接地存取数据库数据时就应该思索运用运用角色。当某一用户运用了运用角色时,它便放弃了已被赋予的一切数据库专有权限,它所拥有的只是运用角色设置的权限。经过运用角色,能以可控制方式来限定用户的语句或对象权限。 两者的区别:运用角色不像规范角色那样具有组的含义,因此不能包含成员;当用户在数据库中激活运用角色时,必需提供密码,而规范角色并不受口令维护。 运用程序角色默许设置为未激活形状,要由其他规范角色激活后才干运用。用T-SQL言语

18、创建、删除规范角色1、创建规范角色:Sp_addrole 规范角色名2、删除规范角色:Sp_droprole 规范角色名3、将数据库用户添加至规范角色中:Sp_addrolemember 规范角色名,用户名例:为teach库创建一个名为role1的规范角色,并为帐号seu创建一个用户a1,要求将a1帐号添加至role1角色中。Use teachGoSp_addrole role1GoSp_grantdbaccess seu,a1GoSp_addrolemember role1,a1go用T-SQL言语创建、删除运用角色1、翻开数据库2、创建运用角色:Sp_addapprole 运用角色名,密码

19、3、删除规范角色:Sp_dropapprole 运用角色名4、为运用角色授予权限5、激活运用角色:Sp_setapprole 运用角色名,密码答应管理在SQL Server 中,每个对象都是用户一切的。对象的一切者由用户帐户也称数据库用户标识符标识。当创建对象时,可以访问该对象的独一用户帐户就是一切者的用户帐户。对于任何想要访问该对象的其他用户,一切者必需给该用户授予访问权限。假设一切者只想让特定的用户访问该对象,可以只给这些特定的用户授予权限。将一个登录帐户映射为数据库中的用户帐户,并将该用户帐户添加到某种数据库角色中。其实都是为了对数据库的访问权限进展设置,以便让各用户进展适宜于其任务职能

20、的操作。1、权限的种类在SQL Server 中,权限分为三类:对象权限Object Permission; 语句权限Statement Permission ;隐含权限Implied Permission 对象权限是指用户对数据库中的表、视图、存储过程等对象的操作权限,相当于数据库操作言语DML的语句权限,例如能否允许查询、添加、删除和修正数据等。对象权限的详细内容包括以下3个方面:a.对于表和视图:能否允许执行Select、Insert、Update、Delete语句。b.对于表和视图的字段:能否允许执行Select和Update语句。c.对于存储过程:能否允许执行Execute语句。 语

21、句权限 相当于数据定义言语DLL的语句权限,这种权限专指能否允许执行以下语句:Create Table Create DefaultCreate Procedure Create RuleCreate View Backup DatabaseBackup Log Create Function(Create Database)隐含权限 是指由SQL Server 预定义的效力器角色、数据库一切者dbo和数据库对象一切者dboo所拥有的权限,隐含权限相当于内置权限,并不需求明确地授予这些权限。例如,效力器角色Sysadmin的成员可在整个效力器范围内从事任何操作,数据库一切者dbo可对本数据库进

22、展任何操作 2、权限的管理在上述三种权限中,隐含权限是由系统预定义的,这类权限是不需求、也不可以进展设置的。因此,权限的设置实践上就是指对象权限和语句权限的设置。权限可由数据库一切者和角色进展管理。 权限管理的内容包括以下3个方面的内容a.授予权限Grant:即允许某个用户或角色对一个对象执行某种操作或某种语句。b.剥夺权限Revoke:即不允许某个用户或角色对一个对象执行某种操作或某种语句,或者收回曾经授予的某种权限,这与授予权限正好相反。c.回绝访问Deny:即回绝某个用户或角色访问某个对象,即使该用户或角色被授予这种权限,或者由于承继而获得这种权限,依然不允许执行相应的操作 1)运用企业

23、管理器管理数据库用户的权限a.启动企业管理器,在“树窗格中,展开该用户所在的数据库,单击“用户节点。b.在内容窗格中右击想要设置权限的用户帐户,并从弹出菜单中选择“一切义务/ 管理权限命令。c.在数据库用户权限管理对话框中,选择以下操作之一: 假设要授予用户对某个数据库对象的访问权限,请在对象列表中单击相应的方框,使其中出现 标志。 假设要剥夺用户对某个数据库对象的访问权限,请在对象列表中单击相应的方框,使该方框变成空白的。 假设要制止用户对某个数据库对象的访问权限,请在对象列表中单击相应的方框,使其中出现 标志。d. 单击“确定或“运用按钮,使所做的设置生效。2运用企业管理器管理数据库角色的

24、权限a.启动企业管理器,在“树窗格中,展开该角色所在的数据库,单击“角色节点。b.在内容窗格中右击想要设置权限的数据库角色,并从弹出菜单中选择“属性命令。c.在数据库角色属性对话框中,单击“权限按钮。d. 出现数据库角色权限管理对话框以后,在对象列表中单击适当的方框,以便授予、剥夺或制止该角色对某个数据库对象的访问权限。d. 单击“确定或“运用按钮,使所做的设置生效。 3运用T-SQL语句管理语句的权限 在T-SQL言语中,与权限管理有关的语句有以下三个: Grant语句:用于授予权限; Revoke语句:用于剥夺权限; Deny语句:用于制止权限 语法为: Grant | Deny ALL|语句称号 , n TO 用户帐户称号或角色称号 , n Revoke ALL|语句称号 , n FROM 用户帐户称号或角色称号

温馨提示

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

评论

0/150

提交评论