安全性管理.pptx

上传人:lil****205 文档编号:88003883 上传时间:2023-04-19 格式:PPTX 页数:48 大小:200.03KB
返回 下载 相关 举报
安全性管理.pptx_第1页
第1页 / 共48页
安全性管理.pptx_第2页
第2页 / 共48页
点击查看更多>>
资源描述

《安全性管理.pptx》由会员分享,可在线阅读,更多相关《安全性管理.pptx(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第13章章 安全性管理安全性管理本章概述 本章的学习目标主要内容1本章概述本章概述 安全性是衡量数据安全性是衡量数据库产库产品性能的重要指品性能的重要指标标。本章介。本章介绍绍Oracle 11g数据数据库库的安全管理机制,内容包括用的安全管理机制,内容包括用户户管理,管理,权权限限管理,角色管理,数据管理,角色管理,数据库审计库审计等等。2 本章的学本章的学习习目目标标:了解用了解用户户、权权限、角色的概念及作用限、角色的概念及作用 学会学会创创立、修改、立、修改、删删除用除用户户 学会将系学会将系统权统权限和限和对对象象权权限授予用限授予用户户,以及回收,以及回收权权限限 学会使用系学会

2、使用系统预统预定定义义角色,学会角色,学会创创立自定立自定义义角色,以及角色,以及角色角色权权限的授予和回收限的授予和回收 了解数据了解数据库审计库审计的概念及作用的概念及作用3主要内容主要内容13.1 概述概述13.2 用用户户管理管理13.3 权权限管理限管理13.4 角色管理角色管理13.5数据数据库审计库审计13.6小小结结13.7习题习题4 安全性在数据安全性在数据库库管理中占据重要的位置,没有完善的安全管理中占据重要的位置,没有完善的安全机制的保机制的保护护,可能会,可能会导导致数据的泄露、致数据的泄露、损损坏或坏或丧丧失,因此安全失,因此安全性一直是数据性一直是数据库产库产品性能

3、的重要衡量指品性能的重要衡量指标标之一。之一。Oracle数据数据库库的安全管理是从用的安全管理是从用户户登登录录数据数据库库就开始的。数据就开始的。数据库访问库访问的安全的安全性主要包括两个方面的含性主要包括两个方面的含义义:一是阻止未授:一是阻止未授权权用用户访问户访问数据数据库库;二是每个数据二是每个数据库库用用户户都有不同的操作都有不同的操作权权限,用限,用户户在数据在数据库库中的中的操作将被限制在其操作将被限制在其权权限范限范围围内。内。在在Oracle数据数据库库中,用中,用户户的身份通常被划分的身份通常被划分为为数据数据库库管理管理员员和开和开发发人人员员,其中数据,其中数据库库

4、管理管理员员承担管理数据承担管理数据库库的的责责任,包括安全性管理、任,包括安全性管理、调优调优、备备份策略的制定、数据份策略的制定、数据库库出出现现故障故障时时的数据恢复、保的数据恢复、保证证数据数据库库的可用性等。的可用性等。软软件系件系统统的开的开发发人人员员作作为为数据数据库库管理管理员员之外的一之外的一类类使用者,承担使用者,承担软软件开件开发发的的职责职责,对对数据数据库库的的访问访问要求及技能掌握要求比数据要求及技能掌握要求比数据库库管理管理员员低,他低,他们们需需要熟要熟练练掌握的掌握的SQL及及PL/SQL的操作技能,能的操作技能,能够够快速及高效率地完成快速及高效率地完成对

5、对数数据据库库的操作需求,的操作需求,对调优对调优和和备备份恢复等操作通常不参与。所以,数据份恢复等操作通常不参与。所以,数据库库的的安全管理通常属于数据安全管理通常属于数据库库管理管理员员的的职责职责,DBA可以通可以通过过管理用管理用户户、角色以、角色以及及权权限来控制数据限来控制数据库库的安全。但的安全。但对对于于软软件开件开发发人人员员来来说说,掌握一些安全机,掌握一些安全机制及制及处处理方式也是有必要的。理方式也是有必要的。5主要内容主要内容13.1 概述概述13.2 用用户户管理管理13.3 权权限管理限管理13.4 角色管理角色管理13.5数据数据库审计库审计13.6小小结结13

6、.7习题习题613.2 用用户管理管理 用用户户是数据是数据库库的使用者和管理者,用的使用者和管理者,用户户管理是管理是Oracle数据数据库库安全管理的核心和基安全管理的核心和基础础。每个。每个连连接到数据接到数据库库的用的用户户都必都必须须是系是系统统的合法用的合法用户户,用,用户户要想使用要想使用Oracle的系的系统资统资源源查询查询数据、数据、创创立立表等,就必表等,就必须须要要拥拥有相有相应应的的权权限。限。Oracle数据数据库库的用的用户户管理包括管理包括创创立用立用户户、修改用、修改用户户的安全参数、的安全参数、删删除用除用户户和和查询查询用用户户信息等。信息等。713.2.

7、1 初始用初始用户户 在在创创立立Oracle数据数据库时库时会自会自动创动创立一些用立一些用户户,例如,例如SYS、SYSTEM、SCOTT等,除了等,除了SYS、SYSTEM这这两个初始合法两个初始合法的管理的管理员员,其余用,其余用户户在在创创立后立后处处于于锁锁定状定状态态,需要在安装,需要在安装时时或或者安装后者安装后对对其解其解锁锁并重新并重新设设定口令。定口令。这这些初始用些初始用户户有其自身的有其自身的职责职责和特点,和特点,软软件工程一般不建件工程一般不建议议使用使用这这些初始用些初始用户户。即。即针对针对不同的工程,不同的工程,应该应该由管理由管理员员分配不同的用分配不同的

8、用户户,在开,在开发过发过程中,程中,SCOTT用用户户可以用来可以用来测试测试数据数据库库的可用性。的可用性。l SYS:是数据:是数据库库中具有最高中具有最高权权限的数据限的数据库库管理管理员员,可以,可以启启动动、修改和关、修改和关闭闭数据数据库库,拥拥有数据字典。有数据字典。l SYSTEM:是:是辅辅助数据助数据库库管理管理员员,不能启,不能启动动和关和关闭闭数据数据库库,可以,可以进进行一些其他的管理工作,例如行一些其他的管理工作,例如创创立用立用户户、删删除用除用户户等。等。l SCOTT:数据:数据库库的的测试测试用用户户,默,默认认口令口令为为tiger。在。在该该用用户户下

9、已下已经创经创立了一些数据表,用于用立了一些数据表,用于用户户学学习习及及测试测试网网络连络连接,接,包括:包括:EMP表、表、DEPT表等。表等。813.2.2 相关属性相关属性和用和用户户相关的属性包括以下几种。相关的属性包括以下几种。1用用户户身份身份认证认证方式方式在用在用户连户连接数据接数据库时库时,必,必须经过须经过身份身份认证认证。Oracle数据数据库库用用户户有有3种身份种身份认证认证。l数据数据库库身份身份认证认证:这这种方式即用种方式即用户户名名/口令方式,用口令方式,用户户口令口令以加密方式保存在数据以加密方式保存在数据库库内部,用内部,用户连户连接数据接数据库时库时必

10、必须输须输入用入用户户名和口令,通名和口令,通过过数据数据库认证库认证后才能登后才能登录录数据数据库库。这这是默是默认认的的认证认证方式。方式。l外部身份外部身份认证认证:用:用户账户户账户由由Oracle数据数据库库管理,但口令管管理,但口令管理和身份理和身份验证验证由外部效由外部效劳劳完成,外部效完成,外部效劳劳可以是操作系可以是操作系统统或网或网络络效效劳劳。当用。当用户试图户试图建立与数据建立与数据库库的的连连接接时时,数据,数据库库不会要求用不会要求用户输户输入用入用户户名和口令,而从外部效名和口令,而从外部效劳劳中中获获取当取当前用前用户户的登的登录录信息。信息。这这种方式比种方式

11、比较较适合在局域网适合在局域网环环境下,境下,连连接接简单简单,不需要提供用,不需要提供用户户名和口令,但是需要在名和口令,但是需要在创创立用立用户时户时做一些相做一些相应应的配置。的配置。9u全局身份全局身份认证认证:当用:当用户试图户试图建立与数据建立与数据库库的的连连接接时时,Oracle使用网使用网络络中的安全管理效中的安全管理效劳劳器器Oracle Enterprise Security Manager对对用用户进户进行身份行身份认证认证。和外部身份。和外部身份认证认证相同,用相同,用户账户户账户由数据由数据库库管理,但管理,但Oracle不保存口令,当用不保存口令,当用户户登登录时

12、录时,需要通需要通过过网网络络效效劳验证劳验证。Oracle的安全管理效的安全管理效劳劳器可以提供器可以提供全局范全局范围围内管理数据内管理数据库库用用户户的功能。的功能。2表空表空间间配配额额表空表空间间配配额额限制用限制用户户在永久表空在永久表空间间中可用的存中可用的存储储空空间间大小,大小,默默认认情况下,新用情况下,新用户户在任何表空在任何表空间间中都没有任何配中都没有任何配额额。用。用户户在在临时临时表空表空间间中不需要配中不需要配额额。3默默认认表空表空间间用用户户在在创创立数据立数据库对库对象象时时,如果没有,如果没有显显示指明示指明该对该对象在哪象在哪个空个空间间,那么系,那么

13、系统统会将会将该对该对象自象自动动存存储储在用在用户户的默的默认认表空表空间间中,即中,即SYSTEM表空表空间间。一般不建。一般不建议议将用将用户户的的对对象建立在象建立在SYSTEM表空表空间间中,所以默中,所以默认认表空表空间应间应指定。指定。10 4 临时临时表空表空间间 如果用如果用户执户执行一些操作例如排序、行一些操作例如排序、汇总汇总和表和表间连间连接等,接等,系系统统会首先使用内存中的排序区会首先使用内存中的排序区SORT_AREA_SIZE,如果,如果这块这块排序区大小不排序区大小不够够,则则将使用用将使用用户户的的临时临时表空表空间间。一般使。一般使用系用系统统默默认临时认

14、临时表空表空间间TEMP作作为为用用户户的默的默认临时认临时表空表空间间。5账户账户状状态态 在在创创立用立用户时户时,可以,可以设设定用定用户户的初始状的初始状态态,包括用,包括用户户口令是否口令是否过过期、用期、用户账户户账户是否是否锁锁定等。已定等。已锁锁定的用定的用户户不能不能访访问问数据数据库库,必,必须须由管理由管理员进员进行解行解锁锁后才允后才允许访问许访问。数据。数据库库管管理理员员可以随可以随时锁时锁定定账户账户或解除或解除锁锁定。定。6资资源配置源配置 每个用每个用户户都有一个都有一个资资源配置,如果源配置,如果创创立用立用户时户时没有指没有指定,定,Oracle会会为为用

15、用户户指定默指定默认认的的资资源配置。源配置。资资源配置的作用源配置的作用是是对对数据数据库库系系统资统资源的使用加以限制,源的使用加以限制,这这些些资资源包括:口令源包括:口令是否是否过过期,口令期,口令输输入入错误错误几次后几次后锁锁定定该该用用户户,CPU时间时间,输输入入/输输出出I/O以及用以及用户户翻开的会翻开的会话话数目等。数目等。1113.2.3 创立用立用户创创立数据立数据库库用用户户的的语语法如下:法如下:CREATE USER userIDENTIFIED BY passwore|EXTERNALLYDEFAULT TABLESPACE tablespace TEMPOR

16、ARY TABLESPACE tablespaceQUOTA integer K|M|UNLIMITED ON tablespaceQUOTA integer K|M|UNLIMITED ON tablespacePASSWORD EXPIREACCOUNT LOCK|UNLOCKPROFILE profile|DEFAULT12参数说明:参数说明:user:要创立的用户名;:要创立的用户名;BY password:用户通过数据库验证方式登录,登录时:用户通过数据库验证方式登录,登录时需要提供的口令;需要提供的口令;EXTERNALLY:用户需要通过操作系统验证;:用户需要通过操作系统验证;D

17、EFAULT或或TEMPORARY TABLESPACE:为用户指定:为用户指定默认或临时表空间;默认或临时表空间;QUOTA:定义在表空间中允许用户使用的最大空间,可:定义在表空间中允许用户使用的最大空间,可将限额定义为整数字节或千字节将限额定义为整数字节或千字节/兆字节。其中关键字兆字节。其中关键字UNLIMITED用户指定用户可以使用表空间中全部可用空用户指定用户可以使用表空间中全部可用空间;间;PASSWORD EXPIRE:强制用户在使用:强制用户在使用SQL*Plus登录到登录到数据库时重置口令该选项仅在用户通过数据库进行验证数据库时重置口令该选项仅在用户通过数据库进行验证时有效;

18、时有效;ACCOUNT LOCK|UNLOCK:可用于显示锁定或解除锁:可用于显示锁定或解除锁定用户账户定用户账户UNLOCK为缺省设置;为缺省设置;PROFILE:指定用户的资源配置。:指定用户的资源配置。13【例例13-1】创创立用立用户户rose,口令,口令为为zzuli,默,默认认表空表空间为间为USERS,在,在该该表空表空间间的配的配额为额为50MB。口令。口令设设置置为过为过期状期状态态,即首次即首次连连接数据接数据库时库时需要修改口令。需要修改口令。如果在如果在SQL Plus中中创创立用立用户户成功,最后会成功,最后会显显示个示个 用用户户已已创创立。立。之之类类的,最好写的

19、,最好写在例在例题题下面,表示下面,表示这这是运行成功的代是运行成功的代码码,你,你实验实验一下,看看一下,看看创创立完立完结结果是什么,写到下面。后面的例果是什么,写到下面。后面的例题题都是都是这样这样的吧的吧SQLCREATE USER rose IDENTIFIED BY zzuli2 DEFAULT TABLESPACE USERS3 QUOTA 50M ON USERS4 PASSWORD EXPIRE;用用户户已已创创立。立。1413.2.4 修改用修改用户 用用户创户创立后,可以更改用立后,可以更改用户户的属性,如口令、默的属性,如口令、默认认表空表空间间、临时临时表空表空间间、

20、表空、表空间间配配额额、概要文件和用、概要文件和用户户状状态态等。但不允等。但不允许许修修改用改用户户的名称,除非将其的名称,除非将其删删除。除。修改数据修改数据库库用用户户使用使用ALTER USER语语句来句来实现实现,ALTER USER语语句的句的语语法格式法格式为为:ALTER USER user_name IDENTIFIEDBY PASSWORD|EXTERNALLY|GOLBALLY AS external_nameDEFAULT TABLESPACE tablespace_nameTEMPORARY TABLESPACE temp_tempspace_nameQUOTA n

21、K|M|UNLIMITED ON tablespace_namePRODEFAULT ROLE role_list|ALL EXCEPT role_list|NONEPASSWORD EXPIREACCOUNT LOCK|UNLOCK;15对对其中的参数其中的参数说说明如下。明如下。l role_list:角色列表:角色列表l ALL:表示所有角色:表示所有角色l EXCEPT role_list:表示除了:表示除了role_list列表中角色以外的列表中角色以外的其他角色。其他角色。l NONE:表示没有默:表示没有默认认角色。角色。【例【例13-2】修改用修改用户户atea的默的默认认表空

22、表空间为间为USERS,在,在该该表空表空间间的配的配额为额为100MB,在,在USERS表空表空间间的配的配额为额为30MB。命令如下:。命令如下:SQLALTER USER atea2 DEFAULT TABLESPACE USERS3 QUOTA 30M ON USERS;1613.2.5 删除用除用户 当一个用当一个用户户不再使用不再使用时时,可以将其,可以将其删删除。除。删删除用除用户户的的语语法:法:DROP USER user_name CASCADE执执行行该语该语句的用句的用户户必必须须具有具有DROP USER的系的系统权统权限。限。删删除除用用户时户时需要注意如下几点:需

23、要注意如下几点:1如果用如果用户户方案中包括任何方案中包括任何对对象,在象,在删删除用除用户时户时,必,必须须加上加上CASCADE短短语语,Oracle数据数据库库会先会先删删除除该该用用户户的所的所有有对对象,然后再象,然后再删删除除该该用用户户。2如果用如果用户户当前正与当前正与Oracle效效劳劳器器连连接,接,则则不能不能删删除。除。【例【例13-3】删删除用除用户户atea。SQLDROP USER atea;-如果如果atea用用户户的方案的方案中没有中没有对对象象 SQLDROP USER atea CASCADE;-如果如果atea用用户户的方案中有的方案中有对对象象1713

24、.2.6 查询用用户信息信息 如果要如果要获获取用取用户户信息,可以通信息,可以通过查询过查询数据字典数据字典视图视图或或动动态态性能性能视图视图来来实现实现。ALL_USERS:包含数据:包含数据库库所有用所有用户户的用的用户户名、用名、用户户ID和用和用户创户创立立时间时间。DBA_USERS:包含数据:包含数据库库所有用所有用户户的的详细详细信息。信息。USER_USERS:包含当前用:包含当前用户户的的详细详细信息。信息。DBA_TS_QUOTAS:包含所有用:包含所有用户户的表空的表空间间配配额额信息。信息。USER_TS_QUOTAS:包含当前用:包含当前用户户的表空的表空间间配配

25、额额信息。信息。V$SESSION:包含用:包含用户户会会话话信息。信息。V$OPEN_CURSOR:包含用:包含用户执户执行的行的SQL语语句信息。句信息。【例【例13-4】查查找所有用找所有用户户的默的默认认表空表空间间。查查找的找的结结果果应该应该截截图图,显显示在下面示在下面SQLSELECT user_name,default_tablespace 2 FROM dba_users;18主要内容主要内容13.1 概述概述13.2 用用户户管理管理13.3 权权限管理限管理13.4 角色管理角色管理13.5 数据数据库审计库审计13.6 小小结结13.7 习题习题19 在用在用户创户创

26、立完成后,立完成后,仅仅仅仅表示表示该该用用户户在在Oracle系系统统中中进进行了注册而已,行了注册而已,这样这样的用的用户户既不能既不能连连接到数据接到数据库库,更,更谈谈不上不上进进行行查询查询、建表等操作。要使、建表等操作。要使该该用用户户能能够连够连接到接到Oracle系系统统并能使用并能使用Oracle的的资资源,如源,如查询查询表的数据,表的数据,创创立自己的表立自己的表结结构等,必构等,必须须由具有由具有DBA角色的用角色的用户对该户对该用用户进户进行授行授权权。2013.3.1 权限概述限概述 权权限是指限是指执执行特定行特定类类型的型的SQL语语句或句或访问访问另一个用另一

27、个用户户的的对对象的象的权权利,例如:利,例如:连连接到数据接到数据库库,创创立表,立表,查询查询其他用其他用户户的表,的表,调调用其他用用其他用户户的存的存储过储过程等。程等。Oracle数据数据库库使用使用权权限来控制用限来控制用户对户对数据的数据的访问访问和用和用户户所能所能执执行的操作。用行的操作。用户户在数据在数据库库中可以中可以执执行什么行什么样样的操作,以及可以的操作,以及可以对对哪些哪些对对象象进进行操作,完全取决行操作,完全取决于于该该用用户户所所拥拥有的有的权权限。限。根据系根据系统统管理方式的不同,在管理方式的不同,在Oracle数据数据库库中将中将权权限分限分为为两大两

28、大类类,系,系统权统权限和限和对对象象权权限。限。系系统权统权限指数据限指数据库级别执库级别执行某些操作的行某些操作的权权限,即用限,即用户执户执行行某一特定的数据某一特定的数据库库操作或某操作或某类类数据数据库库操作等的操作等的权权限,例如限,例如创创立立表空表空间间,创创立会立会话话等。等。21 对对象象权权限是指限是指对对数据数据库库中的特定中的特定对对象例如表、象例如表、视图视图、序列、序列、过过程、函数或程序包的程、函数或程序包的访问访问控制,以及用控制,以及用户户可以可以在在这这些数据些数据库对库对象上象上执执行哪些操作。例如插入表行哪些操作。例如插入表记录记录,增,增加加约约束条

29、件等。束条件等。无无论论系系统权统权限限还还是是对对象象权权限,在限,在Oracle数据数据库库中,中,将将权权限授予用限授予用户户的方式有直接授的方式有直接授权权和和间间接授接授权权两种。所两种。所谓谓直接授直接授权权就是利用就是利用GRANT命令直接命令直接为为用用户户授授权权,间间接授接授权权就是先将就是先将权权限授予角色,再将角色授予用限授予角色,再将角色授予用户户。另外,已。另外,已经获经获得某种得某种权权限的用限的用户户可以将他可以将他们们的的权权限或其中一局部限或其中一局部权权限再授予其他用限再授予其他用户户。2213.3.2 系系统权限管理限管理 在在Orcale 11g 中含

30、有中含有200多种系多种系统权统权限,每种系限,每种系统权统权限都限都为为用用户户提供了提供了执执行某一种或某一行某一种或某一类类数据数据库库操作的能力,操作的能力,可以将系可以将系统权统权限授予用限授予用户户和角色。由于系和角色。由于系统权统权限可能影响限可能影响到整个数据到整个数据库库,所有授予系,所有授予系统权统权限限给给用用户时户时需要慎重。需要慎重。1授予系授予系统权统权限限 系系统统管理管理员给员给用用户户授授权时权时,应该应该考考虑虑到不同用到不同用户户的的身份。例如数据身份。例如数据库库管理管理员员用用户应该户应该具有具有创创立用立用户户、修改用、修改用户权户权限、限、创创立表

31、空立表空间间以及可以以及可以对对数据数据库库任何模式中的任何模式中的对对象象进进行管理的行管理的权权限,而数据限,而数据库库开开发发人人员应该员应该具有在自己的方具有在自己的方案中案中创创立表、立表、视图视图、过过程等的程等的权权限。另外一些普通用限。另外一些普通用户应户应该该只只赋赋予予CREATE SESSION的的权权限。限。23授予系授予系统权统权限的限的语语法:法:GRANT system_privilege|role,system_privilege|roleTO user|role|PUBLIC,user|role|PUBLIC WITH ADMIN OPTION参数参数说说明:

32、明:l system_privilege:要授予的系:要授予的系统权统权限限l user:被授予:被授予权权限的用限的用户户l role:被授予的角色名:被授予的角色名l PUBLIC:将系:将系统权统权限授予所有用限授予所有用户户l WITH ADMIN OPTION:允:允许许被授予者被授予者进进一步一步为为其他其他用用户户或角色授予或角色授予权权限或角色。当授限或角色。当授权时带权时带有有这这个子句个子句时时,用用户户才可以将才可以将获获得的系得的系统权统权限再授予其他用限再授予其他用户户,即系,即系统权统权限的限的传递传递性。性。24【例【例13-5】数据】数据库库管理管理员员授予授予

33、CREATE SESSION权权限限给给用用户户atea。SQLGRANT CREATE SESSION TO atea;2.系系统权统权限收回限收回 一般用一般用户户被授予被授予过过高的高的权权限可能会限可能会给给Oracle系系统带统带来来安全安全隐隐患。作患。作为为Oracle系系统统管理管理员员,应该应该会会查询查询当前当前Oracle系系统统中各个用中各个用户户的的权权限,并且能限,并且能够够使用使用REVOKE命令撤命令撤销销用用户户的某些不必要的系的某些不必要的系统权统权限。限。可以使用可以使用REVOKE语语句撤句撤销销系系统权统权限。限。REVOKE system_privi

34、lege|role,system_privilege|roleFROM user|role|PUBLIC,user|role|PUBLIC REVOKE语语句中的参数和句中的参数和GRANT语语句中相同。句中相同。25【例【例13-6】收回用】收回用户户atea的的CREATE SESSION权权限限SQLREVOKE CREATE SESSION FROM atea;需要需要说说明的是,如果数据明的是,如果数据库库管理管理员员使用了使用了GRANT语语句句给给用用户户A授予系授予系统权统权限限时带时带有有WITH ADMIN OPTION选项选项,则该则该用用户户A有有权权将系将系统权统权限

35、再次授予其他限再次授予其他的用的用户户B。在。在这这种情况下,如果数据种情况下,如果数据库库管理管理员员使用使用REVOKE命令撤命令撤销销A用用户户的系的系统权统权限限时时,用,用户户B的系的系统统授授权权仍然有效。仍然有效。13.3.3 对象象权限管理限管理 对象权限是一种对于特定对象表、视图、序列、过对象权限是一种对于特定对象表、视图、序列、过程、函数或程序包等执行特定操作的一种权限。数据库程、函数或程序包等执行特定操作的一种权限。数据库用户拥有对自己的对象的所有对象权限,所以对象权限的用户拥有对自己的对象的所有对象权限,所以对象权限的管理实际上即是对象所有者对其他用户操作该对象的权限管

36、理实际上即是对象所有者对其他用户操作该对象的权限管理。管理。261.授予授予对对象象权权限限授予授予对对象象权权限的限的语语法:法:GRANT object_privilege column_list,object_privilege column_list|ALL PRIVILEGESON schema.objectTO user|role|PUBLIC,user|role|PUBLIC WITH GRANT OPTION其中参数其中参数说说明如下:明如下:l object_privilege:表示要授予的:表示要授予的对对象象权权限;限;l column_list:指定表或:指定表或视图视

37、图列;列;l ALL:将所有:将所有权权限授予那些已被授予限授予那些已被授予WITH GRANT OPTION的的对对象;象;l ON object:object表示将要被授予表示将要被授予权权限的目限的目标对标对象;象;l Role:角色名;:角色名;l User:被授予的用:被授予的用户户名;名;l WITH GRANT OPTION:表示被授予者可再将:表示被授予者可再将对对象象权权限限授予其他用授予其他用户户。27【例【例13-7】将将SELECT、INSERT、DELETE授授权给权给atea用用户户。SQLGRANT SELECT,INSERT,DELETE ON emp TO a

38、tea;2.对对象象权权限回收限回收 要从用要从用户户或者角色中撤或者角色中撤销对销对象象权权限,仍然要使用限,仍然要使用REVOKE命令来完成。要撤命令来完成。要撤销对销对象象权权限,撤限,撤销销者必者必须须是将被是将被撤撤销销的的对对象象权权限的原始授予者。撤限的原始授予者。撤销对销对象象权权限的限的语语法:法:REVOKE object_privilege,object_privilege|ALL PRIVILEGESON schema.objectFROM user|role|PUBLIC,user|role|PUBLIC CASCADE CONSTRAINTS28其中参数其中参数说说

39、明如下:明如下:l object_privilege:指定将撤:指定将撤销销的的对对象象权权限;限;l ALL:撤:撤销销已授予用已授予用户户的所有的所有对对象象权权限;限;l ON:标识标识将撤将撤销销其其对对象象权权限的限的对对象;象;l FROM:标识标识将撤将撤销销其其对对象象权权限的用限的用户户或角色;或角色;l CASCADE CONSTRAINTS:删删除撤除撤销销使用使用REFERENCES或或ALL权权限定限定义义的任何引用完整性的任何引用完整性约约束限制;束限制;【例【例13-8】从】从atea用用户户撤撤销销emp对对象的所有象的所有权权限。限。SQLREVOKE ALL

40、 ON emp FROM atea;需要注意的是,如果数据需要注意的是,如果数据库库管理管理员员使用使用GRANT命令命令给给用用户户A授予授予对对象象权权限限时带时带有有WITH ADMIN OPTION选项选项,则则该该用用户户A有有权权将将权权限再次授予其他的用限再次授予其他的用户户B。在。在这这种情况下,种情况下,如果数据如果数据库库管理管理员员使用使用REVOKE命令撤命令撤销销A用用户户的的对对象象权权限限时时,用用户户B的的对对象象权权限也被撤限也被撤销销。需要注意,在。需要注意,在进进行系行系统权统权限回收限回收和和进进行行对对象象权权限回收限回收时时,效果是不一,效果是不一样

41、样的。的。2913.3.4 权限限查询 用用户户被授予的系被授予的系统权统权限或者限或者对对象象权权限都被限都被记录记录在在Oracle的的数据字典中,了解某个用数据字典中,了解某个用户户被授予哪些系被授予哪些系统权统权限和限和对对象象权权限是限是确保确保应应用系用系统统安全的重要工作。如表安全的重要工作。如表13-1所示所示为为Oracle11g用用于存放用于存放用户户、系、系统权统权限和限和对对象象权权限有关的数据字典。限有关的数据字典。【例例13-9】查询查询所有的所有的对对象象权权限。限。查查找的找的结结果果应该应该截截图图粘粘贴贴在下面在下面SQLSELECT*FROM dba_ta

42、b_privs;30主要内容主要内容13.1 概述概述13.2 用用户户管理管理13.3 权权限管理限管理13.4 角色管理角色管理13.5数据数据库审计库审计13.6小小结结13.7习题习题3113.4 角色管理角色管理 Oracle 中的中的权权限分限分类类很多,很多,设设置十分复置十分复杂杂,就系,就系统权统权限限而言,在而言,在Oracle11g中就超中就超过过了了200种,种,为为数据数据库库管理管理员员正确有正确有效地管理数据效地管理数据库权库权限限带带来了困来了困难难,而角色就是,而角色就是简简化化权权限管理的限管理的一种数据一种数据库对库对象。象。13.4.1 角色概述角色概述

43、 角色是权限管理的一种工具,是一系列权限的集合,角色角色是权限管理的一种工具,是一系列权限的集合,角色可以被授予任何用户,也可以从用户中收回。可以被授予任何用户,也可以从用户中收回。使用角色可以简化权限的管理,可以仅用一条语句就能从用使用角色可以简化权限的管理,可以仅用一条语句就能从用户那里授予或者回收许多权限,而不必对用户一一授权。使用户那里授予或者回收许多权限,而不必对用户一一授权。使用角色还可以实现权限的动态管理,比方随着应用的变化可以增角色还可以实现权限的动态管理,比方随着应用的变化可以增加或者减少角色的权限,这样通过改变角色权限,就改变了多加或者减少角色的权限,这样通过改变角色权限,

44、就改变了多个用户的权限。个用户的权限。32 角色、用角色、用户户及及权权限是一限是一组组有密切关系的有密切关系的对对象,既然角象,既然角色是一色是一组权组权限的集合,那么他被授予某个用限的集合,那么他被授予某个用户时户时才能有意才能有意义义,可以如,可以如图图13-1所示帮助我所示帮助我们们理解角色、用理解角色、用户户及及权权限的关限的关系。系。图图13-1 用用户户、角色和、角色和权权限的关系限的关系33 在复在复杂杂的大型的大型应应用系用系统统,要求,要求对应对应用系用系统统功能功能进进行分行分类类,从而形成角色的从而形成角色的雏雏形,再使用形,再使用CREATE ROLE语语句将它句将它

45、们创们创立立为为角色;最后根据用角色;最后根据用户户工作的分工,将不同的角色包括工作的分工,将不同的角色包括系系统预统预定定义义的角色授予各的角色授予各类类用用户户。如果。如果应应用系用系统统的的规规模很模很小,用小,用户户数也不多,数也不多,则则可以直接将可以直接将应应用的用的权权限授予用限授予用户户,即,即使是使是这样这样,用,用户户也必也必须对须对Oracle系系统统的的预预定定义义角色有所了解。角色有所了解。角色所角色所对应对应的的权权限集合中可以包含系限集合中可以包含系统权统权限和限和对对象象权权限。角色是可以授予另外一个角色的,需要防止将角色授予限。角色是可以授予另外一个角色的,需

46、要防止将角色授予它本身,也不能循它本身,也不能循环环授予。授予。13.4.2 创立角色立角色 如果系如果系统预统预定定义义的角色不符合用的角色不符合用户户的需要,数据的需要,数据库库管管理理员还员还可以可以创创立更多的角色。立更多的角色。创创立用立用户户自定自定义义角色使用角色使用CREATE ROLE语语句来句来实现实现。34创创立角色立角色语语句的句的语语法格式如下:法格式如下:CREATE ROLE role_name NOT IDENTIFIED IDENTIFIED BY password;对对其中的参数其中的参数说说明如下:明如下:l role_name:用于指定自定:用于指定自定

47、义义角色名称,角色名称,该该名称不能与任名称不能与任何用何用户户名或其他角色相同。名或其他角色相同。l NOT IDENTIFIED:用:用户户指定指定该该角色由数据角色由数据库库授授权权,使,使该该角色生效角色生效时时不需要口令。不需要口令。l IDENTIFIED BY password:用于:用于设设置角色生效置角色生效时时的的认认证证口令。口令。【例例13-10】创创立不立不验证验证的角色的角色doctor_clerkSQLCREATE ROLE doctor_clerk;【例例13-11】创创立使用口令立使用口令验证验证的角色的角色SQLCREATE ROLE unit_clerk

48、IDENTIFIED BY caption;【例例13-12】创创立外部立外部验证验证的角色的角色SQLCREATE ROLE unit_manager IDENTIFIED EXTERNALLY;3513.4.3 角色授角色授权权 当角色被建立后,没有任何当角色被建立后,没有任何权权限,只有限,只有对对其授予其授予权权限,才限,才有使用的意有使用的意义义。因此,在。因此,在创创立角色后,通常立角色后,通常还还需要立即需要立即为为它授它授予予权权限。可以通限。可以通过给过给用用户户授授权权的的GRANT语语句句给给角色授角色授权权,并,并将角色将角色赋赋予相予相应应的数据的数据库库用用户户。角

49、色角色权权限的授予与回收和用限的授予与回收和用户权户权限的授予与回收限的授予与回收类类似,似,语语法也法也与其相同。与其相同。【例【例13-13】为为teller角色授予角色授予CREATE SESSION 和和CREATE DATABASE LINK权权限限 SQLGRANT CREATE SESSION,CREATE DATABASE LINK to teller;对对角色授角色授权权后,就可以将角色授予某个用后,就可以将角色授予某个用户户。【例【例13-14】将】将teller角色授予用角色授予用户户wang SQLGRANT teller TO wang;3613.4.4 角色的生效角

50、色的生效/失效失效 当某角色生效当某角色生效时时,属于角色的用,属于角色的用户户可以可以执执行行该该角色所具角色所具有的所有有的所有权权限操作,而当某角色失效限操作,而当某角色失效时时,拥拥有有这这个角色的用个角色的用户户将不能将不能执执行行该该角色的任何角色的任何权权限操作。因此,通限操作。因此,通过设过设置角色置角色的生效或失效,可以的生效或失效,可以动态动态改改变变用用户户的的权权限。限。设设置角色生效或失效使用置角色生效或失效使用SET ROLE语语句,句,语语法格式法格式为为:SET ROLE role IDENTIFIED BY password,role IDENTIFIED B

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁