数据库安全管理2课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据库安全管理2课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 安全管理 课件
- 资源描述:
-
1、 权限是执行SQL语句或存取数据的权力。通过授予用户权限,用户可以对自己的模式对象进行查询、删除和修改等操作,也可以查询、删除和修改其它用户的模式对象。Oracle有两类权限:l系统权限l对象权限 Oracle通过两种方法将权限授予用户:直接将权限授予用户。先将权限授予角色,然后再将角色授予用户。l系统权限的管理系统权限的管理 【任务14.10】授予TEST用户系统权限CREATE SESSION。l系统权限的管理系统权限的管理1.系统权限分类在数据库系统范围内操作的权限在用户自己的模式内操作的权限在任何模式内操作的权限在数据库系统范围内操作的权限在数据库系统范围内操作的权限 系统权限名称系统
2、权限名称 作作 用用 ADMINISTER SECURITY管理安全性ALTER DATABASE设置数据库属性ALTER RESOURCE COST设置资源开销属性ALTER SESSION设置会话属性ALTER SYSTEM设置系统属性ANALYZE ANY对数据库的表、索引或者簇进行分析AUDIT ANY审计数据库的所有用户或对象AUDIT SYSTEM审计数据库系统BACKUP ANY TABLE备份任何数据表BECOME USER执行完全导入操作时成为另外的用户COMMENT ANY TABLE在数据库的所有表上创建注释.在用户自己的模式内操作的权限在用户自己的模式内操作的权限 系统
3、权限名称系统权限名称作作 用用 CREATE CLUSTER创建特定簇创建特定簇CREATE DATABASE LINK创建特定数据库链接创建特定数据库链接CREATE DIMENSION创建特定维创建特定维CREATE INDEXTYPE创建特定索引类型创建特定索引类型CREATE LIBRARY创建特定库创建特定库CREATE OPERATOR创建特定操作符创建特定操作符CREATE PROCEDURE创建特定过程创建特定过程CREATE PROFILE创建特定配置文件创建特定配置文件.在任何模式内操作的权限在任何模式内操作的权限 系统权限名称系统权限名称作作 用用ALTER ANY CL
4、USTER设置任何簇属性ALTER ANY DIMENSION设置任何维属性ALTER ANY INDEX设置任何索引属性ALTER ANY INDEXTYPE设置任何索引类型属性ALTER ANY LIBRARY设置任何库(程序包)属性ALTER ANY OUTLINE设置任何大纲属性ALTER ANY PROCEDURE设置任何过程属性.l系统权限的管理系统权限的管理DBA在使用系统权限时需要注意以下几点:系统权限中没有CREATE INDEX权限,而是CREATE TABLE权限包含了CREATE INDEX权限。因此在创建索引时,用户必须具有CREATE TABLE权限,而且必须在表空
5、间上具有一定的配额,或者具有UNLIMITED TABLESPACE的权限。如果用户具有了CREATE TABLE、CREATE PROCEDURE、CREATE CLUSTER的权限,那么该用户也具有删除这些对象的权限。UNLIMITED TABLESPACE权限不能授予角色。l系统权限的管理系统权限的管理DBA在使用系统权限时需要注意以下几点(续):l用户要想截断一个表,必须具有DROP ANY TABLE的权限。l连接数据库的用户必须具有CREATE SESSION的权限。l如果用户具有CREATE ANY PROCEDURE(或EXECUTE ANY PROCEDURE)权限,那么用户
6、就能够建立、替换、删除(或执行)、任何存储过程、函数和包。l如果用户具有CREATE TABLE权限,那么该用户就可以对自己模式中的所有表进行创建、修改、删除或查询操作。lSELECT、INSERT、UPDATE和DELETE都是对象权限,它们只是针对某一个对象的操作权限,而SELECT ALL、INSERT ALL、UPDATE ALL和DELETE ALL是系统权限,它们针对的是数据库中的所有模式。l系统权限的管理系统权限的管理2.授予系统权限 使用GRANT 命令可以将系统权限授予用户、角色或PUBLIC公共工作组。该语句的语法为:GRANT system_privilege ,syst
7、em_privilege.TO user|role|PUBLIC ,user|role|PUBLIC.WITH ADMIN OPTIONl系统权限的管理系统权限的管理2.授予系统权限关键字和参数的含义为:lsystem_privilege 系统权限名称。lUser 用户名。lRole 角色名。lPUBLIC 公共工作组。如果某一系统权限授予该工作组,那么数据库中的所有用户都将具有该权限。lWITH ADMIN OPTION 表示被授予者可以将该系统权限授予其他的用户。l系统权限的管理系统权限的管理2.授予系统权限授予系统权限时应注意以下原则:l用户将某一系统权限授予其他用户时,该用户本身首先应
8、具有这个权限,并且在被授予该权限时必须在GRANT语句中明确声明WITH ADMIN OPTION。l用户将某一系统权限授予其他用户时,在GRANT语句中可以设置WITH ADMIN OPTION,以便其他用户能够将该系统权限授予另一个用户。l具有GRANT ANY PRIVILEGE系统权限的用户可以在数据库中授予用户任何权限。l在授予系统权限时设置了WITH ADMIN OPTION子句的用户可以从任何用户或角色中收回该系统权限。l系统权限的管理系统权限的管理2.授予系统权限 例如,新创建的用户没有任何权限,这时DBA应首先授予CREATE SESSION系统权限,以便让用户能够连接到数据
9、库上。首先用SYSTEM用户登录SQL*Plus,因为SYSTEM用户具有GRANT ANY PRIVILEGE系统权限,然后执行下列语句:SQLGRANT CREATE SESSION TO TEST;l系统权限的管理系统权限的管理3.收回系统权限 使用REVOKE语句可以收回用户拥有的系统权限。该语句的语法为:REVOKE system_privilege ,system_privilege.FROM user|role|PUBLIC ,user|role|PUBLIC.例如,从用户TEST收回CREATE SESSION系统权限。SQLREVOKE CREATE SESSION FROM
10、 TEST;l系统权限的管理系统权限的管理3.收回系统权限收回系统权限时应注意以下原则:l能够收回某项系统权限的用户必须具有授予该权限的权力。l如果只是想收回WITH ADMIN OPTION子句,那么可以先收回该系统权限,然后再使用不带WITH ADMIN OPTION子句的GRANT语句授予用户该项系统权限。l如果用户使用系统权限执行了某项操作,收回该系统权限不会对操作的结果产生影响。例如,用户具有CREATE TABLE的系统权限,用户利用该权限创建了一些表,收回CREATE TABLE权限后,这些表仍然可以使用。l如果用户A具有某项系统权限,A将该项系统权限授予了用户B,当收回用户A的
11、这个系统权限时,用户B的该系统权限仍然保留。l对象权限的管理对象权限的管理 【任务14.11】授予TEST用户查询SCOTT用户的EMP表的对象权限。对象权限是指执行某些特殊的SQL语句或者是访问某些对象的权利。用户对属于自己的对象具有全部的对象权力。但是,他无权使用其他用户的对象,除非将其他用户的某个对象的权限授予了该用户。对于有些模式对象,如索引、触发器等没有相应的对象权限,而是由系统权限管理。l对象权限的管理对象权限的管理 1.对象权限分类 Oracle的对象权限主要有8种,分别作用在7类对象上。TABLECOLUMNVIEWSEQUENCEPROCEDUREFUNCTIONPACKAG
12、E操作权限操作权限SELECT查询操作查询操作INSERT插入操作插入操作UPDATE更新操作更新操作DELETE删除操作删除操作EXECUTE执行过程、函执行过程、函数或包数或包ALTER修改表或序列修改表或序列的结构的结构INDEX为表建立索引为表建立索引REFERENCES建立引用建立引用对象权限分类表对象权限分类表 l对象权限的管理对象权限的管理2.授予对象权限授予对象权限语句的语法为:GRANT object_privilege(column_list),object_privilege(column_list).|ALL PRIVILEGES ONschema.object TOu
13、ser|role|PUBLIC ,user|role|PUBLIC.WITH GRANT OPTIONl对象权限的管理对象权限的管理2.授予对象权限语句中各关键字和参数的含义如下:object_privilege 对象权限名称。column_list 模式对象中的列名。ALL 将所有对象权限授予已具有WITH GRANT OPTION子句的用户。schema.object 模式对象的名称。user 将对象权限授予的用户名。role 将对象权限授予的角色名。PUBLIC 将对象权限授予PUBLIC公共工作组。WITH GRANT OPTION 允许将此权限授予其他用户或角色。l对象权限的管理对象
14、权限的管理2.授予对象权限授予对象权限时应注意以下原则:l模式对象的拥有者自动具有该模式对象的所有对象权限,无需再授予这些对象权限。l如果某个模式对象不属于该用户,但是该用户具有这个模式对象的对象权限时,并且在授予权限的语句中使用了WITH GRANT OPTION子句,那么该用户可以将这个对象的权限授予其他的用户。l模式对象的拥有者可以将该对象的任何对象权限授予其他用户,如果允许该用户将这些对象权限授予另外一些用户,必须在GRANT语句中使用WITH GRANT OPTION子句。lWITH GRANT OPTION子句不能用于授予角色的GRANT语句中。l对象权限的管理对象权限的管理2.授
15、予对象权限 例如,将查询SCOTT用户的EMP表的对象权限授予TEST用户。SQLGRANT SELECT 2 ON SCOTT.EMP3 TO TEST;结果显示为:授权成功。l对象权限的管理对象权限的管理3.收回对象权限收回用户对象权限语句的语法为:REVOKE object_privilege ,object_privilege.|ALL PRIVILEGES ON schema.object FROM user|role|PUBLIC ,user|role|PUBLIC.CASCADE CONSTRAINTS;其中,CASCADE CONSTRAINTS表示删除使用REFERENCES
16、或ALL权限定义的任何完整性约束。l对象权限的管理对象权限的管理3.收回对象权限例如,从用户TEST收回SCOTT用户EMP表的SELECT对象权限。SQLREVOKE SELECT 2 ON SCOTT.EMP 3 FROM TEST;结果显示为:撤销成功。l对象权限的管理对象权限的管理3.收回对象权限收回对象权限时应注意以下原则:用户具有的对象权限只能由授予者收回。假设有多个用户为某用户授予了同一个对象权限,如果其中的某个用户收回了该对象权限,那么该用户仍然具有这个对象权限。只要有一个用户没有收回该权限,该权限仍然有效。如果用户A具有某个对象权限,A将该项系统权限授予了用户B,当收回用户A
17、的这个对象权限时,用户B的该对象权限也将收回。l查询权限信息查询权限信息 视视 图图 名名 称称说说 明明DBA_SYS_PRIVS描述了用户和角色具有的系统权限信息。描述了用户和角色具有的系统权限信息。SESSION_PRIVS描述了当前用户具有的权限信息。描述了当前用户具有的权限信息。ALL_TAB_PRIVS描述了当前用户和描述了当前用户和PUBLIC具有的权限信息。具有的权限信息。DBA_TAB_PRIVS描述了数据库中所有用户具有的权限信息。描述了数据库中所有用户具有的权限信息。USER_TAB_PRIVS描述当前用户具有的权限信息。描述当前用户具有的权限信息。ALL_TAB_PRI
18、VS_MADE描述了当前用户授予的权限信息。描述了当前用户授予的权限信息。USER_TAB_PRIVS_MADE描述了当前用户所有对象上的权限信息。描述了当前用户所有对象上的权限信息。ALL_TAB_PRIVS_RECD描述了当前用户和描述了当前用户和PUBLIC具有权限的模式对象的信息。具有权限的模式对象的信息。USER_TAB_PRIVS_RECD描述了当前用户具有权限的模式对象的信息。描述了当前用户具有权限的模式对象的信息。ALL_COL_PRIVS描述了当前用户和描述了当前用户和PUBLIC中具有权限的字段上所授予的权限信息。中具有权限的字段上所授予的权限信息。DBA_COL_PRIV
展开阅读全文