《数据库的安全管理课件.pptx》由会员分享,可在线阅读,更多相关《数据库的安全管理课件.pptx(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第14章章 数据库的安全管理数据库的安全管理教学内容1、SQL Server的安全机制2、登录账号管理3、数据库用户管理4、角色管理5、权限管理第第14章章 数据库的安全管理数据库的安全管理教学目的与要求了解SQL Server的安全机制与身份验证模式;理解登录账号与数据库用户的区别;了解服务器角色与数据库角色;掌握语句权限与对象权限的管理;第第14章章 数据库的安全管理数据库的安全管理重点身份验证模式;登录账号、数据库用户;对象权限、语句权限;难点GRANT、REVOKE、DENY1、SQL Server的安全机制的安全机制SQL Server的安全性是建立在身份验证和访问许可两种安全机制
2、上的;身份验证用来确定登录SQL Server的用户的登录账号和密码是否正确,以此来验证其是否具有连接SQL Server的权限通过身份验证并不代表其能够访问SQL Server中的数据库对象访问许可用来指定登录用户可以使用的数据库对象(如表、视图、存储过程、函数等)以及可以对这些对象执行的操作1、SQL Server的安全机制的安全机制SQL Server 的安全机制主要包括三个等级服务器级别的安全性主要通过登录账号进行控制,要想访问一个数据库服务器,必须拥有一个登录账号,登录账号可以是windows账号或组,也可以是SQLServer的登录账号;登录账号可以属于相应的服务器角色;数据库级别
3、的安全性主要通过数据库用户进行控制,要想访问一个数据库,必须拥有该数据库的一个用户,数据库用户是通过登录账号进行映射的,可以属于固定的数据库角色或自定义的数据库角色;数据对象级别的安全性通过设置数据对象的访问权限进行控制的;1、SQL Server的安全机制的安全机制SQL Server 的安全机制主要包括三个等级1、SQL Server的安全机制的安全机制两种身份验证模式两种身份验证模式:Windows身份验证和混合验证(即Windows验证或SQL Server验证)Windows身份验证使用Windows操作系统的安全机制验证用户身份,只要用户能够通过Windows用户账号验证,即可连接
4、到SQL Server而不再进行身份验证混合验证n对于可信任连接用户(由Windows验证),系统直接采用Windows的身份验证机制n否则采用SQL Server身份验证模式,用户在连接SQL Server时必须提供登录名和密码,这些登陆信息存储在系统表syslogins中,与Windows的登陆帐号无关1、SQL Server的安全机制的安全机制身份验证模式设置2、登录账号管理、登录账号管理登录账号是服务器级用户访问数据库系统的标识为了访问SQL Server系统,用户必须提供正确的登录账号,这些登录账号既可以是Windows登录账号,也可以是SQL Server登录账号,但它必须是符合标
5、识符规则的惟一名字登录账号的信息是系统信息,存储在master数据库的sysxlogins系统表中,用户如需要有关登录账号的信息可以到该表中查询2、登录账号管理、登录账号管理查看登录账号2、登录账号管理、登录账号管理-使用使用SSMS管理登录账号管理登录账号添加一个Windows NT用户或用户组例1:增加windows用户“WTQ-PCTest”2、登录账号管理、登录账号管理-使用使用SSMS管理登录账号管理登录账号添加一个Windows NT用户或用户组例1(续):增加windows用户“WTQ-PCTest”2、登录账号管理、登录账号管理-使用使用SSMS管理登录账号管理登录账号添加一个
6、Windows NT用户或用户组例1(续):增加windows用户“WTQ-PCTest”2、登录账号管理、登录账号管理-使用使用SSMS管理登录账号管理登录账号添加一个SQL Server用户例2:增加SQL Server用户,用户名sql,密码pwd2、登录账号管理、登录账号管理-使用使用SSMS管理登录账号管理登录账号添加一个SQL Server用户例2(续):增加SQL Server用户,用户名sql,密码pwd2、登录账号管理、登录账号管理-使用使用SSMS管理登录账号管理登录账号修改登录账号例3:修改登录账号“sql”的属性2、登录账号管理、登录账号管理-使用使用SSMS管理登录账
7、号管理登录账号修改登录账号例3(续):修改登录账号“sql”的属性2、登录账号管理、登录账号管理-使用使用SSMS管理登录账号管理登录账号修改登录账号例3(续):修改登录账号“sql”的属性2、登录账号管理、登录账号管理-使用使用SSMS管理登录账号管理登录账号修改登录账号例3(续):修改登录账号“sql”的属性2、登录账号管理、登录账号管理-使用使用SSMS管理登录账号管理登录账号修改登录账号例3(续):修改登录账号“sql”的属性2、登录账号管理、登录账号管理-使用使用SSMS管理登录账号管理登录账号删除登录账号例4:删除登录账号“WTQ-PCTest”2、登录账号管理、登录账号管理-使用
8、使用T-SQL命令管理登录账号命令管理登录账号添加一个Windows NT用户或用户组例5:增加windows用户“WTQ-PCTest”,默认数据库为DBS2、登录账号管理、登录账号管理-使用使用T-SQL命令管理登录账号命令管理登录账号添加一个SQL Server用户例6:增加SQL Server用户,用户名sql,密码pwd,默认数据库为DBS2、登录账号管理、登录账号管理-使用使用T-SQL命令管理登录账号命令管理登录账号修改登录账号例7:修改登录账号“sql”的属性2、登录账号管理、登录账号管理-使用使用T-SQL命令管理登录账号命令管理登录账号删除登录账号例8:删除Windows登
9、录账号“WTQ-PCTest”例9:删除SQL Server登录账号“sql”3、数据库用户管理、数据库用户管理数据库用户登录账号登录成功后,如果想要操作数据库,必须有一个数据库用户账号,然后为这个数据库用户设置某种角色,才能进行相应的操作;数据库用户可以与登录账号相同,也可以不相同;每个登录帐号在一个数据库中只能有一个用户帐号,但每个登录帐号可以在不同的数据库中各有一个用户帐号。如果在新建登录帐号过程中,指定它对某个数据库具有存取权限,则在该数据库中将自动创建一个与该登录帐号同名的用户帐号;3、数据库用户管理、数据库用户管理登录账号与数据库用户的区别一个合法的登录账号只表明该账号通过了NT认
10、证或SQL Server 认证,但不能表明其可以对数据库数据和数据对象进行某种或某些操作只有当其同时拥有了数据库用户账号后,才能够访问相应的数据库一个登录账号总是与一个或多个数据库用户账号(这些账号必须分别存在相异的数据库中)相对应,这样才可以访问数据库例如,登录账号sa 自动与每一个数据库用户dbo 相关联3、数据库用户管理、数据库用户管理创建数据库用户例10:在数据库DBS中创建数据库用户3、数据库用户管理、数据库用户管理创建数据库用户例 10(续):在数据库DBS中创建数据库用户3、数据库用户管理、数据库用户管理创建数据库用户例10(续):在数据库DBS中创建数据库用户3、数据库用户管理
11、、数据库用户管理修改数据库用户例11:修改数据库DBS中数据库用户sql3、数据库用户管理、数据库用户管理删除数据库用户例12:删除数据库DBS中数据库用户sql4、角色管理、角色管理利用角色,SQL Server 管理者可以将某些用户设置为某一角色,这样只对角色进行权限设置便可实现对所有用户权限的设置,大大减少了管理员的工作量;“角色”类似于 Microsoft Windows 操作系统中的“组”SQL Server中有两种角色固有服务器角色数据库角色固有数据库角色应用程序角色4、角色管理、角色管理-固有服务器角色固有服务器角色服务器级角色也称为“固定服务器角色”,因为用户不能删除,也不能创
12、建新的服务器级角色;服务器级角色的权限作用域为服务器范围。可以向服务器级角色中添加 SQL Server 登录名、Windows 帐户和 Windows 组。固定服务器角色的每个成员都可以向其所属角色添加其他登录名。4、角色管理、角色管理-固有服务器角色固有服务器角色4、角色管理、角色管理-固有服务器角色固有服务器角色sysadmin:可以在服务器上执行任何活动;Serveradmin:可以更改服务器范围的配置选项和关闭服务器securityadmin:可以管理登录名及其属性;processadmin:可以终止在SQL Server 实例中运行的进程setupadmin:可以添加和删除链接服务
13、器;bulkadmin:可以运行 BULK INSERT 语句;diskadmin:用于管理磁盘文件;dbcreator:可以创建、更改、删除和还原任何数据库;每个 SQL Server 登录名都属于 public 服务器角色;4、角色管理、角色管理-固有数据库角色固有数据库角色固定数据库角色是在数据库级别定义的,并且存在于每个数据库中;一个数据库角色只在其所在的数据库中有效,对其他数据库无效;可以向数据库级角色中添加任何数据库帐户和其他 SQL Server 角色;用户不能删除固有的数据库角色;4、角色管理、角色管理-固定数据库角色固定数据库角色4、角色管理、角色管理-固定数据库角色固定数据
14、库角色db_owner:可以执行数据库的所有配置和维护活动,还可以删除数据库;db_securityadmin:可以修改角色成员身份和管理权限;db_accessadmin:可以为 Windows 登录名、Windows 组和 SQL Server 登录名添加或删除数据库访问权限;db_backupoperator:可以备份数据库;db_ddladmin:可以在数据库中运行任何数据定义语言(DDL)命令db_datawriter:可以在所有用户表中添加、删除或更改数据;db_datareader:可以从所有用户表中读取所有数据;db_denydatawriter:不能添加、修改或删除数据库内用
15、户表中的任何数据;db_denydatareader:不能读取数据库内用户表中的任何数据;每个数据库用户都属于 public 数据库角色;4、角色管理、角色管理-应用程序角色应用程序角色应用程序角色是一种比较特殊的由用户定义的数据库角色如果想让某些用户只能通过特定的应用程序间接地存取数据库中的数据,而不是直接地存取数据库数据时,就应该考虑使用应用程序角色;应用程序角色默认情况下不包含任何成员,且是非活动的必须为应用程序角色设计一个密码以激活它;5、权限管理、权限管理许可(权限)用来指定授权用户可以使用的数据库对象和这些授权用户可以对这些数据库对象执行的操作;在SQL Server中包括三种类型
16、的许可:对象许可、语句许可和隐含许可;5、权限管理、权限管理-对象许可对象许可表示对特定的数据库对象,即表、视图、字段和存储过程的操作许可;它决定了能对表、视图、存储过程等执行哪些操作(如UPDATE、DELETE、INSERT、EXECUTE);如果用户想要对某一对象进行操作,其必须具有相应的操作的权限;例如,当用户要成功修改表中数据时,则前提条件是已被授予表的UPDATE 权限;5、权限管理、权限管理-对象许可对象许可例13:为数据库DBS中的用户sql授予对Student表的select、insert权限,拒绝update、delete权限5、权限管理、权限管理-语句许可语句许可指定用户
17、是否具有权限来执行某一语句,这些语句通常是一些具有管理性的操作,如创建数据库、表、存储过程等;还包括备份数据库和事务日志的权限;5、权限管理、权限管理-语句许可语句许可例14:为数据库DBS中的用户sql授予备份数据库的权限,拒绝创建表的权限5、权限管理、权限管理-隐含许可隐含许可系统自行预定义而不需要授权就有的权限,包括固定服务器角色、固定数据库角色和数据库对象所有者所拥有的权限;例如:服务器角色sysadmin的成员可以在整个服务器范围内从事任何操作,数据库拥有者db_owner被授予了对其所创建的数据库的一切权限;5、权限管理、权限管理-使用使用T-SQL语句管理权限语句管理权限GRAN
18、T 授予权限DENY 拒绝权限REVOKE 撤销权限5、权限管理、权限管理-使用使用T-SQL语句管理权限语句管理权限例15:将查询Student表的权限授予用户sql例16:将Student表全部操作权限授予用户sql例17:将SC表的查询权限授予所有用户例18:将查询Student表和修改Sname的权限授予用户sql5、权限管理、权限管理-使用使用T-SQL语句管理权限语句管理权限例19:将对SC表的插入权限授予用户sql,允许sql再将此权限授予给其他用户例20:将数据库DBS中创建表的权限授予用户sql5、权限管理、权限管理-使用使用T-SQL语句管理权限语句管理权限例21:撤销用户
19、sql对Student表中Sname列的修改权限例22:撤销所有用户对SC表的查询权限例23:撤销用户sql对SC表的插入权限,同时撤销其授予其他用户的权限5、权限管理、权限管理-使用使用T-SQL语句管理权限语句管理权限例24:拒绝用户sql对Course表的SELECT权限例25:拒绝用户sql对存储过程usp_Test的Execute权限1、有时候读书是一种巧妙地避开思考的方法。3月-233月-23Thursday,March 30,20232、阅读一切好书如同和过去最杰出的人谈话。21:34:5921:34:5921:343/30/2023 9:34:59 PM3、越是没有本领的就越加
20、自命不凡。3月-2321:34:5921:34Mar-2330-Mar-234、越是无能的人,越喜欢挑剔别人的错儿。21:34:5921:34:5921:34Thursday,March 30,20235、知人者智,自知者明。胜人者有力,自胜者强。3月-233月-2321:34:5921:34:59March 30,20236、意志坚强的人能把世界放在手中像泥块一样任意揉捏。30 三月 20239:34:59 下午21:34:593月-237、最具挑战性的挑战莫过于提升自我。三月 239:34 下午3月-2321:34March 30,20238、业余生活要有意义,不要越轨。2023/3/30
21、 21:34:5921:34:5930 March 20239、一个人即使已登上顶峰,也仍要自强不息。9:34:59 下午9:34 下午21:34:593月-2310、你要做多大的事情,就该承受多大的压力。3/30/2023 9:34:59 PM21:34:5930-3月-2311、自己要先看得起自己,别人才会看得起你。3/30/2023 9:34 PM3/30/2023 9:34 PM3月-233月-2312、这一秒不放弃,下一秒就会有希望。30-Mar-2330 March 20233月-2313、无论才能知识多么卓著,如果缺乏热情,则无异纸上画饼充饥,无补于事。Thursday,March 30,202330-Mar-233月-2314、我只是自己不放过自己而已,现在我不会再逼自己眷恋了。3月-2321:34:5930 March 202321:34谢谢大家谢谢大家