收藏 分销(赏)

数据库基础教程安全管理.pptx

上传人:可**** 文档编号:845835 上传时间:2024-03-29 格式:PPTX 页数:124 大小:1.77MB
下载 相关 举报
数据库基础教程安全管理.pptx_第1页
第1页 / 共124页
数据库基础教程安全管理.pptx_第2页
第2页 / 共124页
数据库基础教程安全管理.pptx_第3页
第3页 / 共124页
数据库基础教程安全管理.pptx_第4页
第4页 / 共124页
数据库基础教程安全管理.pptx_第5页
第5页 / 共124页
点击查看更多>>
资源描述

1、Oracle 10g数据库基础教程2011主要内容主要内容pOracle数据库安全性概述p用户管理 p权限管理 p角色管理p概要文件管理p审计 p利用OEM进行安全管理1Oracle 10g数据库基础教程2011本章要求本章要求p了解Oracle数据库安全机制p掌握用户管理p掌握权限管理p掌握角色管理p了解概要文件的作用及其应用p了解审计及其应用2Oracle 10g数据库基础教程201112.1 数据库安全性数据库安全性概述概述p数据库的安全性主要包括两个方面的含义:n一方面是防止一方面是防止非法用户非法用户对数据库的访问,对数据库的访问,未授权未授权的用的用户不能登录数据库;户不能登录数据

2、库;n另一方面是每个数据库用户都有另一方面是每个数据库用户都有不同的操作权限不同的操作权限,只,只能进行自己权限范围内的操作。能进行自己权限范围内的操作。pOracle数据安全控制机制 n用户管理用户管理n权限管理权限管理 n角色管理角色管理 n表空间设置和配额表空间设置和配额 n用户资源限制用户资源限制-通过概要文件通过概要文件n数据库审计数据库审计-监视和记录用户在数据库的活动监视和记录用户在数据库的活动 3Oracle 10g数据库基础教程2011pOracle数据库的安全可以分为两类:n系统安全性系统安全性p系统安全性是指在系统级控制数据库的存取和使用的机制:包括有效的用户名与口令的组

3、合、用户是否被授权可连接数据库、用户创建数据库对象时可以使用的磁盘空间大小、用户的资源限制、是否启动了数据库审计功能,以及用户可进行哪些系统操作等。n数据安全性数据安全性p数据安全性是指在对象级控制数据库的存取和使用机制,包括用户可存取的模式对象和在该对象上允许进行的操作等。4Oracle 10g数据库基础教程201112.2 用户用户管理管理p用户管理概述 p创建用户 p修改用户 p删除用户 p查询用户信息 5Oracle 10g数据库基础教程2011(1)用户管理用户管理概述概述pOracle数据库初始用户 n SYS:是数据库中具有:是数据库中具有最高权限的数据库管理员最高权限的数据库管

4、理员,可,可以以启动、修改和关闭启动、修改和关闭数据库,拥有数据库,拥有数据字典数据字典;n SYSTEM:是一个:是一个辅助的数据库管理员辅助的数据库管理员,不能不能启动和启动和关闭数据库,但可以进行其他关闭数据库,但可以进行其他一些管理一些管理工作,如工作,如创建创建用户、删除用户等。用户、删除用户等。nSCOTT:是一个用于:是一个用于测试测试网络连接的用户,其口令为网络连接的用户,其口令为TIGER。nPUBLIC:实质上是一个:实质上是一个用户组用户组,数据库中任何一个,数据库中任何一个用户都属于该组成员。要为数据库中用户都属于该组成员。要为数据库中每个用户都授予每个用户都授予某个权

5、限,只需把权限某个权限,只需把权限授予授予PUBLIC就可以就可以了。了。6Oracle 10g数据库基础教程2011p用户属性n用户身份用户身份认证方式认证方式n默认默认表空间表空间n临时临时表空间表空间n表空间表空间配额配额 n概要文件概要文件 n账户状态账户状态7Oracle 10g数据库基础教程2011n用户身份用户身份认证方式认证方式p数据库身份认证:当用户连接数据库时必须输入用户名和口令。p外部身份认证:用户的账户由Oracle数据库管理,但口令管理和身份验证由外部服务完成。外部服务可以是操作系统或网络服务。p全局身份认证:Oracle使用网络中的安全管理服务器(Oracle En

6、terprise Security Manager)对用户进行身份认证。Oracle的安全管理服务器可以提供全局范围内管理数据库用户的功能。8Oracle 10g数据库基础教程2011n默认表空间默认表空间p当用户在创建数据库对象时,如果没有显式地指明该对象在哪个表空间中存储,系统会自动将该数据库对象存储在当前用户的默认表空间中。如果没有为用户指定默认表空间,则系统将数据库的默认表空间作为用户的默认表空间。n临时表空间临时表空间 p当用户进行排序、汇总和执行连接、分组等操作时,系统首先使用内存中的排序区SORT_AREA_SIZE,如果该区域内存不够,则自动使用用户的临时表空间。在Oracle

7、 10g中,如果没有为用户指定临时表空间,则系统将数据库的默认临时表空间作为用户的临时表空间。9Oracle 10g数据库基础教程2011n表空间表空间配额配额p表空间配额限制用户在永久表空间中可以使用的存储空间的大小,默认情况下,新建用户在任何表空间中都没有任何配额。p用户在临时表空间中不需要配额。n概要文件概要文件 p每个用户都必须有一个概要文件,从会话级和调用级两个层次限制用户对数据库系统资源的使用,同时设置用户的口令管理策略。如果没有为用户指定概要文件,Oracle将为用户自动指定DEFAULT概要文件。n账户状态账户状态p在创建用户的同时,可以设定用户的初始状态,包括用户口令是否过期

8、以及账户是否锁定等。Oracle允许任何时候对帐户进行锁定或解锁。锁定账户后,用户就不能与Oracle数据库建立连接,必须对账户解锁后才允许用户访问数据库。10Oracle 10g数据库基础教程201112.2.2.创建用户创建用户p基本语法nCREATE USER user_name IDENTIFIED nBY password|EXTERNALLY|GLOBALLYn AS external_namenDEFAULT TABLESPACE tablespace_namenTEMPORARY TABLESPACE temp_tablesapce_namenQUOTA n K|M|UNLIM

9、ITED ON tablespace_namenPROFILE profile_namenPASSWORD EXPIREnACCOUNT LOCK|UNLOCK;11Oracle 10g数据库基础教程2011p参数说明nuser_name:用于设置新建用于设置新建用户名用户名,在数据库中用户名必须是在数据库中用户名必须是唯一的唯一的;nIDENTIFIED:用于指明用户身份:用于指明用户身份认证方式认证方式;nBY password:用于设置用户的数据库身份认证,其中:用于设置用户的数据库身份认证,其中password为用户为用户口令口令;nEXTERNALLY:用于设置用户的:用于设置用户的

10、外部身份认证外部身份认证;nGLOBALLY ASexternal_name:用于设置用户的:用于设置用户的全局身全局身份认证份认证,其中,其中external_name为为Oracle的安全管理服务器相的安全管理服务器相关信息关信息;nDEFAULT TABLESPACE:用于设置用户的:用于设置用户的默认表空间默认表空间,如果,如果没有指定,没有指定,Oracle将数据库默认表空间作为用户的默认表空间;将数据库默认表空间作为用户的默认表空间;12Oracle 10g数据库基础教程2011nTEMPORARY TABLESPACE:用于设置用户的:用于设置用户的临时表空间临时表空间;nQUO

11、TA:用于指定用户在特定表空间上的:用于指定用户在特定表空间上的配额配额,即用户在该表,即用户在该表空间中可以分配的最大空间;空间中可以分配的最大空间;nPROFILE:用于为用户指定:用于为用户指定概要文件概要文件,默认值为,默认值为DEFAULT,采用系统默认的概要文件;采用系统默认的概要文件;nPASSWORD EXPIRE:用于设置用户口令的初始状态为:用于设置用户口令的初始状态为过期过期,用户在首次登录数据库时必须修改口令;用户在首次登录数据库时必须修改口令;nACCOUNT LOCK:用于设置用户初始状态为:用于设置用户初始状态为锁定锁定,默认为不锁,默认为不锁定;定;nACCOU

12、NT UNLOCK:用于设置用户初始状态为:用于设置用户初始状态为不锁定或解除不锁定或解除用户的锁定状态用户的锁定状态13Oracle 10g数据库基础教程2011p注意n在创建新用户后,在创建新用户后,必须为用户授予适当的权限必须为用户授予适当的权限,用户,用户才可以进行相应的数据库操作。例如,授予用户才可以进行相应的数据库操作。例如,授予用户CREATE SESSION权限后,用户才可以连接到数据权限后,用户才可以连接到数据库。库。p创建数据库用户示例 n创建一个用户创建一个用户user3,口令口令为为user3,默认表空间为,默认表空间为USERS,在该表空间的配额为,在该表空间的配额为

13、10 MB,初始状态为,初始状态为锁定。锁定。pCREATE USER user3 IDENTIFIED BY user3 pDEFAULT TABLESPACE USERS QUOTA 10M ON USERS ACCOUNT LOCK;14Oracle 10g数据库基础教程2011查看用户scott的权限将创建视图的权限授予用户scottOracle 10g数据库基础教程2011n创建一个用户创建一个用户user4,口令为,口令为user4,默认表空间为,默认表空间为USERS,在该表空间的配额为,在该表空间的配额为10 MB。口令口令设置为设置为过期状态过期状态,即首次连接数据库时需要修

14、改口令。概要,即首次连接数据库时需要修改口令。概要文件为文件为example_profile(假设该概要文件已经创(假设该概要文件已经创建)。建)。pCREATE USER user4 IDENTIFIED BY user4 pDEFAULT TABLESPACE USERS pQUOTA 10M ON USERSpPROFILE example_profile pPASSWORD EXPIRE;16Oracle 10g数据库基础教程2011p基本语法nALTER USER user_name IDENTIFIEDnBY password|EXTERNALLY|GLOBALLY nAS ext

15、ernal_namenDEFAULT TABLESPACE tablespace_namenTEMPORARY TABLESPACE temp_tablesapce_namenQUOTA n K|M|UNLIMITED ON tablespace_namenPROFILE profile_namenDEFAULT ROLE role_list|ALL EXCEPT role_list n|NONEnPASSWORD EXPIREnACCOUNT LOCK|UNLOCK;12.2.3 修改用户修改用户17Oracle 10g数据库基础教程2011p参数说明nrole_list:角色列表;:角色列

16、表;nALL:表示所有角色;:表示所有角色;nEXCEPT role_list:表示:表示除了除了role_list列表中的角列表中的角色之外的其他角色;色之外的其他角色;nNONE:表示:表示没有默认角色没有默认角色。p注意,指定的角色必须是使用GRANT命令直接授予该用户的角色。18Oracle 10g数据库基础教程2011p修改数据库用户示例n将用户user3的口令修改为newuser3,同时将该用户解锁。pALTER USER user3 pIDENTIFIED BY newuser3 ACCOUNT UNLOCK;n修改用户user4的默认表空间为ORCLTBS1,在该表空间的配额为

17、20 MB,在USERS表空间的配额为10 MB。pALTER USER user4pDEFAULT TABLESPACE ORCLTBS1 pQUOTA 20M ON ORCLTBS1 pQUOTA 10M ON USERS;19Oracle 10g数据库基础教程2011p用户的锁定与解锁n某个用户暂时离开工作某个用户暂时离开工作 n某个用户永久离开工作某个用户永久离开工作nDBA创建的特殊用户帐户创建的特殊用户帐户p示例nALTER USER user3 ACCOUNT LOCK;nALTER USER user3 ACCOUNT UNLOCK;20Oracle 10g数据库基础教程201

18、112.2.4删除用户删除用户p基本语法nDROP USER user_name CASCADE;p步骤n先删除用户所拥有的对象先删除用户所拥有的对象n再删除用户再删除用户n将参照该用户对象的其他数据库对象标志为将参照该用户对象的其他数据库对象标志为INVALID21Oracle 10g数据库基础教程201112.2.5查询查询用户信息用户信息pALL_USERS:包含数据库所有用户的用户名、用户ID和用户创建时间。pDBA_USERS:包含数据库所有用户的详细信息。pUSER_USERS:包含当前用户的详细信息。pDBA_TS_QUOTAS:包含所有用户的表空间配额信息。pUSER_TS_Q

19、UOTAS:包含当前用户的表空间配额信息。pV$SESSION:包含用户会话信息。pV$OPEN_CURSOR:包含用户执行的SQL语句信息。22Oracle 10g数据库基础教程2011p查看数据库所有用户名及其默认表空间。nSELECT USERNAME,DEFAULT_TABLESPACE nFROM DBA_USERS;p查看数据库中各用户的登录时间、会话号。nSELECT nSID,SERIAL#,LOGON_TIME,USERNAME nFROM V$SESSION;23Oracle 10g数据库基础教程201112.3 权限权限管理管理p权限管理概述p系统权限管理p对象权限管理p

20、查询权限信息24Oracle 10g数据库基础教程201112.3.1权限管理权限管理概述概述p概念n所谓所谓权限权限就是执行特定类型就是执行特定类型SQLSQL命令命令或或访问其他访问其他用户的用户的对象的对象的权利权利。p分类n系统权限:系统权限:指在指在数据库级别数据库级别执行某种操作的权限,或执行某种操作的权限,或针对针对某一类对象某一类对象执行某种操作的权限。例如执行某种操作的权限。例如,CREATE CREATE SESSIONSESSION权限、权限、CREATE ANY TABLECREATE ANY TABLE权限。权限。n对象权限对象权限:指对某个特定的:指对某个特定的数据

21、库对象数据库对象执行某种操作执行某种操作的权限。例如的权限。例如,对特定,对特定表表的插入、删除、修改、查询的插入、删除、修改、查询的权限。的权限。25Oracle 10g数据库基础教程2011p授权方法n直接授权:利用直接授权:利用GRANT命令命令直接为用户授权。直接为用户授权。n间接授权:间接授权:先先将权限将权限授予角色授予角色,然后再将角色授予用户。,然后再将角色授予用户。26Oracle 10g数据库基础教程201112.3.2系统权限系统权限管理管理p系统权限分类p系统权限的授权 p系统权限的回收 27Oracle 10g数据库基础教程2011(1)系统权限)系统权限分类分类p一

22、类是对数据库某一类对象的操作能力,通常带有ANY关键字。例如,CREATE ANY INDEX,ALTER ANY INDEX,DROP ANY INDEX。p另一类系统权限是数据库级别的某种操作能力。例如,CREATE SESSION。28Oracle 10g数据库基础教程2011(2)系统权限的)系统权限的授权授权p语法为nGRANT sys_priv_list TO nuser_list|role_list|PUBLIC nWITH ADMIN OPTION;p参数说明:nsys_priv_list:表示系统权限列表:表示系统权限列表,以以逗号分隔逗号分隔;nuser_list:表示用户

23、列表:表示用户列表,以逗号分隔以逗号分隔;nrole_list:表示角色列表,以逗号分隔;:表示角色列表,以逗号分隔;nPUBLIC:表示对系统中:表示对系统中所有用户授权所有用户授权;nWITH ADMIN OPTION:表示允许系统权限接收:表示允许系统权限接收者再把此权限者再把此权限授予其他用户授予其他用户。29Oracle 10g数据库基础教程2011p系统权限授予时需要注意的几点:n只有只有DBA才应当拥有才应当拥有ALTER DATABASE 系统权系统权限。限。n应用程序应用程序开发者开发者一般需要拥有一般需要拥有CREATE TABLE、CREATE VIEW和和CREATE

24、INDEX等系统权限。等系统权限。n普通用户普通用户一般只具有一般只具有CREATE SESSION系统权限。系统权限。n只有授权时带有只有授权时带有WITH ADMIN OPTION子句时,子句时,用户才可以将获得的系统权限再授予其他用户,即系用户才可以将获得的系统权限再授予其他用户,即系统权限的统权限的传递性传递性。30Oracle 10g数据库基础教程2011p为PUBLIC用户组授予CREATE SESSION系统权限。nGRANT CREATE SESSION TO PUBLIC;p为用户user1授予CREATE SESSION,CREATE TABLE,CREATE INDEX系

25、统权限。nGRANT CREATE SESSION,CREATE TABLE,CREATE VIEW TO user1;p为用户user2授予CREATE SESSION,CREATE TABLE,CREATE INDEX系统权限。user2获得权限后,为用户user3授予CREATE TABLE权限。nGRANT CREATE SESSION,CREATE TABLE,nCREATE VIEW TO user2 WITH ADMIN OPTION;nCONNECT user2/user2 ORCL nGRANT CREATE TABLE TO user3;31Oracle 10g数据库基础教

26、程2011p语法为nREVOKE sys_priv_list nFROM user_list|role_list|PUBLIC;p注意事项n多个管理员多个管理员授予用户授予用户同一个系统权限同一个系统权限后,其中后,其中一个管理员一个管理员回收回收其授予该用户的系统权限时,该用户将其授予该用户的系统权限时,该用户将不再拥有不再拥有相应相应的系统权限。的系统权限。n为了为了回收用户系统权限的传递性回收用户系统权限的传递性(授权时使用了(授权时使用了WITH ADMIN OPTION子句),必须子句),必须先回收其系统权限先回收其系统权限,然,然后再授予其相应的系统权限。后再授予其相应的系统权限。

27、n如果一个用户获得的系统权限具有传递性,并且如果一个用户获得的系统权限具有传递性,并且给其他用给其他用户户授权,那么该用户系统权限授权,那么该用户系统权限被回收后被回收后,其他用户的系统,其他用户的系统权限权限并不受影响并不受影响。(3)系统权限的)系统权限的回收回收 32Oracle 10g数据库基础教程201112.3 对象权限对象权限管理管理p对象权限分类p对象权限的授权p对象权限的回收 33Oracle 10g数据库基础教程2011(1)对象权限)对象权限分类分类p在Oracle数据库中共有9种类型的对象权限,不同类型的模式对象有不同的对象权限,而有的对象并没有对象权限,只能通过系统权

28、限进行控制,如簇、索引、触发器、数据库链接等。34Oracle 10g数据库基础教程2011对 象 权 限适 合 对 象对象权限功能说明SELECT表、视图、序列查询数据操作UPDATE表、视图更新数据操作DELETE表、视图删除数据操作INSERT表、视图插入数据操作REFERENCES表在其他表中创建外键时可以引用该表EXECUTE存储过程、函数、包执行PL/SQL存储过程、函数和包READ目录读取目录ALTER表、序列修改表或序列结构INDEX表为表创建索引ALL具有对象权限的所有模式对象某个对象所有对象权限操作集合35Oracle 10g数据库基础教程2011(2)对象权限的)对象权限

29、的授权授权 p语法nGRANT obj_priv_list|ALL ON schema.objectnTO user_list|role_list WITH GRANT OPTION;p参数说明nobj_priv_list:表示对象权限列表,以:表示对象权限列表,以逗号逗号分隔;分隔;nschema.object:表示指定的模式对象,默认为当前:表示指定的模式对象,默认为当前模式中的对象;模式中的对象;nuser_list:表示用户列表,以逗号分隔;:表示用户列表,以逗号分隔;nrole_list:表示角色列表,以逗号分隔;:表示角色列表,以逗号分隔;nWITH GRANT OPTION:表示

30、允许对象权限接收者把:表示允许对象权限接收者把此对象权限授予其他用户。此对象权限授予其他用户。36Oracle 10g数据库基础教程2011p将scott模式下的emp表的SELECT,UPDATE,INSERT权限授予user1用户。nGRANT SELECT,INSERT,UPDATEnON scott.emp TO user1;p将scott模式下的emp表的SELECT,UPDATE,INSERT权限授予user2用户。user2用户再将emp表的SELECT,UPDATE权限授予user3用户。nGRANT SELECT,INSERT,UPDATE ON scott.emp TO u

31、ser2 WITH GRANT OPTION;nCONNECT user2/user2ORCLnGRANT SELECT,UPDATE ON scott.emp TO user3;37Oracle 10g数据库基础教程2011p语法nREVOKE obj_priv_list|ALL ON schema.object FROM user_list|role_list;p注意事项n多个管理员多个管理员授予用户同一个对象权限后,授予用户同一个对象权限后,其中一个管理其中一个管理员员回收回收其授予该用户的对象权限时,该用户其授予该用户的对象权限时,该用户不再拥有不再拥有相相应的对象权限。应的对象权限。

32、n为了为了回收用户对象权限的传递性回收用户对象权限的传递性(授权时使用了(授权时使用了WITH GRANT OPTION子句),必须子句),必须先回收其对象权限先回收其对象权限,然后再授予其相应的对象权限。然后再授予其相应的对象权限。n如果一个用户获得的对象权限如果一个用户获得的对象权限具有传递性具有传递性(授权时使用(授权时使用了了WITH GRANT OPTION子句),并且给其他用户子句),并且给其他用户授权,那么该用户的对象权限被授权,那么该用户的对象权限被回收后回收后,其他用户的对,其他用户的对象权限象权限也被回收也被回收。(3)对象权限的)对象权限的回收回收 38Oracle 10

33、g数据库基础教程201112.3.4查询查询权限信息权限信息nDBA_TAB_PRIVS:包含数据库所有对象的授权信息nALL_TAB_PRIVS:包含数据库所有用户和PUBLIC用户组的对象授权信息nUSER_TAB_PRIVS:包含当前用户对象的授权信息nDBA_COL_PRIVS:包含所有字段已授予的对象权限nALL_COL_PRIVS:包含所有字段已授予的对象权限信息nUSER_COL_PRIVS:包含当前用户所有字段已授予的对象权限信息。nDBA_SYS_PRIVS:包含授予用户或角色的系统权限信息nUSER_SYS_PRIVS:包含授予当前用户的系统权限信息。39Oracle 10

34、g数据库基础教程201112.4角色角色管理管理pOracle数据库角色概述 p预定义角色 p自定义角色p利用角色进行权限管理 p查询角色信息 40Oracle 10g数据库基础教程201112.4.1 Oracle数据库角色数据库角色概述概述 p角色的概念n所谓角色就是所谓角色就是一系列相关权限的集合一系列相关权限的集合41Oracle 10g数据库基础教程201112.4.2 预定义角色预定义角色p预定义角色概述n预定义角色是指在预定义角色是指在Oracle数据库创建数据库创建时由系统自动创时由系统自动创建的一些建的一些常用的角色常用的角色,这些角色已经由系统授予了,这些角色已经由系统授予

35、了相相应的权限。应的权限。nDBA可以直接利用预定义的角色可以直接利用预定义的角色为用户授权为用户授权,也可以,也可以修改预定义角色修改预定义角色的权限。的权限。nOracle数据库中有数据库中有30多个多个预定义角色。预定义角色。n可以通过数据字典视图可以通过数据字典视图DBA_ROLES查询当前数据库查询当前数据库中中所有的预定义角色所有的预定义角色,通过,通过DBA_SYS_PRIVS查询查询各个预定义角色各个预定义角色所具有的系统权限所具有的系统权限。42Oracle 10g数据库基础教程2011角 色角色具有的部分权限CONNECTCREATE DATABASE_LINK,CREAT

36、E SESSION,ALTER SESSION,CREATE TABLE,CREATE CLUSTER,CREATE SEQUENCE,CREATE SYNONYM,CREATE VIEWRESOURCECREATE CLUSTER,CREATE OPERATOR,CREATE TRIGGER,CREATE TYPE,CREATE SEQUENCE,CREATE INDEXTYPE,CREATE PROCEDURE,CREATE TABLEDBAADMINISTER DATABSE TRIGGER,ADMINISTER RESOURCE MANAGE,CREATE,CREATE ANY,ALT

37、ER,ALTER ANY,DROP,DROP ANY,EXECUTE,EXECUTE ANYEXP_FULL_DATABASEADMINISTER RESOURCE MANAGE,BACKUP ANY TABLE,EXECUTE ANY PROCEDURE,SELECT ANY TABLE,EXECUTE ANY TYPEIMP_FULL_DATABASEADMINISTER DATABSE TRIGGER,ADMINISTER RESOURCE MANAGE,CREATE ANY,ALTER ANY,DROP,DROP ANY,EXECUTE ANY43Oracle 10g数据库基础教程20

38、1112.4.3 自定义自定义角色角色p创建角色 p角色权限的授予与回收 p修改角色 p角色的生效与失效 p删除角色 44Oracle 10g数据库基础教程2011(1)创建角色创建角色 p语法为nCREATE ROLE role_name NOT IDENTIFIEDIDENTIFIED BY password;p参数说明nrole_name:用于指定自定义角色名称,该名称不:用于指定自定义角色名称,该名称不能与任何用户名或其他角色相同;能与任何用户名或其他角色相同;nNOT IDENTIFIED:用于指定该角色由数据库授权,:用于指定该角色由数据库授权,使该角色生效时使该角色生效时不需要口

39、令不需要口令;nIDENTIFIED BY password:用于设置角色生效:用于设置角色生效时的时的认证口令认证口令。45Oracle 10g数据库基础教程2011p例如,创建不同类型的角色。nCREATE ROLE high_manager_role;nCREATE ROLE middle_manager_role IDENTIFIED BY middlerole;nCREATE ROLE low_manager_role IDENTIFIED BY lowrole;46Oracle 10g数据库基础教程2011(2)角色)角色权限的授予与回收权限的授予与回收 p说明n给角色授予适当的给

40、角色授予适当的系统权限系统权限、对象权限对象权限或已有或已有角色角色。n在数据库运行过程中,可以为角色在数据库运行过程中,可以为角色增加权限增加权限,也可以,也可以回回收其权限。收其权限。n给角色授权时应该注意,一个角色可以被授予另一个角给角色授权时应该注意,一个角色可以被授予另一个角色,但色,但不能授予其本身不能授予其本身,不能产生循环授权不能产生循环授权。p 示例nGRANT CONNECT,CREATE TABLE,CREATE VIEW TO low_manager_role;nGRANT CONNECT,CREATE TABLE,CREATE VIEW TO middle_manag

41、er_role;47Oracle 10g数据库基础教程2011nGRANT CONNECT,RESOURCE,DBA TO high_manager_role;nGRANT SELECT,UPDATE,INSERT,DELETE ON scott.emp TO high_manager_role;nREVOKE CONNECT FROM low_manager_role;nREVOKE CREATE TABLE,CREATE VIEW FROM middle_manager_role;nREVOKE UPDATE,DELETE,INSERT ON scott.emp FROM high_man

42、ager_role;48Oracle 10g数据库基础教程2011(3)修改角色修改角色p概念n修改角色是指修改角色是指修改角色生效或失效时的认证方式修改角色生效或失效时的认证方式,也,也就是说,是否必须经过就是说,是否必须经过Oracle确认才允许对角色进行确认才允许对角色进行修改。修改。p修改角色的语法nALTER ROLE role_name nNOT IDENTIFIED|IDENTIFIED BY password;p示例nALTER ROLE high_manager_role IDENTIFIED BY highrole;nALTER ROLE middle_manager_ro

43、le NOT IDENTIFIED;49Oracle 10g数据库基础教程2011(4)角色的)角色的生效与失效生效与失效 p概念n所谓角色的所谓角色的失效失效是指角色是指角色暂时不可用暂时不可用。当一个角色生。当一个角色生效或失效时,用户从角色中获得的效或失效时,用户从角色中获得的权限也生效或失效权限也生效或失效。因此,通过设置角色的生效或失效,可以动态改变用因此,通过设置角色的生效或失效,可以动态改变用户的权限。户的权限。n在进行角色生效或失效设置时,在进行角色生效或失效设置时,需要输入角色的认证需要输入角色的认证口令,避免非法设置。口令,避免非法设置。50Oracle 10g数据库基础教

44、程2011p语法nSET ROLE role_nameIDENTIFIED BY password|ALL EXCEPT role_name|NONE;p参数说明nrole_name:表示进行生效或失效设置的角色名称表示进行生效或失效设置的角色名称;nIDENTIFIED BY password:用于设置角色生效或失效时的用于设置角色生效或失效时的认证口令认证口令;nALL:表示使当前用户:表示使当前用户所有角色生效所有角色生效;nEXCEPT role_name:表示表示除了除了特定角色外特定角色外,其余所有角色生其余所有角色生效效;nNONE:表示使当前用户:表示使当前用户所有角色失效所有

45、角色失效。51Oracle 10g数据库基础教程2011p示例nSET ROLE NONE;nSET ROLE high_manager_role IDENTIFIED BY highrole;nSET ROLE middle_manager_role,low_manager_low IDENTIFIED BY lowrole;nSET ROLE ALL EXCEPT low_manager_role,middle_manager_role;52Oracle 10g数据库基础教程2011(5)删除角色删除角色p语法结构nDROP ROLE role_name;p说明n如果某个角色不再需要,则可

46、以使用如果某个角色不再需要,则可以使用DROP ROLE语句删除角色。语句删除角色。角色被删除角色被删除后,用户通后,用户通过该角色获得的过该角色获得的权限被回收权限被回收。53Oracle 10g数据库基础教程201112.4.4 利用角色进行利用角色进行权限管理权限管理p给用户或角色授予角色p从用户或角色回收角色 p用户角色的激活或屏蔽 54Oracle 10g数据库基础教程2011(1)给用户或角色)给用户或角色授予角色授予角色p语法nGRANT role_list TO user_list|role_list;p例如,将CONNECT,high_manager_role角色授予用户us

47、er1,将RESOURCE,CONNECT角色授予角色middle_manager_role。nGRANT CONNECT,high_manager_role TO user1;nGRANT RESOURCE,CONNECT TO middle_manager_role;55Oracle 10g数据库基础教程2011(2)从用户或角色)从用户或角色回收角色回收角色p语法为nREVOKE role_list FROM user_list|role_list;p例如,回收角色middle_manager_role的RESOURCE,CONNECT角色。nSQLREVOKE RESOURCE,CON

48、NECT FROM middle_manager_role;56Oracle 10g数据库基础教程2011pCONNECT中和RESOURCE 不同的权限pSQL select privilege from role_sys_privs where role like%CONNECT%MINUS select privilege from role_sys_privs where role like%RESOURCE%PRIVILEGE;p-ALTER SESSIONCREATE DATABASE LINKCREATE SESSIONCREATE SYNONYMCREATE VIEWOracl

49、e 10g数据库基础教程2011p两者相同权限pSQL select privilege from role_sys_privs where role like%CONNECT%INTERSECT select privilege from role_sys_privs where role like%RESOURCE%;pPRIVILEGE-CREATE CLUSTERCREATE SEQUENCECREATE TABLEOracle 10g数据库基础教程2011(3)用户角色的)用户角色的激活或屏蔽激活或屏蔽p语法为nALTER USER user_name DEFAULT ROLE nr

50、ole_name|ALL EXCEPT role_name|nNONE;p示例nALTER USER user1 DEFAULT ROLE NONE;nALTER USER user1 DEFAULT ROLE CONNECT,DBA;nALTER USER user1 DEFAULT ROLE ALL;nALTER USER user1 DEFAULT ROLE ALL EXCEPT DBA;59Oracle 10g数据库基础教程201112.4.5查询角色查询角色信息信息pDBA_ROLES:包含数据库中所有角色及其描述包含数据库中所有角色及其描述;pDBA_ROLE_PRIVS:包含为数

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服