《Oracle数据库应用》课件7.ppt

上传人(卖家):momomo 文档编号:5818472 上传时间:2023-05-11 格式:PPT 页数:30 大小:289KB
下载 相关 举报
《Oracle数据库应用》课件7.ppt_第1页
第1页 / 共30页
《Oracle数据库应用》课件7.ppt_第2页
第2页 / 共30页
《Oracle数据库应用》课件7.ppt_第3页
第3页 / 共30页
《Oracle数据库应用》课件7.ppt_第4页
第4页 / 共30页
《Oracle数据库应用》课件7.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、第第7 7章章 数据库安全性管理数据库安全性管理Oracle 数据库安全策略数据库安全策略1权限管理权限管理2用户与角色用户与角色3概要文件概要文件47.1 Oracle7.1 Oracle数据库安全策略数据库安全策略n OracleOracle是多用户数据库关系系统,允许多个用是多用户数据库关系系统,允许多个用户共享资源,因此,它配置了良好的安全机制户共享资源,因此,它配置了良好的安全机制l1.1.建立系统级的安全保证建立系统级的安全保证系统级特权通过授予用户系统级的权利来实现系统级特权通过授予用户系统级的权利来实现l2.2.建立对象级的安全保证建立对象级的安全保证对象级特权通过授予用户对数

2、据库中的表、视图、序列等进对象级特权通过授予用户对数据库中的表、视图、序列等进行操作的权利来实现行操作的权利来实现l3.3.建立用户级的安全保证建立用户级的安全保证通过用户口令和角色机制来实现通过用户口令和角色机制来实现n OracleOracle数据库访问的身份验证数据库访问的身份验证l数据库身份验证数据库身份验证在创建用户时为其指定密码,密码以加密形式存储在数据在创建用户时为其指定密码,密码以加密形式存储在数据库中库中l外部身份验证外部身份验证操作系统认证操作系统认证w 在操作系统中创建用户组,并授予该组在操作系统中创建用户组,并授予该组DBADBA权限,然后将数权限,然后将数据库管理员用

3、户添加到该组中。据库管理员用户添加到该组中。OracleOracle提供提供2 2个特殊的用户个特殊的用户组:组:OSDBAOSDBA、OSOPEROSOPERn OracleOracle数据库用户权限分类数据库用户权限分类l系统权限系统权限允许用户执行特定的系统级操作或在特定的对象类型上执允许用户执行特定的系统级操作或在特定的对象类型上执行特定操作,如创建表空间、创建表等;行特定操作,如创建表空间、创建表等;l对象权限对象权限允许用户执行对指定对象允许用户执行对指定对象(包括表、视图、序列、过程、函包括表、视图、序列、过程、函数和包数和包)的特定操作。如将数据插入到某个表中、允许检索的特定操

4、作。如将数据插入到某个表中、允许检索某个表中数据等;某个表中数据等;列访问权限列访问权限w 限定用户只能在某个表的某些列上执行限定用户只能在某个表的某些列上执行INSERTINSERT、UPDATEUPDATE操作操作或参照引用或参照引用(REFERENCES)(REFERENCES)某些列。某些列。7.2 7.2 权限管理权限管理n 1.1.系统权限系统权限lOracleOracle数据库为了简化对系统权限的管理,创建了数据库为了简化对系统权限的管理,创建了CONNECTCONNECT、RESOURCERESOURCE和和DBADBA三个典型的特权角色。三个典型的特权角色。CONNECTCO

5、NNECT是权限最低的角色。权限如下:是权限最低的角色。权限如下:w 登录到登录到OracleOracle数据库和修改口令数据库和修改口令w 对自己的表执行查询、删除、修改和插入对自己的表执行查询、删除、修改和插入w 查询经过授权的其他用户的表和视图数据查询经过授权的其他用户的表和视图数据w 插入、修改、删除经过授权的其他用户的表插入、修改、删除经过授权的其他用户的表w 创建自己拥有的表的视图、同义词创建自己拥有的表的视图、同义词w 完成经过授权的基于表或用户的数据卸载完成经过授权的基于表或用户的数据卸载RESOURCERESOURCE除了具有除了具有CONNECTCONNECT的所有权限外,

6、还可进行下列操的所有权限外,还可进行下列操作:作:w 创建基表、视图、索引、聚簇和序列创建基表、视图、索引、聚簇和序列w 授予和回收其他用户对其数据库对象的存取特权授予和回收其他用户对其数据库对象的存取特权w 对自己拥有的表、索引、聚簇等数据库对象的存取活动进行对自己拥有的表、索引、聚簇等数据库对象的存取活动进行审计审计DBADBA是系统中的最高级别特权角色,可执行创建用户、导出是系统中的最高级别特权角色,可执行创建用户、导出系统数据等操作系统数据等操作在创建在创建OracleOracle数据库时,有两个用户被自动创建并被授予数据库时,有两个用户被自动创建并被授予DBADBA的角色。的角色。S

7、YS:SYS:权限最高的用户权限最高的用户SYSTEM:SYSTEM:用作数据库管理的用户用作数据库管理的用户普通用户可以访问用户视图普通用户可以访问用户视图USER_SYS_PRIVSUSER_SYS_PRIVS查看自己获得查看自己获得的系统特权的系统特权系统权限大多以系统权限大多以CREATECREATE、ALTERALTER、DROPDROP、SELECTSELECT、INSERTINSERT、UPDATEUPDATE、DELETEDELETE等等DDLDDL或或DMLDML语句开头,代表用户能在系统语句开头,代表用户能在系统中执行的操作中执行的操作n 2.2.对象权限对象权限l创建对象

8、的用户拥有该对象的所有对象权限,无需创建对象的用户拥有该对象的所有对象权限,无需为对象的拥有者授予对象权限为对象的拥有者授予对象权限lOracleOracle提供针对性的对象存取控制权限提供针对性的对象存取控制权限l共有共有9 9种对象权限种对象权限选择选择SELECTSELECT插入插入INSERTINSERT更新更新UPDATEUPDATE删除删除DELETEDELETE修改修改ALTERALTER索引索引INDEXINDEX参照引用参照引用REFERENCEREFERENCE运行运行EXECUTEEXECUTE读读READ/READ/写写WRITEWRITEn 表的访问权限表的访问权限l

9、SELECTSELECT:查询查询lINSERTINSERT:对表进行插入对表进行插入lUPDATEUPDATE:修改数据修改数据lDELETEDELETE:删除表数据删除表数据lALTERALTER:修改表定义修改表定义lINDEXINDEX:为表创建索引为表创建索引lREFERENCEREFERENCE:参照表中数据参照表中数据n 视图的访问权限视图的访问权限lSELECTSELECT:查询视图数据查询视图数据lINSERTINSERT:对视图进行插入对视图进行插入lUPDATEUPDATE:修改视图数据修改视图数据lDELETEDELETE:删除视图数据删除视图数据n 序列的访问权限序列

10、的访问权限lSELECTSELECT:使用序列的序列值使用序列的序列值lALTERALTER:修改序列的定义修改序列的定义n 存储过程存储过程/函数函数/包包/类型的访问权限类型的访问权限lEXECUTEEXECUTE:允许执行允许执行(或访问或访问)n 目录访问权限目录访问权限lREADREAD:允许读取目录允许读取目录lWRITEWRITE:允许在目录中创建文件、写入数据允许在目录中创建文件、写入数据n 同义词的访问权限:同其对应的对象同义词的访问权限:同其对应的对象l同义词是数据库方案对象的一个别名,经常用于简同义词是数据库方案对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。

11、化对象访问和提高对象访问的安全性。l与视图类似,同义词并不占用实际存储空间,只有与视图类似,同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义。在在数据字典中保存了同义词的定义。在OracleOracle数据数据库中的大部分数据库对象,如表、视图、同义词、库中的大部分数据库对象,如表、视图、同义词、序列、存储过程等,序列、存储过程等,DBADBA都可为它们定义同义词。都可为它们定义同义词。n 3.3.数据库系统特权的授予与回收数据库系统特权的授予与回收l授予系统特权的语法如下:授予系统特权的语法如下:GRANTGRANT system_privilege|role system_p

12、rivilege|role TOTO user|role|PUBLIC user|role|PUBLIC WITH ADMIN OPTIONWITH ADMIN OPTION;WITH ADMIN OPTIONWITH ADMIN OPTION:允许得到权限的用户将权限转授其他允许得到权限的用户将权限转授其他用户用户PUBLICPUBLIC:表示系统中所有用户表示系统中所有用户(用于简化授权用于简化授权)对不同职责用户,应授予不同权限对不同职责用户,应授予不同权限只有只有DBADBA才可以将系统特权授予某个用户才可以将系统特权授予某个用户l回收系统特权的语法如下:回收系统特权的语法如下:REV

13、OKE system_privilege|roleREVOKE system_privilege|role FROM user|role|PUBLIC;FROM user|role|PUBLIC;当系统特权使用当系统特权使用WITH ADMIN OPTIONWITH ADMIN OPTION选项传递给其他用户时选项传递给其他用户时,收回原始用户的系统特权将不会产生级联效应,收回原始用户的系统特权将不会产生级联效应(回收传递回收传递授予用户的权限授予用户的权限)系统特权应逐个用户检查和管理系统特权应逐个用户检查和管理 例:数据库系统特权的授予与回收(例:数据库系统特权的授予与回收(P100P10

14、0)n 4.4.对象特权的授予与回收对象特权的授予与回收l对象权限的授权语法如下:对象权限的授权语法如下:GRANTGRANT object_privilege|ALL(column_list)object_privilege|ALL(column_list)ONON schema.object schema.object TOTO user|role|PUBLIC user|role|PUBLIC WITH GRANT OPTIONWITH GRANT OPTION;WITH GRANT OPTIONWITH GRANT OPTION:允许得到权限的用户将权限转授其他允许得到权限的用户将权限

15、转授其他用户用户PUBLICPUBLIC:表示系统中所有用户表示系统中所有用户(用于简化授权用于简化授权)应只对确实需要该对象访问权限的用户授权应只对确实需要该对象访问权限的用户授权只授予必须的权限,有必要限制只授予必须的权限,有必要限制ALLALL的使用的使用使用对象属主名前缀标识其他用户的对象使用对象属主名前缀标识其他用户的对象 用户名用户名.对象名对象名l数据库对象权限的回收语法如下:数据库对象权限的回收语法如下:REVOKE object_privilege|ALL REVOKE object_privilege|ALL ONON schema.object schema.object

16、 FROM user|role|PUBLIC FROM user|role|PUBLIC CASCADE CONSTRAINTS;CASCADE CONSTRAINTS;CASCADE CONSTRAINTSCASCADE CONSTRAINTS表示级联删除对象上存在的参照完整表示级联删除对象上存在的参照完整性约束性约束当对象权限使用当对象权限使用WITH GRANT OPTIONWITH GRANT OPTION传递给其他用户时,收传递给其他用户时,收回原始用户的对象权限将会产生级联效应,其他用户的对回原始用户的对象权限将会产生级联效应,其他用户的对象访问权限会被一并收回。象访问权限会被一并

17、收回。例:对象访问权限授予与回收(例:对象访问权限授予与回收(P101P101)7.3 7.3 用户与角色用户与角色n 方案方案(Schema)Schema)是数据库对象是数据库对象(如表、视图、序如表、视图、序列等列等)的逻辑组织;的逻辑组织;n 一般情况下,一个应用一般情况下,一个应用(如库存管理如库存管理)对应一个对应一个方案。需要为一个应用创建一个数据库用户,方案。需要为一个应用创建一个数据库用户,并在该用户下创建该应用的各种数据库对象;并在该用户下创建该应用的各种数据库对象;n 角色是一组相关权限的集合,可简化权限的管角色是一组相关权限的集合,可简化权限的管理。理。n OracleO

18、racle系统角色系统角色l为方便管理,为方便管理,OracleOracle提供了一组预定义的系统角色提供了一组预定义的系统角色CONNECTCONNECTw 授予最终用户的基本角色,主要包括授予最终用户的基本角色,主要包括alter session,alter session,create cluster,create database linkcreate cluster,create database link等等RESOURCERESOURCEw 授予开发人员的基本角色,主要包括授予开发人员的基本角色,主要包括create cluster,create cluster,create p

19、rocedurecreate procedure等等DBADBAw 拥有所有系统级管理权限拥有所有系统级管理权限IMP_FULL_DATABASEIMP_FULL_DATABASE和和EXP_FULL_DATABASEEXP_FULL_DATABASEw 导入导入/导出数据库所需要的角色导出数据库所需要的角色DELETE_CATALOG_ROLEDELETE_CATALOG_ROLESELECT_CATALOG_ROLESELECT_CATALOG_ROLEEXECUTE_CATALOG_ROLEEXECUTE_CATALOG_ROLEl查询角色信息查询角色信息SQLSQLselect sel

20、ect*from dba_roles;from dba_roles;n OracleOracle系统用户系统用户l为方便管理,为方便管理,OracleOracle提供了一组预定义的系统用户提供了一组预定义的系统用户SYSSYSw 可以访问可以访问OracleOracle所有的数据字典的基表和视图所有的数据字典的基表和视图w 拥有拥有DBA/SYSDBA/SYSOPERDBA/SYSDBA/SYSOPER等角色或权限等角色或权限SYSTEMSYSTEMw 可以访问次一级的内部数据可以访问次一级的内部数据w 拥有普通拥有普通DBADBA角色权限角色权限SYSMANSYSMANw 数据库中用于数据库

21、中用于EMEM管理的用户管理的用户n 1.1.创建与管理用户创建与管理用户l用户管理应该考虑的问题用户管理应该考虑的问题身份验证方式身份验证方式默认表空间默认表空间临时表空间临时表空间表空间限额表空间限额资源与口令限制资源与口令限制(概要文件概要文件)账户状态账户状态操作权限等操作权限等l创建用户的操作一般由创建用户的操作一般由DBADBA完成完成l用户创建完成后不具备任何权限,也不能连数据库,用户创建完成后不具备任何权限,也不能连数据库,需需DBADBA为其授予相关权限。为其授予相关权限。l创建用户语法创建用户语法 CREATE USER user CREATE USER user IDEN

22、TIFIED BY password|EXTERNALLY IDENTIFIED BY password|EXTERNALLY DEFAULT TABLESPACE tablespace DEFAULT TABLESPACE tablespace TEMPORARY TABLESPACE tablespace TEMPORARY TABLESPACE tablespace QUOTA n K|M|UNLIMITED ON tablespace QUOTA n K|M|UNLIMITED ON tablespace PASSWORD EXPIRE PASSWORD EXPIRE ACCOUNT

23、LOCK|UNLOCK ACCOUNT LOCK|UNLOCK PROFILE profile|DEFAULT;PROFILE profile|DEFAULT;l删除用户语法删除用户语法 DROP USER user CASCADE;DROP USER user CASCADE;CASCADECASCADE表示级联删除该用户所属的方案对象表示级联删除该用户所属的方案对象l修改用户语法修改用户语法 ALTER USER user ALTER USER user IDENTIFIED BY password|EXTERNALLY IDENTIFIED BY password|EXTERNALLY

24、DEFAULT TABLESPACE tablespace DEFAULT TABLESPACE tablespace TEMPORARY TABLESPACE tablespace TEMPORARY TABLESPACE tablespace QUOTA n K|M|UNLIMITED ON tablespace QUOTA n K|M|UNLIMITED ON tablespace PASSWORD EXPIRE PASSWORD EXPIRE ACCOUNT LOCK|UNLOCK ACCOUNT LOCK|UNLOCK PROFILE profile|DEFAULT ;PROFILE

25、 profile|DEFAULT ;例:创建用户(例:创建用户(P104P104)n 3.3.角色管理角色管理l角色的使用步骤角色的使用步骤(1)(1)由由DBADBA创建角色创建角色(2)(2)为角色授予相应的系统特权和对象权限为角色授予相应的系统特权和对象权限(3)(3)将角色授予给相关的数据库用户将角色授予给相关的数据库用户l可将多个角色授予同一个可将多个角色授予同一个OracleOracle数据库用户数据库用户l创建角色语法创建角色语法 CREATE ROLE roleCREATE ROLE role NOT IDENTIFIED|IDENTIFIED NOT IDENTIFIED|I

26、DENTIFIED BY PASSWORD|EXTERNALLY;BY PASSWORD|EXTERNALLY;l修改修改角色语法角色语法 ALTER ROLE roleALTER ROLE role NOT IDENTIFIED|IDENTIFIED NOT IDENTIFIED|IDENTIFIED BY PASSWORD|EXTERNALLY;BY PASSWORD|EXTERNALLY;l删除角色语法删除角色语法 DROP ROLE role;DROP ROLE role;l角色应被授予需要的系统特权、对象权限角色应被授予需要的系统特权、对象权限例例:角色与权限授予(:角色与权限授予(

27、P106P106)7.4 7.4 概要文件概要文件(Profile)n 概要文件是一个命名的资源限制的集合,描述概要文件是一个命名的资源限制的集合,描述如何使用系统资源如何使用系统资源。主要包括两方面:主要包括两方面:l管理数据库系统资源管理数据库系统资源l管理数据库口令的使用及验证方式管理数据库口令的使用及验证方式n 对用户的资源占用和口令使用进行限制有其现对用户的资源占用和口令使用进行限制有其现实的必要性实的必要性l限制用户的连接时间和限制用户的连接时间和CPUCPU占用时间占用时间l有效防止口令被破解有效防止口令被破解n 系统提供一个默认的概要文件系统提供一个默认的概要文件(DEFAUL

28、T)DEFAULT)n 1.1.创建概要文件创建概要文件l创建概要文件的语法创建概要文件的语法 CREATE PROFILE profile LIMITCREATE PROFILE profile LIMIT SESSIONS_PER_USER|SESSIONS_PER_USER|CPU_PER_SESSION|CPU_PER_SESSION|CPU_PER_CALL|CPU_PER_CALL|CONNECT_TIME|CONNECT_TIME|;l删除概要文件删除概要文件 DROP PROFILE profile;DROP PROFILE profile;l相关系统特权相关系统特权CREAT

29、E PROFILECREATE PROFILEALTER PROFILEALTER PROFILECREATE USERCREATE USERALTER USERALTER USER例:创建概要文件(例:创建概要文件(P108P108)n 2.2.分配概要文件分配概要文件l每个用户在一个时刻只能分配一个概要文件每个用户在一个时刻只能分配一个概要文件l可在创建用户时指定该用户使用的概要文件可在创建用户时指定该用户使用的概要文件l也可修改一个用户的概要文件也可修改一个用户的概要文件 CREATE USER user IDENTIFIED BY password PROFILE CREATE USE

30、R user IDENTIFIED BY password PROFILE profile;profile;ALTER USER user PROFILE profile;ALTER USER user PROFILE profile;l初始化参数初始化参数RESOURCE_LIMITRESOURCE_LIMIT决定是否启用概要文件决定是否启用概要文件ALTER SYSTEM SET RESOURCE_LIMIT=TRUE|FALSE ALTER SYSTEM SET RESOURCE_LIMIT=TRUE|FALSE SCOPE=MEMORY|SPFILE|BOTH;SCOPE=MEMORY|SPFILE|BOTH;n OracleOracle数据库安全策略数据库安全策略n OracleOracle通过用户、角色、系统特权和对象权限通过用户、角色、系统特权和对象权限来保证系统及数据的安全来保证系统及数据的安全n 概要文件的创建与分配概要文件的创建与分配本章小结本章小结

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《Oracle数据库应用》课件7.ppt)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|