第05章安全性与用户管理(1次课)

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

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

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

资源描述

一、SQLServer的认证模式SQLServer的安全性管理教学内容:二、管理登录账户三、管理数据库的用户账户四、管理角色五、管理许可六、规划SQLServer的安全性SQLServer的安全性管理2.理解并掌握安全认证模式3.熟练掌握管理登录账户技术4.熟练掌握管理数据库用户账户技术5.熟练掌握管理角色技术6.理解登录账户和数据库用户账户的异同7.理解许可的类型,熟练掌握许可技术教学目的:1.理解数据库安全管理的概念理解数据库安全管理安全性管理是DBMS的一个重要组成部分。安全性就是确保只有授权的用户才能使用数据库中的数据和执行相应的操作。安全性管理包括两方面的内容,一是用户能否登录系统和如何登录的管理,二是用户能否使用数据库中的对象和执行相应操作的管理。MSSQLServer2000系统提供了一套完整的安全机制,包括选择认证模式和认证、登录账户管理、数据库用户账户管理、角色管理、许可管理等内容。理解数据库安全管理SQLServer的安全性机制用户客户机SQLServer服务器数据库DB数据对象操作系统安全性SQLServer登录安全性数据库安全性数据库对象安全性SQLServer的安全性是基于用户、角色、对象和权限的概念的,可以将用户加入角色,也可以为它们两个指定对象权限。一、认证模式和认证用户在使用MSSQLServer系统之前,必须通过系统的认证。认证模式就是设置系统认证的方式。1.认证模式和认证的概念2.Windows认证模式3.混合认证模式1.认证模式和认证的概念认证就是指当用户访问数据库系统时,系统对该用户帐户和口令的确认过程。认证的内容包括确认用户的帐户是否有效、能否访问系统,能访问系统中的哪些数据等。认证模式就是指系统可以选择何种认证确认用户的方式。用户必须使用一个登录账户,才能连接到SQLServer系统。SQLServer通过两种认证来确认用户的身份。这两种进程是:Windows认证、SQLServer认证1.认证模式和认证的概念Windows认证在使用SQLServer认证时,由SQLServer系统确认用户的登录账户和口令。在用户连接SQLServer系统时,必须提供SQLServer系统的登录账户和口令。在使用Windows认证时,由Windows系统确认用户的登录账户或组账户,这些Windows系统的登录账户或组账户可以直接访问SQLServer系统的数据,不必提供SQLServer的登录账户和口令。SQLServer认证1.认证模式和认证的概念认证模式就是指系统可以选择何种认证确认用户的方式。Windows认证模式只允许Windows认证。混合认证模式既允许使用Windows认证,也允许使用SQLServer认证。当SQLServer在Windows环境中运行时,系统管理员必须指定系统使用何种认证模式。可以选择的认证模式有两种:Windows认证模式、混合认证模式.2.Windows认证模式在SQLServer系统中,把网络协议TCP/IP和Namedpipes称为信任连接。在网络环境中,连接客户机和服务器的通信协议是信任连接协议,可以采用Windows认证模式。3.混合认证模式在混合认证模式下,SQLServer系统既可以采用Windows认证确认用户,也可以采用SQLServer认证确认用户。二、管理登录账户(LoginID)1.登录账户的概念2.增加登录账户为了允许用户访问SQLServer系统,必须为用户提供正确的登录账户。这些账户既可以是Windows登录账户,也可以是SQLServer登录账户。1.登录账户的概念登录账户是基于服务器使用的用户名。登录账户的信息是系统级信息,存储在master数据库的sysxlogins系统表中。SQLServer有一个默认的登录账户sa。sa是系统管理员,是一个特殊的登录帐户,在系统安装时自动生成的,它具有在SQLServer系统中全部权限,可以执行所有的操作。2.增加登录账户可以通过两种方式增加登录账户:基于Windows组或用户账户创建登录账户和创建新的SQLServer登录账户。基于Windows组或用户账户创建登录账户创建新的SQLServer登录账户三、管理数据库的用户账户(UserID)添加数据库用户账户如果用户能够登录SQLServer系统,并不表示能够使用所用的数据库,用户必须拥有数据库用户名,才能够访问数据库。每一个数据库都拥有系统表sysusers,它存储所有该数据库用户登录后所能访问该数据库的权限。用户帐户是基于数据库使用的名称,是与登录帐户相对应的。为了使登录账户可以使用某数据库,必须把他映射成数据库的用户账户。四、管理角色1.角色的概念2.固定服务器角色3.固定数据库角色4.用户自己定义的角色5.应用程序角色1.角色的概念角色提供了一种把用户汇集成一个单元,以便进行许可管理的方法。角色可以包含许多成员,这些成员都继承了角色所拥有的许可。SQLServer系统提供了用于日常管理工作的固定服务器角色和固定数据库角色,简化了对执行日程管理工作的用户的许可管理。用户还可以创建自己的数据库角色,以便管理企业中同一类员工所执行的工作权限。2.固定服务器角色固定服务器角色提供了组合服务器级的用户权限。这些角色可以在服务器上进行相应的管理工作,完全独立于具体的数据库。固定服务器角色的信息存储在master数据库的sysxlogins系统表中。2.固定服务器角色角色描述系统管理员sysadmin执行任意操作数据库创建者dbcreator创建和修改数据库磁盘管理员diskadmin管理磁盘文件进程管理员processadmin管理系统进程安全管理员securityadmin管理和审计登录账户服务器管理员serveradmin配置服务器端设置安装管理员aetupadmin安装复制块拷贝管理员bulkadkmin执行块插入操作表:固定的服务器角色2.固定服务器角色当把某个登录帐户添加到某个服务器角色时,该帐户在系统表sysxlogins中的相应行自动被修改为该角色的一个成员,并且具有与给服务器角色一致的许可。当制定某个登录帐户作为一个固定服务器成员时,应该考虑:(1)固定的服务器角色不能被增加、修改和删除。(2)某个服务器角色的任意一个成员都可以把其他登录帐户增加到该服务器角色中。3.固定数据库角色固定数据库角色提供了组合数据据库级的用户权限。固定数据库角色的信息存储在某数据库的sysusers系统表中。3.固定数据库角色角色描述Public维护全部默认的许可Db_owner执行数据库中的任何操作Db_accessadmin增加或删除数据库用户、角色Db_ddladmin增加、修改或删除数据库对象Db_securitysdmin执行语句和对象许可管理Db_backupoperator备份和恢复数据库Db_datareader检索任意表中的数据Db_datawriter增加、修改或删除所有表中的数据Db_denydatareader不能检索任意一个表中的数据Db_denydatawriter不能修改任意一个表中的数据表:固定的数据库角色3.固定数据库角色在固定数据库角色中,public角色是一个特殊的数据库角色,数据库中的每一个用户或角色都(默认)属于public角色的成员。public角色维护数据库中用户的全部默认的许可。不能将用户、角色或组添加到public角色中。在每个数据库中都有一个public角色,它不能被删除。public默认的许可:(1)执行不要求许可的语句,例如PRINT语句.(2)查看系统表的信息。(3)获得访问有guest帐户的任意数据库。3.固定数据库角色当把安全性登录帐户添加到某个固定的数据库角色中时,应该注意:(1)固定的数据库角色不能被增加、修改和删除.(2)某个固定的数据库角色的成员可以把其他数据库用户帐户增加到角色中。4.用户自己定义的角色SQLServer允许创建一个新的数据库角色。当创建新的数据库角色时,信息记录在当前数据库的sysusers系统表中。只有db_securityadmin(安全管理员-固定的服务器角色)或db_owner(固定的数据库角色)角色的成员才可以执行创建工作。5.应用程序角色前面介绍的角色是均属于标准角色,用于正常的登录帐户和数据库用户帐户管理。除此之外,还包括应用程序角色。使用应用程序角色可以限制用户只能通过制定的应用程序来执行某些操作,而不能直接执行这些操作。应用程序角色创建之后,应该为它授予一定的许可,使它具有某种权限。它是一种特殊的角色,具有一些特殊性质:(1)应用程序角色没有成员,只有运行该应用程序的用户才能激活该角色。(2)激活应用程序角色需要提供该角色的口令。(3)激活的应用程序角色覆盖了用户在当前数据库中的其他许可。5.应用程序角色应用程序角色是一种数据库专用的角色,它可以使应用程序获得数据库的访问权限,而不管应用程序的用户是谁。如:有个查找Customer表的VB程序,并且它不对用户进行鉴别,则该程序就可以使用固定的应用程序角色来访问SQLServer,任何使用该程序的人就获得了访问数据库的权限。因为使用应用程序角色无法对用户进行识别,建议不要使用应用程序角色。五、管理许可(权限管理)管理许可就是指对数据库用户帐户授予(grant)许可、收回(revoke)许可和否定(deny)许可等操作的管理,这是数据库中的数据不受侵害的重要措施,也是安全管理的重要组成部分。许可的概念和类型许可有三种类型:语句许可、对象许可和预定义许可。许可是用来授权用户可以使用数据库中的数据和执行数据库的操作。1.语句许可(语句权限)语句许可表示执行数据库操作的许可。它涉及创建数据库或创建数据库对象所要求的许可。语句许可给用户执行某些T-SQL语句的权利。只有sysadmin,db_owner,db_securityadmin角色的成员才能授予语句许可。语句许可的具体内容如下:CREATEDATABASE、CREATETABLE、CREATEVIEW、CREATEPROCEDURE、CREATEFUNCTION、CREATEINDEX、CREATERULE、CREATEDEFAULT、BACKUPDATABASE、BACKUPLOG1.语句许可(语句权限)除非有特别的理由要在单个语句级别上对权限进行管理,否则,应该使用固定数据库角色来实现对数据库管理任务进行处理,这样更为方便。2.对象许可对象许可表示对数据库特定对象的操作许可。它涉及使用数据、执行存储过程和使用函数的许可。特定的数据库对象包括表、视图、列、存储过程和用户定义的函数。Select(表、视图、列)update(表、视图、列)Delete(表、视图)insert(表、视图)References(列)execute(存储过程、用户定义的函数)对象许可类型及内容如下:3.预定义许可预定义许可是指在系统安装后,某些用户和角色不必授权就拥有的许可,也称隐含许可。这些角色包括固定的服务器角色和固定的数据库角色,这些用户包括数据库对象所有者。五、管理许可授予、收回、否定许可管理许可就是授予、否定和回收许可。许可的信息存储在系统表sysprotects中。下表描述了许可的3种状态:管理许可语句在表中的中状态描述grant正可以执行操作deny负不能执行操作和不能被角色覆盖revoke无不能执行操作,但是可以被角色覆盖

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

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

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

×
保存成功