第14章安全管理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第14章安全管理14.1安全控制概述14.2登录帐户管理14.3数据库用户管理14.4数据库用户权限管理14.5角色14.1安全控制概述安全性问题的提出数据库安全性概念计算机系统安全性层次数据库安全控制模型SQLServer安全控制过程SQLServer用户分类问题的提出数据库的一大特点是数据可以共享数据共享必然带来数据库的安全性问题数据库系统中的数据共享不能是无条件的共享例:军事秘密、国家机密、新产品实验数据、市场需求分析、市场营销策略、销售计划、客户档案、医疗档案、银行储蓄数据数据库安全性数据库安全性概念数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。数据库系统中的数据共享必须是在DBMS统一的严格的控制之下,只允许有合法使用权限的用户访问允许他存取的数据。计算机系统安全性层次物理层:计算机系统在物理硬件上的安全性保护。操作系统层:操作系统本身提供的安全性保护措施。网络层:网络安全控制机制。数据库系统层:数据库系统应该有完善的访问控制机制,检查数据库用户的合法性以及数据库操作权限。数据层:直接对数据加密。数据库安全控制模型文件操作控制操作权控制身份验证用户数据库应用程序数据库管理系统操作系统加密存储与冗余数据库数据库安全控制数据库系统层安全性保护措施身份认证:系统内部记录着所有合法用户的标识,每次用户要求进入系统时,由系统将用户提供的身份标识与系统内部记录的合法用户标识进行核对,通过鉴定后才提供系统使用权。操作权限控制:对于通过鉴定获得系统使用权的用户(即合法用户),系统根据他的存取权限定义对他的各种操作请求进行控制确保他只执行合法操作。SQLServer安全控制过程SQLServer用户的安全验证过程一个用户如果要访问SQLServer数据库中的数据,他必须要经过三个认证过程:第一个认证过程是身份验证,这使用登录账号来标识用户,身份验证只验证用户连接到SQLServer数据库服务器的资格,即验证该用户是否具有连接到数据库服务器的“连接权”。第二个认证过程是当用户访问数据库时,他必须具有对具体数据库的访问权,即验证用户是否是数据库的合法用户。第三个认证过程是当用户操作数据库中的数据或对象时,他必须具有所要进行的数据库数据操作的操作权,即验证用户是否具有操作许可。三个安全认证过程图示数据库服务器①③②SQLServer用户分类根据用户登录层次分类根据用户操作权限分类根据用户登录层次分类分为SQLServer登录用户和数据库用户只有先成为合法的SQLServer登录用户,才有可能成为合法的数据库用户登录用户(loginuser)数据库用户(databaseuser)从用户操作权限角度分类数据库中的用户按其操作权限的大小可分为如下三类:数据库系统管理员:数据库系统管理员(在SQLServer中为sa)在数据库中具有全部的权限,当用户以系统管理员身份进行操作时,系统不对其权限进行检验。数据库对象拥有者:创建数据库对象的用户即为数据库对象拥有者。数据库对象拥有者对其所拥有的对象具有一切权限。数据库访问用户:数据库访问用户只具有对数据库数据的增、删、改、查权。14.2登录帐户管理SQLServer有三个默认的用户登录帐号sa:拥有全部系统权限和数据库权限administrators\builtin:SQLServer提供给Windows的系统管理员帐户Guest:默认的普通用户帐户系统管理员的工作建立新的登录用户修改登录密码删除登录用户SQLServer的帐户验证模式帐户验证是用来确认登录SQLServer的用户登录帐号和密码的正确性,由此来验证其是否具有连接SQLServer的权限。SQLServer提供了两种确认用户的验证模式:Windows身份验证模式仅允许授权的Windows用户访问SQLServer混合身份验证模式仅允许授权的Windows用户和非Windows用户访问SQLServer连接SQLServer服务器的过程设置登录验证模式方法在安装SQLServer时设置验证模式在企业管理器中设置验证模式在安装SQLServer时设置验证模式在企业管理器中设置验证模式验证模式选择建立新的登录帐户通过企业管理器新建登录用户利用系统存储过程sp_addlogin新建登录用户新的登录用户user1修改登录密码输入新密码确认新密码用T-SQL语句建立登录帐户CREATELOGINlogin_name{WITHoption_list1|FROMsources}sources::=WINDOWS[WITHwindows_options[,...]]option_list1::=PASSWORD='password'[,option_list2[,...]]option_list2::=SID=sid|DEFAULT_DATABASE=database|DEFAULT_LANGUAGE=languagewindows_options::=DEFAULT_DATABASE=database|DEFAULT_LANGUAGE=language2019年10月2日6时38分30示例例1.创建SQLServer身份验证的登录帐户。登录名为:SQL_User2,密码为:a1b2c3XY。CREATELOGINSQL_User2WITHPASSWORD='a1b2c3XY'2019年10月2日6时38分31示例例2.创建Windows身份验证的登录帐户。从Windows域帐户创建[HYJ\Win_User2]登录帐户。CREATELOGIN[HYJ\Win_User2]FROMWINDOWS2019年10月2日6时38分32示例例3.创建SQLServer身份验证的登录帐户。登录名为:SQL_User3,密码为:AD4h9fcdhx32MOP。要求该登录帐户首次连接服务器时必须更改密码。CREATELOGINSQL_User3WITHPASSWORD='AD4h9fcdhx32MOP'MUST_CHANGE2019年10月2日6时38分33删除登录用户删除登录帐户的T-SQL语句DROPLOGINlogin_name不能删除正在使用的登录帐户,也不能删除拥有任何数据库对象、服务器级别对象的登录帐户。例4.删除SQL_User2登录帐户。DROPLOGINSQL_User22019年10月2日6时38分3514.3数据库用户管理数据库用户管理概述数据库管理员的工作创建数据库的用户删除数据库的用户(略)数据库用户管理概述用户具有了登录账号之后,他只能连接到SQLServer服务器上,但不具有访问任何数据库的能力,只有成为了数据库的合法用户后,才能访问此数据库。数据库的用户只能来自于服务器上已有的登录账号,让登录账号成为数据库的用户就称为“映射”。一个登录账号可以映射为多个数据库中的用户。管理数据库用户的过程实际上就是建立登录账号与数据库用户之间的映射关系的过程。默认情况下,新建立的数据库只有一个用户,就是:dbo,它是数据库的拥有者。授权登录用户为数据库用户方法一:在企业管理器“安全性”中创建数据库用户方法二:在数据库“用户”对象中创建数据库用户方法三:利用系统存储过程sp_grantdbaccess创建数据库用户在“安全性”中创建数据库用户查看新建的数据库用户在数据库“用户”中创建数据库用户查看新建的数据库用户用T-SQL语句建立数据库用户CREATEUSERuser_name[{{FOR|FROM}{LOGINlogin_name}]user_name:指定在此数据库中用于识别该用户的名称。LOGINlogin_name:指定要映射为数据库用户的SQLServer登录名。如果省略FORLOGIN,则新的数据库用户将被映射到同名的SQLServer登录名。2019年10月2日6时38分45示例例5.让SQL_User2登录帐户成为students数据库中的用户,并且用户名同登录名。USEstudents;GOCREATEUSERSQL_User22019年10月2日6时38分46示例例6.本示例首先创建名为SQL_JWC且具有密码的SQLServer身份验证的服务器登录名,然后在students数据库中创建与此登录帐户对应的数据库用户JWC。CREATELOGINSQL_JWCWITHPASSWORD='jKJl3$nN09jsK84';GOUSEstudents;GOCREATEUSERJWCFORLOGINSQL_JWC;2019年10月2日6时38分4714.3.3删除数据库用户DROPUSERuser_name例7.删除SQL_User2用户。DROPUSERSQL_User22019年10月2日6时38分4814.4数据库用户权限管理权限管理概述权限种类权限管理的内容使用企业管理器管理权限使用Transact-SQL管理权限权限管理概述当用户成为数据库中的合法用户之后,他除了具有一些系统表的查询权之外,并不对数据库中的对象具有任何操作权,因此,下一步就需要为数据库中的用户授予数据库的操作权。实际上将登录账号映射为数据库用户的目的也是为了方便对用户授予数据库对象的操作权。权限种类在SQLServer2000中,权限分为对象权限、语句权限和隐含的权限三种。对象权限:对象权限是指用户对数据库中的表、视图等对象的操作权,例如是否允许查询、增加、删除和修改数据等。语句权限:这种权限专指是否允许执行下列语句:CREATETABLE、CREATEVIEW等与创建数据库对象有关的操作。隐含权限:隐含权限是指由SQLServer预定义的服务器角色、数据库角色、数据库拥有者和数据库对象拥有者所具有的权限,隐含权限相当于内置权限,不需要再明确地授予这些权限。例如,数据库拥有者自动地拥有对数据库进行一切操作的权限。对象权限ALTER:具有更改特定数据库对象属性的权限。DELETE、INSERT、UPDATE和SELECT:具有对表和视图数据进行删除、插入、更改和查询的权限,其中UPDATE和SELECT可以对表或视图的单个列进行授权。EXECUTE:具有执行存储过程的权限。REFERENCES:具有通过外键引用其他表的权限。2019年10月2日6时38分52语句权限CRAETETABLE:创建表的权限。CREATEVIEW:创建视图的权限。CREATEPROCEDURE:创建存储过程的权限。CREATEFUNCTION:创建函数的权限。2019年10月2日6时38分5314.4.2权限管理权限的管理包含如下三个内容:授予权限:允许用户或角色具有某种操作权。收回权限:不允许用户或角色具有某种操作权,或者收回曾经授予的权限。禁止权限(拒绝访问):拒绝某用户或角色具有某种操作权,既使用户或角色由于继承而获得这种操作权,也不允许执行相应的操作。管理权限可以使用企业管理器实现,也可以使用Transact-SQL语句实现。使用企业管理器管理权限使用企业管理器管理对象权限使用企业管理器管理语句权限使用企业管理器管理对象权限仓库管理数据库中的user1用户权限标记说明授予权限:若要授予用户对某个对象(表、视图、存储过程)的操作权(表和视图为:SELECT、INSERT、UPDATE、DELETE,存储过程为:EXEC),可单击相应的方框,使其中出现√标记。禁止权限:若要拒绝此用户对某个对象的操作权,可单击相应的方框,使其中出现×标记。收回权限:若要收回此用户对某个对象的操作权,可单击相应的方框,使其方框成为空的。使用企业管理器管理语句权限使用Transact-SQL语句管理权限管理权限语句在SQL语言中属于数据控制语句(DCL)。在Transact-SQL语句中,用于管理权限的语句有三个:GR

1 / 92
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功