《Oraclei安全管理》PPT课件.ppt_第1页
《Oraclei安全管理》PPT课件.ppt_第2页
《Oraclei安全管理》PPT课件.ppt_第3页
《Oraclei安全管理》PPT课件.ppt_第4页
《Oraclei安全管理》PPT课件.ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

安全管理,用户管理 权限管理 角色管理 概要文件管理 审计管理,本章主要内容包括,Oracle系统是一个多用户的数据库系统,每一个试图使用Oracle的用户都必须得到一个合法的用户名和口令,这样才能进入数据库系统进行相应的操作。 用户管理是实现Oracle系统安全性的重要手段,Oracle系统为不同的用户分配不同的权限或角色,每个用户只能在自己的权限范围内进行操作,任何超越权限范围的操作都被Oracle系统视为非法。 用户管理主要包括创建用户、修改用户的设置和口令、锁定和解锁用户、删除用户等。,用户管理,创建用户的SQL命令是CREATE USER CREATE USER 用户名 IDENTIFIED BY 密码 | EXTERNALLY | GLOBALLY AS 外部名 DEFAULT TABLESPACE 默认表空间名称 | TEMPORARY TABLESPACE 临时表空间名称 | QUOTA 数目 K | M UNLIMITED ON 表空间名称 | PROFILE 用户配置文件 | PASSWORD EXPIRE | ACCOUNT LOCK | UNLOCK ,创建用户,用户的认证方式,在Oracle企业管理器里创建用户,展开导航树的【安全性】节点,右击【用户】文件夹,在弹出的快捷菜单中选择【创建】选项 。,用EM创建用户,创建用户相对应的SQL语句,CREATE USER “LOTUS“ PROFILE “DEFAULT“ IDENTIFIED BY “LOTUS“ DEFAULT TABLESPACE “USERS“ QUOTA 10 K ON USERS ACCOUNT UNLOCK; GRANT ALTER ANY TABLE TO “LOTUS“; GRANT CREATE ANY TABLE TO “LOTUS“; GRANT DROP ANY TABLE TO “LOTUS“; GRANT SELECT ANY TABLE TO “LOTUS“; GRANT “CONNECT“ TO “LOTUS“; ALTER USER LOTUS GRANT CONNECT THROUGH MDX;,例8-1 更改LOTUS用户的概要文件为Profile1,Profile1是已经建立好的概要文件名。 ALTER USER LOTUS PROFILE Profile1 例8-2 更改LOTUS用户的口令为lotus123。 ALTER USER LOTUS IDENTIFIED BY lotus123 例8-3 更改LOTUS用户的默认表空间为XXGCX表空间。 ALTER USER LOTUS DEFAULT TABLESPACE XXGCX,修改用户示例,另外,更改临时表空间的语句为: ALTER USER Username TEMPORARY TABLESPACE Tablespace_name 其中,Tablespace_name为临时表空间的名称。 例8-4 锁定LOTUS用户账号。 ALTER USER LOTUS ACCOUNT LOCK 另外,解锁用户账号用下面的语句: ALTER USER LOTUS ACCOUNT UNLOCK 例8-5 更改LOTUS用户在USERS表空间的限额为无限。 ALTER USER LOTUS QUOTA UNLIMITED ON USERS,删除用户的命令:Drop User 用户名 在EM中选中要删除的用户名,右键单击,选择“移去”。 实验1: 创建用户 testa 在testa下建一张表 此时可以直接drop user testa?,删除用户,SQL drop user testa; drop user testa * ERROR 位于第 1 行: ORA-01922: 必须指定 CASCADE 以删除TESTA (用户下有对象,就不能删掉这个用户) SQL drop user testa cascade; 用户已丢弃,实验2: 查数据字典 DBA_USERS ALL_USERS USER_USERS DBA_TS_QUOTAS USER_TS_QUOTAS USER_PASSWORD_LIMITS USE_RESOUTCE_LIMITS DBA_PROFILES RESOURCECOST,权限管理,权限指用户对数据库进行操作的能力,如果不对新建的用户赋予一定的权限,该用户是不能对数据库进行操作。 Oracle权限分为系统权限和对象权限两种,系统权限指在Oracle数据库系统中执行某项操作的能力,对象权限指在特定数据库对象上执行某项操作的能力。 Oracle系统通过授予和撤销权限,实现对数据库系统安全的访问控制。,Oracle提供的系统权限,每一种系统权限指明用户进行某一种或某类特定的数据库操作。系统权限中带有ANY关键字的指明该权限的范围为数据库中的所有方案。 系统权限列表 权限.doc,系统权限,对象权限指在特定数据库对象上执行某项操作的能力。与系统权限相比,对象权限主要指在Oracle对象上所能够执行的操作,如查询、插入、修改、删除、执行等。这里的Oracle对象主要包括表、视图、聚簇、索引、序列、快照、过程、函数、包等。 不同的Oracle对象具有不同的对象权限,如表具有插入的对象权限,而序列却没有,而序列具有的执行对象权限,而表却没有。 对象权限列表:,对象权限,在SQL命令中,授予权限使用GRANT语句,撤销权限使用REVOKE语句。 授予系统权限的语法如下: GRANT 系统权限列表|角色 TO 用户名|角色|PUBLICWITH ADMIN OPTION 其中,PUBLIC指授予数据库中的所有用户, “WITH ADMIN OPTION”选项将使得该用户能将其权限授予其他用户。 撤销系统权限的语法如下: REVOKE 系统权限列表|角色 FROM 用户名|角色|PUBLIC 例8.8-8.10。,授予和撤销系统权限,例8-8 授予LOTUS用户有建立表、建立视图、建立索引的权限。 GRANT CREATE TABLE ,CREATE VIEW,CREATE INDEX TO LOTUS 例8-9 授予LOTUS用户具有建立表的系统权限,同时允许LOTUS用户管理建立表的系统权限。 GRANT CREATE TABLE TO LOTUS WITH ADMIN OPTION 例8-10 授予数据库中的所有用户使用无限表空间的权限。 GRANT UNLIMITED TABLESPACE TO PUBLIC 例8-11 撤销LOTUS用户的具有建立表、视图、索引的权限。 REVOKE CREATE TABLE ,CREATE VIEW,CREATE INDEX FROM LOTUS 例8-12 撤销数据库中的所有用户使用无限表空间的权限。 REVOKE UNLIMITED TABLESPACE FROM PUBLIC,授予对象权限的语法如下: GRANT 对象权限列表|ALL ON 模式名.数据库对象TO 用户名|角色|PUBLIC WITH GRANT OPTION 撤销对象权限的语法如下: REVOKE 对象权限列表|ALL ON 模式名.数据库对象FROM 用户名|角色|PUBLIC CASCADE CONSTRAINTSFORCE,授予和撤销对象权限,例8-13 授予LOTUS用户具有查询、修改、删除STUDENT表的对象权限。 GRANT SELECT ,UPDATE,DELETE ON STUDENT TO LOTUS 例8-14 授予LOTUS用户具有对STUDENT表所有的操作权限,并且可以把获得的对象权限再授予其他用户。 GRANT ALL ON STUDENT TO LOTUS WITH GRANT OPTION 例8-15 撤销LOTUS用户在STUDENT表上的查询、修改、删除的对象权限。 REVOKE CREATE ,UPDATE,DELETE ON STUDENT FROM LOTUS 例8-16 撤销LOTUS用户对STUDENT表所有操作权限。 REVOKE ALL ON STUDENT FROM LOTUS,实验,用户A 赋给用户B权限和赋权的权限,用户B给用户C赋权(分系统权限和对象权限) 问:A可以把C的权限收回吗? 问:A把B的权和赋权的权限收回,C还有权吗? 系统权限 不连带 对象权限 连带,角色管理,角色是对权限的集中管理。每个角色都有一个名称,它是一组系统权限和对象权限的集合,当把某角色授予某个用户,该用户就会自动获得该角色包括的所有权限。 使用角色将使得授予和撤销权限都比较方便,通过对一个角色添加或删除权限,从而可以改变被授予该角色的用户组的权限。当需要修改用户的权限时,只需对角色进行修改,不必对单个用户进行修改。 角色还可以授予另一个角色,则另一个角色将继承此角色拥有的权限。 角色分为系统预定义角色和用户自定义角色。,预定义角色 列举,创建自定义角色,创建角色的SQL命令:CREATE ROLE CREATE ROLE 角色名 NOT IDENTIFIED | IDENTIFIED BY 密码 | EXTREMELY | GLOBALLY 在Oracle企业管理器里创建角色,展开导航树中的【安全性】节点,右击【角色】文件夹,在弹出的快捷菜单中选择【创建】选项,添加角色 例8-19 为LOTUS_ROLE角色添加CREATE SESSION权限。 GRANT CREATE SESSION TO LOTUS_ROLE 例8-20 为LOTUS_ROLE角色添加在STUDENT表的查询权限。 GRANT SELECT ON STUDENT TO LOTUS_ROLE 从角色中撤销权限使用REVOKE语句,语法如下: REVOKE权限名 | 已有角色名 FROM 角色名 例8-21 撤销LOTUS角色的CREATE SESSION权限。 REVOKE CREATE SESSION FROM LOTUS_ROLE 例8-22 撤销LOTUS角色的CREATE SESSION权限。 REVOKE SELECT ON STUDENT FROM LOTUS_ROLE,将角色授予用户和其他角色,在角色创建好并为角色分配了适当的权限之后,就可以将角色授予用户或其他角色,语法如下: GRANT 角色名 TO 用户名|角色名|PUBLIC WITH ADMIN OPTION 其中,PUBLIC指将角色授予数据库中的所有用户。 例8-24 将CONNECT角色授予数据库中的所有用户。 GRANT CONNECT TO PUBLIC 例8-25 将RESOURCE角色授予LOTUS_ROLE角色。 GRANT RESOURCE TO LOTUS_ROLE; 例8-26 将LOTUS_ROLE角色授予LOTUS用户,并允许LOTUS用户可以将LOTUS_ROLE角色授予其他用户或角色。 GRANT LOTUS_ROLE TO LOTUS WITH ADMIN OPTION,删除角色,在Oracle企业管理器中删除角色时,右击要删除的角色,在弹出的快捷菜单中选择【移去】选项。 删除角色使用DROP ROLE语句,语法如下: DROP ROLE 角色名,概要文件管理,概要文件是一个限制用户使用系统资源的文件,又称配置文件。 将概要文件分配给某个用户后, Oracle系统在用户访问数据库时, 将按照概要文件的设置为该用户分配系统资源。 一个用户不使用概要文件或概要文件参数设置不合理,都会影响其他用户访问数据库的速度。 在创建用户时,默认分配给用户的概要文件是DEFAULT文件,该文件对系统资源没有任何限制。因此,DBA常常根据实际情况建立自定义概要文件。,建立概要文件,建立概要文件的SQL命令:CREATE PROFILE: CREATE PROFILE 概要文件名 LIMIT 资源参数列表|密码参数列表 概要文件的资源参数 概要文件的密码参数,建立概要文件的示例,CREATE PROFILE PROFILE1 LIMIT CPU_PER_SESSION UNLIMITED -cpu每秒会话数 CPU_PER_CALL 3000 -cpu每秒调用数 任意一个会话中的任意一个单独数据库调用所消耗的CPU时间量(时间量为1/100秒) CONNECT_TIME 45 -允许连接时间 任意一个会话连接时间限定在指定的分钟数内 SESSIONS_PER_USER 10 -用户最大并行会话数(指定用户的会话数量) LOGICAL_READS_PER_SESSION DEFAULT -读取数/会话(单位:块) LOGICAL_READS_PER_CALL 1000 -读取数/调用(单位:块) PRIVATE_SGA 256K -专用sga,查看概要文件的信息,select * from SYS.DBA_PROFILES; select * from SYS.USER_RESOURCE_LIMITS;,在Oracle企业管理器中建立概要文件,选择导航树中的【安全性】节点,右击【概要文件】文件夹,在弹出的快捷菜单中选择【创建】选项,将概要文件分配给用户,创建完成的概要文件可以分配给用户使用,SQL语法: ALTER USER 用户名 PROFILE 概要文件名 在EM中将概要文件分配给用户,右击【概要文件】文件夹,在弹出菜单中选择【为用户分配概要文件】。,Oracle 9i把用来监视和记录用户对Oracle数据库所施加的各种操作的机制称为审计。 审计但不记录数据的更新值、插入行和删除行中的具体数值。 审计的结果存储在数据库的审计表AUD$中。AUD$表应定期清空过期的审计记录,用户须具有Delete_Catalog_Role角色方可执行本操作。,什么是审计,激活审计,在默认情况下,Oracle系统的审计功能是关闭的。激活的办法是在init.ora参数文件中,将参数audit_trail设置为正整数,重新启动数据库例程。 除了可以在init.ora参数文件中,将audit_trail参数设置为正整数来激活审计功能外,还可以在Oracle企业管理器中激活审计功能。,激活审计功能后,拥有表或视图的普通用户可以做: 通过SQL语句选择审计项 审计对自身所拥有的表或视图的操作是否成功 审计各种类型的SQL操作 控制审计的程度是以SESSION还是ACCESS为单位 拥有DBA权限的用户还拥有如下审计功能: 对LOGON、LOGOFF、GRANT、REVOKE进行审计 允许或禁止向审计追踪表存储数据 为数据库表设定默认审计选择,审计的类型,审计的SQL语法,AUDIT 语句选项|对象选项 BY SESSION | ACCESS WHENEVER NOT SUCCESSFUL BY SESSION指在一个会话中对相同类型SQL语句只向审计表记录一次。 BY ACCESS 指对于每一个被审计的语句,Oracle系统会写入一个审计记录。 WHENEVER SUCCESSFUL指定当SQL语句成功执行时才被审计,当有NOT 关键字时,只对操作失败的SQL语句进行审计,当省略此选项时,则不管成功或失败都将被审计。 语句选项指对SQL语句进行的语句审计,审计记录包括用户完成的操作、操作类型、操作对象和操作时间。 对象选项指对Oracle对象进行的审计,Oracle对象指表,视图,序列,实体化视图,过程、函数、包和对象类型等。,举例说明审计的操作,例8-34 对所有的SQL命令进行审计。 AUDIT ALL 例8-35 对创建、修改、删除和设置角色的语句进行审计,不管其操作是否成功。 AUDIT ROLE 例8-36 对操作成功的创建、修改、删除和设置角色的语句进行审计。 AUDIT ROLE WHENEVER SUCCESSFUL 如果对操作失败的创建、修改、删除和设置角色的语句进行审计,则用下面的语句: AUDIT ROLE WHENEVER NOT SUCCESSFUL 例8-37 对成功登录的操作进行审计。 AUDIT SESSION WHENEVER SUCCESSFUL,例8-38 对用户MDX和LOTUS查询和修改表的操作进行审计。 AUDIT SELECT TABLE, UPDATE TABLE BY MDX,LOTUS 例8-39 对DELETE ANY TABLE系统权限进行审计。 AUDIT DELETE ANY TABLE 例8-40 对查询MDX.STUDENT表的语句进行审计。 AUDIT SELECT ON MDX.STUDENT 例8-41 对成功执行查询MDX.STUDENT表的语句进行审计。 AUDIT SELECT ON MDX.STUDENT WHENEVER SUCCESSFUL 例8-42 对插入和修改MDX.STUDENT表的语句进行审计。 AUDIT INSERT, UPDATE O

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论