《数据库的安全性》PPT课件.ppt
《《数据库的安全性》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数据库的安全性》PPT课件.ppt(35页珍藏版)》请在装配图网上搜索。
1,数据库系统中,DBMS提供统一的数据保护功能:保证数据的正确、一致数据的完整性防范对象:不合语义的、不正确的数据保证数据的安全可靠数据的安全性防范对象:非法用户和非法操作,Page2,第8章数据库的安全性,3,1、用户管理2、角色划分3、权限管理4、数据的导入/导出和备份,4,1.SQLServer的安全机制,网络,登录,登录,用户,数据库服务器,学生库,教师库,财务库,表1,表2,表3,表4,是否可以操作数据库?,有相应操作权限?,是合法服务器用户?,SQLServer2005的安全机制:用户访问数据库必须经过两级安全性检查,即用户身份检查、用户操作权限检查。-用户身份检查:DBMS对连接数据库服务器的用户进行身份检查;-操作权限检查:对已经连接到服务器的用户,检查其是否可以操作指定数据库及其对象,是否有相应的操作权限。,5,支持Windows身份验证模式和混合模式两种身份验证模式。Windows身份验证模式:SQLServer利用其操作系统平台的管理登录、验证用户合法性的能力,用户只需要通过Windows的身份验证,就可以连接到SQLServer,SQLServer本身不需要管理一套登录数据。混合模式:允许用户选择使用其Windows账户或其SQLServer账户登录到SQLServer系统。对于后者,SQLServer自己设置和管理SQLServer登录账户,并对登录用户进行身份验证。,(1)SQLSERVER2005的身份验证模式,说明:在安装SQLServer2005服务器时,曾要求选择身份验证模式,通常选择混合模式,同时设置了系统登录账户sa的登录密码。安装后也可随时更改身份验证模式。,6,设置SQLServer的身份认证模式,在SSMS中右击服务器,选择“属性”,修改后重新启动SQLServer才生效,7,用户登录到服务器后,对某数据库及其对象进行操作时,系统还要检查:该登录账户是否在该数据库中有数据库帐号;有无对该数据库对象相应的操作权限。,(2)SQLSERVER2005的权限验证机制,8,2.SQLServer2005系统的安全管理,包括用户管理、角色管理和权限管理三方面。,用户:分为登录用户和数据库用户。登录用户又分为Windows管理的用户和SQLServer服务器管理的用户。数据库用户:登录用户只有在相应的数据库中映射(设置)为其合法的用户,才允许访问该数据库。默认新建立的数据库都自动添加了一个由sa登录帐号映射得到的数据库用户dbo。权限:用户登录后,能对服务器、数据库及其对象执行什么样的操作,称之为用户的权限。登录用户的权限:对服务器的安装、配置、备份、文件、进程、安全性和批量数据导入等管理工作。数据库用户的权限:权限分三个层次:创建数据库对象及进行数据库备份的权限、对数据库对象的操作权限以及对指定表字段的操作权限。,9,角色:对权限的一种集中管理方式,通过角色将用户分类,同类用户统一进行权限管理,简化了用户的权限管理工作。,固定服务器角色:Sysadmin:可以在SQLServer中执行任何操作Serveradmin:可以设置服务器范围的配置选项,关闭服务器Setupadmin:可以管理链接服务器和启动过程Securityadmin:可以管理登录和CREATEDATABASE权限,可以读取错误日志和更改密码Processadmin:可以管理在SQLServer中运行的进程Dbcreator:可以创建、更改和除去数据库Diskadmin:可以管理磁盘文件Bulkadmin:可以执行BULKINSERT(大容量数据插入)语句,10,固定数据库角色:Public:每个数据库用户都属于public角色db_owner:在数据库中有全部权限db_accessadmin:可以增加或者删除数据库用户db_securityadmin:管理数据库角色和成员,并管理数据库的语句和对象权限db_ddladmin:可以添加、修改或除去数据库中的对象(运行所有DDL)db_backupoperator:可以备份和恢复数据库db_datareader:可以读取数据库内任何用户表中的所有数据db_datawriter:可以更改数据库内任何用户表中的所有数据db_denydatareader:不能读取数据库内任何用户表中的任何数据db_denydatawriter:不能更改数据库内任何用户表中的任何数据自定义数据库角色,通过在角色中添加用户成员,使其获得相应的管理和操作权限;或者在添加用户时,可以指定该用户属于哪一个角色,也会使其自动获取相应权限。,11,(1)用户管理,指添加、修改、查看、删除用户以及用户授权。包括登录用户管理和数据库用户管理。,登录用户管理1)添加登录用户Windows用户:首先在服务器操作系统中建立该用户,然后将其添加到SQLServer的登录用户中。Windwos用户的名称:计算机名称用户名SQLServer用户:在SSMS对象资源管理器中单击“新建登录名”(a)输入登录用户名称,并设置登录密码;(b)指定默认数据库;(c)选择用户的服务器角色,使其具有相应的服务器管理权限;(d)选择映射成为指定数据库的用户,同时使该数据库用户添加为指定数据库角色的成员,以获得相应操作权限。注意默认数据库必须选中。,2)查看、修改和删除登录用户右击该登录用户,选择“属性”或“删除”。,12,数据库用户管理主要指将登录用户映射为指定数据库的用户,并通过角色分配授予该数据库用户相应的操作权限。在SSMS对象资源管理器中单击展开指定数据库的安全性分支,右击“用户”,选“新建用户”(a)输入或搜索要映射的登录用户名称;(b)输入映射成的数据库用户名,一般与登录用户同名;(c)指定该用户加入的角色以及其拥有的架构(二者选择一致);(d)最后单击“确定”。同样,可以随时查看、修改、删除数据库用户。,13,(2)权限管理,权限是指用户对服务器可以执行的管理任务、对访问的数据库和对该数据库对象可以执行的相关操作。权限分三级层次管理:服务器权限、数据库权限、数据库对象权限。服务器权限:允许执行服务器管理任务,权限被定义在固定服务器角色中。在服务器属性对话框的“权限”页可以为登录用户授予权限。,14,数据库权限:允许创建、管理数据库对象。在指定数据库的属性对话框中为数据库用户授予权限。,15,数据库对象权限:对特定的数据库对象(表、视图、存储过程、函数等)的操作权限。主要有6种:SELECT:查询权限INSERT:插入数据权限UPDATE:修改权限(必须同时具有SELECT权限)DELETE:删除数据权限REFERENCE:引用对象的权限ALTER:更改对象的权限在具体的数据库对象的属性对话框中的“权限”页面中添加数据库用户,并授予他对该对象的相应操作权限。数据库的创建者可以查看、添加或删除数据,更改表定义、或控制允许其他用户对表进行操作的权限。,16,学生基本信息表的“表属性”对话框,添加数据库用户、角色,并对他授予相应权限。,17,(3)角色管理,角色是对权限的一种集中管理机制,是为了简化对用户权限管理工作而设置的一种对象。,管理服务器角色:对指定的固定服务器角色添加或删除成员。管理数据库角色:对指定的固定数据库角色添加或删除成员。,18,自定义数据库角色:,本数据库用户、角色中谁是该角色的拥有者,他可以在角色中添加或删除角色成员。,此角色拥有的架构,例如dbo,添加或删除角色成员。,19,“安全对象”页面设置该角色可以访问的对象,并进行授权。,对指定列的操作权限,添加特定的对象,如“表”,并指定具体的表,如“学生基本信息”表。,拒绝:拒绝授予该对象该权限,也防止对象通过角色成员身份继承权限;具有授予权限:可以将此权限授予其他用户。若未授予也未拒绝,则可以使用从角色继承来的权限;拒绝覆盖其他权限。,20,(1)用户管理相关命令可以使用系统存储过程添加、修改、删除登录用户和数据库用户,修改登录密码、修改默认数据库例1:将Windows用户LEEpublic映射到SQLServer登录账户。execsp_grantloginLEEpublic例2:创建SQLServer登录账户lee,密码为111111,默认数据库为“学生管理”。execsp_addloginlee,111111,学生管理例3:为登录账户lee创建数据库用户。execsp_grantdbaccesslee如果没有指定数据库用户名,则默认为与“登录名”相同。例4:删除数据库用户lee。execsp_revokedbaccesslee,3.使用SQL命令进行安全管理,21,(2)权限管理相关命令设置数据库对象权限包括:授予权限(Grant):授予用户或角色相应的对象权限。拒绝权限(Deny):可用于防止该用户或角色通过GRANT获得特定权限,包括删除以前授予用户、组或角色的权限,停用从其他角色继承的权限,确保用户、组或角色将来不继承更高级别的组或角色的权限。废除权限(Revoke):废除权限是删除已授予的权限,并不妨碍用户、组或角色从更高级别继承已授予的权限。,22,基本语法如下:GRANTALL|权限,.n(列名,.n)ON表|视图|ON表|视图(列名,.n)|ON存储过程|ON用户自定义函数TO安全账户,.nWITHGRANTOPTIONAS组|角色,在表、视图上可授予SELECT、INSERT、DELETE、UPDATE、REFERENCES权限。,数据库用户或角色,使被授权用户或角色可以将该权限再授予其他用户,授予对象权限GRANT,23,授予对象权限举例,【例1】使用GRANT语句对角色newrole授予对表“学生”的INSERT、UPDATE和DELETE的权限。GRANTINSERT,UPDATE,DELETEON学生TOnewrole【例2】使用GRANT语句授予用户Mary、John和Tom对pubs数据库的authors表的插入、修改、删除权限。USEpubsGRANTINSERT,UPDATE,DELETEONauthorsTOMary,John,Tom,24,授予对象权限举例,【例3】使用GRANT语句授予用户Log1对pubs数据库的Titles表的Title_id和Title列具有修改权限。USEPubsGRANTUPDATE(Title_id,Title)ONTitlesTOLog1也可以写成:USEPubsGRANTUPDATEONTitles(Title_id,Title)TOLog1,25,授予对象权限举例,【例4】使用GRANT语句将对Market数据库的Custumers表的SELECT、INSERT权限授予用户Zhang,并允许用户Zhang再将该权限授予其他用户或角色。USEMarketGRANTSELECT,INSERTONCustumersTOZhangWITHGRANTOPTION,26,授予对象权限举例,【例5】用户Tom将对表Table1的SELECT权限授予Role1角色,指定WITHGRANTOPTION子句。GRANTSELECTONTable1TORole1WITHGRANTOPTION设用户Jerry是Role1的成员,他要将表Table1上的SELECT权限授予用户Jack(设Jack不是Role1的成员)。相应的GRANT语句如下:GRANTSELECTONTable1TOJackASrole1因为对表Table1的WITHGRANTOPTION权限是授予Role1角色,而不是显式地授予Jerry,因此,Jerry必须用AS子句来获得role1角色的这种权限。,27,废除对象权限REVOKE,基本语法如下:REVOKEGRANTOPTIONFORALL|权限,.n(列名,.n)ON表|视图|ON表|视图(列名,.n)|ON存储过程|用户自定义函数TO|FROM安全账户,.nCASCADEAS组|角色,28,废除对象权限,参数说明:GRANTOPTIONFOR:指定要收回WITHGRANTOPTION权限。用户仍然具有指定的权限,但是不能将该权限授予其他用户。CASCADE:收回指定安全账户的权限时,也将收回由其授权的任何其他安全账户的权限。如果要收回的权限原先是通过WITHGRANTOPTION设置授予的,需指定CASCADE和GRANTOPTIONFOR子句,否则将返回一个错误。AS组|角色:说明要管理的用户从哪个角色或组继承权限。,29,废除对象权限,【例7】使用REVOKE语句废除角色newrole对“学生”表的INSERT、UPDATE和DELETE的权限。REVOKEINSERT,UPDATE,DELETEON学生TOnewrole【例8】废除用户yuan对publishers表的pub_id列的修改权限。REVOKEUPDATE(pub_id)ONpublishersFROMyuan,30,废除对象权限,【例9】CASCADE选项的作用。设管理员使用以下GRANT语句对Liu进行授权,使用户Liu具有对Sales表的SELECT权限。GRANTSELECTONSalesTOLiuWITHGRANTOPTION因此,用户Liu具有了将sales对象的SELECT权限授予其他用户的权限,于是用户Liu执行以下授权:GRANTSELECTONSalesTOGao,31,废除对象权限,这时,管理员执行以下语句可废除用户Liu的WITHGRANTOPTION权限,以及用户Gao所获得的对Sales表的SELECT权限,但Liu仍具有对Sales表的SELECT权限。REVOKEGRANTOPTIONFORSELECTONsalesFROMLiuCASCADE,32,废除对象权限,【例11】设用户Tom执行以下语句对角色Role1进行了授权:GRANTSELECTONTable1TORole1WITHGRANTOPTION用户Jerry是角色Role1中的成员,于是Jerry作为角色Role1的成员执行以下授权:GRANTSELECTONTable1TOJackASrole1现在,用户Jerry要废除用户Jack所获得的对Table1表的SELECT权限,可以使用以下语句:REVOKESELECTONTable1FROMJackASRole1,33,一般数据库系统的安全性控制措施,(1)用户标识和鉴别:用用户名或用户标识号标识用户身份,系统鉴别其是否为合法用户。(2)存取控制:确保合法用户拥有合法权限,防止未被授权用户操作数据。(3)视图机制(4)审计(5)数据加密,34,一般数据库系统的安全性控制措施,(1)用户标识和鉴别(2)存取控制(3)视图机制,可以对部分数据映射为一个“视图”,可以为不同的用户定义不同的视图,再将相应权限授予给相应用户。从而将要保密的数据对这些用户隐藏起来。例如:为计算机学院学生办人员建立一个用户user1,只允许user1操作计算机系学生信息:(1)创建计算机学院学生视图:createview学生_cs_viewasselect*from学生where所属院系=6(2)将对该视图的查询权限授予wangminggrantselecton学生_cs_viewtowangming,35,小结:数据库系统的安全性控制机制,(1)用户标识和鉴别(2)存取控制(3)视图机制,可把用户对数据库的所有操作自动记录下来放入审计日志中,DBA利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。,(4)审计(5)数据加密,- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库的安全性 数据库 安全性 PPT 课件
装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文