文档详情

第四章数据库安全性.pptx

发布:2025-04-07约5.04千字共49页下载文档
文本预览下载声明

第四章数据库安全性

第四章数据库安全性

自主存取控制方法(续)关系系统中得存取权限类型? 数据对象 操作类型模式模式 建立、修改、删除、检索 外模式建立、修改、删除、检索 内模式建立、删除、检索数据表 查找、插入、修改、删除 属性列 查找、插入、修改、删除

自主存取控制方法(续)关系系统中得存取权限(续)定义方法GRANT/REVOKE

DBMS实现数据安全性保护得过程用户或DBA把授权决定告知系统SQL得GRANT与REVOKEDBMS把授权得结果存入数据字典当用户提出操作请求时,DBMS根据授权定义进行检查,以决定就是否执行操作请求

安全性(续)谁定义?DBA与表得建立者(即表得属主)如何定义?SQL语句:GRANTREVOKE

授权GRANT语句得一般格式:GRANT权限[,权限]、、、[ON对象名]TO用户[,用户]、、、[WITHGRANTOPTION];谁定义?DBA与表得建立者(即表得属主)GRANT功能:将对指定操作对象得指定操作权限授予指定得用户。

(2)用户得权限建表(CREATETAB)得权限:属于DBADBA授予--普通用户基本表或视图得属主拥有对该表或视图得一切操作权限接受权限得用户:一个或多个具体用户PUBLIC(全体用户)

(4)WITHGRANTOPTION子句指定了WITHGRANTOPTION子句:获得某种权限得用户还可以把这种权限再授予别得用户。没有指定WITHGRANTOPTION子句:获得某种权限得用户只能使用该权限,不能传播该权限

例题例1把查询Student表权限授给用户U1GRANTSELECTONStudentTOU1;

例题(续)例2把对Student表得全部权限授予用户U2与U3GRANTALLPRIVILEGESONStudentTOU2,U3;

例题(续)例3把对表SC得查询权限授予所有用户GRANTSELECTONTABLESC TOPUBLIC;

大家学习辛苦了,还是要坚持继续保持安静

例题(续)例4把查询Student表与修改学生姓名得权限授给用户U4 GRANTUPDATE(Sname),SELECT ONTABLEStudent TOU4;

例题(续)例5把对表SC得INSERT权限授予U5用户,并允许她再将此权限授予其她用户GRANTINSERTONTABLESCTOU5WITHGRANTOPTION;

传播权限执行例5后,U5不仅拥有了对表SC得INSERT权限,还可以传播此权限:GRANTINSERTONTABLESCTOU6WITHGRANTOPTION;同样,U6还可以将此权限授予U7:GRANTINSERTONTABLESCTOU7;但U7不能再传播此权限。U5--U6--U7

SQL收回权限得功能REVOKE语句得一般格式为:REVOKE权限[,权限]、、、[ON对象类型对象名]FROM用户[,用户]、、、;功能:从指定用户那里收回对指定对象得指定权限

例题例7把用户U4修改学生学号得权限收回REVOKESelectONTABLEStudentFROMU4;UpdateStudentsetSname=Sname+’名’?UpdateStudentsetSname=’一个名’

例题(续)例8收回所有用户对表SC得查询权限REVOKESELECT ONTABLESC FROMPUBLIC;

例题(续)例9把用户U5对SC表得INSERT权限收回 REVOKEINSERT ONTABLESC FROMU5cascade;

权限得级联回收系统将收回直接或间接从U5处获得得对SC表得INSERT权限:--U5--U6--U7收回U5、U6、U7获得得对SC表得INSERT权限:--U5--U6--U7

小结:SQL灵活得授权机制DBA拥有对数据库中所有对象得所有权限,并可

显示全部
相似文档