Oraclei安全管理.ppt

上传人:小飞机 文档编号:6513397 上传时间:2023-11-08 格式:PPT 页数:44 大小:526KB
返回 下载 相关 举报
Oraclei安全管理.ppt_第1页
第1页 / 共44页
Oraclei安全管理.ppt_第2页
第2页 / 共44页
Oraclei安全管理.ppt_第3页
第3页 / 共44页
Oraclei安全管理.ppt_第4页
第4页 / 共44页
Oraclei安全管理.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《Oraclei安全管理.ppt》由会员分享,可在线阅读,更多相关《Oraclei安全管理.ppt(44页珍藏版)》请在三一办公上搜索。

1、安全管理,用户管理权限管理角色管理概要文件管理审计管理,本章主要内容包括,Oracle系统是一个多用户的数据库系统,每一个试图使用Oracle的用户都必须得到一个合法的用户名和口令,这样才能进入数据库系统进行相应的操作。用户管理是实现Oracle系统安全性的重要手段,Oracle系统为不同的用户分配不同的权限或角色,每个用户只能在自己的权限范围内进行操作,任何超越权限范围的操作都被Oracle系统视为非法。用户管理主要包括创建用户、修改用户的设置和口令、锁定和解锁用户、删除用户等。,用户管理,创建用户的SQL命令是CREATE USER CREATE USER 用户名IDENTIFIED BY

2、 密码|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 I

3、DENTIFIED BY LOTUS DEFAULT TABLESPACE USERS QUOTA 10 K ON USERSACCOUNT 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,P

4、rofile1是已经建立好的概要文件名。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

5、-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*E

6、RROR 位于第 1 行:ORA-01922:必须指定 CASCADE 以删除TESTA(用户下有对象,就不能删掉这个用户)SQL drop user testa cascade;用户已丢弃,实验2:查数据字典DBA_USERSALL_USERSUSER_USERSDBA_TS_QUOTASUSER_TS_QUOTASUSER_PASSWORD_LIMITSUSE_RESOUTCE_LIMITSDBA_PROFILESRESOURCECOST,权限管理,权限指用户对数据库进行操作的能力,如果不对新建的用户赋予一定的权限,该用户是不能对数据库进行操作。Oracle权限分为系统权限和对象权限两种,

7、系统权限指在Oracle数据库系统中执行某项操作的能力,对象权限指在特定数据库对象上执行某项操作的能力。Oracle系统通过授予和撤销权限,实现对数据库系统安全的访问控制。,Oracle提供的系统权限,每一种系统权限指明用户进行某一种或某类特定的数据库操作。系统权限中带有ANY关键字的指明该权限的范围为数据库中的所有方案。系统权限列表权限.doc,系统权限,对象权限指在特定数据库对象上执行某项操作的能力。与系统权限相比,对象权限主要指在Oracle对象上所能够执行的操作,如查询、插入、修改、删除、执行等。这里的Oracle对象主要包括表、视图、聚簇、索引、序列、快照、过程、函数、包等。不同的O

8、racle对象具有不同的对象权限,如表具有插入的对象权限,而序列却没有,而序列具有的执行对象权限,而表却没有。对象权限列表:,对象权限,在SQL命令中,授予权限使用GRANT语句,撤销权限使用REVOKE语句。授予系统权限的语法如下:GRANT 系统权限列表|角色 TO 用户名|角色|PUBLICWITH ADMIN OPTION其中,PUBLIC指授予数据库中的所有用户,“WITH ADMIN OPTION”选项将使得该用户能将其权限授予其他用户。撤销系统权限的语法如下:REVOKE 系统权限列表|角色 FROM 用户名|角色|PUBLIC。,授予和撤销系统权限,例8-8 授予LOTUS用户

9、有建立表、建立视图、建立索引的权限。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 INDE

10、X FROM LOTUS例8-12 撤销数据库中的所有用户使用无限表空间的权限。REVOKE UNLIMITED TABLESPACE FROM PUBLIC,授予对象权限的语法如下:GRANT 对象权限列表|ALL ON 模式名.数据库对象TO 用户名|角色|PUBLIC WITH GRANT OPTION撤销对象权限的语法如下:REVOKE 对象权限列表|ALL ON 模式名.数据库对象FROM 用户名|角色|PUBLICCASCADE CONSTRAINTSFORCE,授予和撤销对象权限,例8-13 授予LOTUS用户具有查询、修改、删除STUDENT表的对象权限。GRANT SELEC

11、T,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 赋给用户

12、B权限和赋权的权限,用户B给用户C赋权(分系统权限和对象权限)问:A可以把C的权限收回吗?问:A把B的权和赋权的权限收回,C还有权吗?系统权限 不连带对象权限 连带,角色管理,角色是对权限的集中管理。每个角色都有一个名称,它是一组系统权限和对象权限的集合,当把某角色授予某个用户,该用户就会自动获得该角色包括的所有权限。使用角色将使得授予和撤销权限都比较方便,通过对一个角色添加或删除权限,从而可以改变被授予该角色的用户组的权限。当需要修改用户的权限时,只需对角色进行修改,不必对单个用户进行修改。角色还可以授予另一个角色,则另一个角色将继承此角色拥有的权限。角色分为系统预定义角色和用户自定义角色。

13、,预定义角色 列举,创建自定义角色,创建角色的SQL命令:CREATE ROLECREATE 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 STUDE

14、NT 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 ADM

15、IN 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企业管理器中删除角色时,右击要删除的角色,在弹出的快捷菜单中选择【

16、移去】选项。删除角色使用DROP ROLE语句,语法如下:DROP ROLE 角色名,概要文件管理,概要文件是一个限制用户使用系统资源的文件,又称配置文件。将概要文件分配给某个用户后,Oracle系统在用户访问数据库时,将按照概要文件的设置为该用户分配系统资源。一个用户不使用概要文件或概要文件参数设置不合理,都会影响其他用户访问数据库的速度。在创建用户时,默认分配给用户的概要文件是DEFAULT文件,该文件对系统资源没有任何限制。因此,DBA常常根据实际情况建立自定义概要文件。,建立概要文件,建立概要文件的SQL命令:CREATE PROFILE:CREATE PROFILE 概要文件名 LI

17、MIT 资源参数列表|密码参数列表概要文件的资源参数概要文件的密码参数,建立概要文件的示例,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-读取数/会话

18、(单位:块)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中将概要文件分配给用户,右击【概要文件】文件

19、夹,在弹出菜单中选择【为用户分配概要文件】。,Oracle 9i把用来监视和记录用户对Oracle数据库所施加的各种操作的机制称为审计。审计但不记录数据的更新值、插入行和删除行中的具体数值。审计的结果存储在数据库的审计表AUD$中。AUD$表应定期清空过期的审计记录,用户须具有Delete_Catalog_Role角色方可执行本操作。,什么是审计,激活审计,在默认情况下,Oracle系统的审计功能是关闭的。激活的办法是在init.ora参数文件中,将参数audit_trail设置为正整数,重新启动数据库例程。除了可以在init.ora参数文件中,将audit_trail参数设置为正整数来激活审

20、计功能外,还可以在Oracle企业管理器中激活审计功能。,激活审计功能后,拥有表或视图的普通用户可以做:通过SQL语句选择审计项审计对自身所拥有的表或视图的操作是否成功审计各种类型的SQL操作控制审计的程度是以SESSION还是ACCESS为单位拥有DBA权限的用户还拥有如下审计功能:对LOGON、LOGOFF、GRANT、REVOKE进行审计允许或禁止向审计追踪表存储数据为数据库表设定默认审计选择,审计的类型,审计的SQL语法,AUDIT 语句选项|对象选项 BY SESSION|ACCESS WHENEVER NOT SUCCESSFUL BY SESSION指在一个会话中对相同类型SQL

21、语句只向审计表记录一次。BY ACCESS 指对于每一个被审计的语句,Oracle系统会写入一个审计记录。WHENEVER SUCCESSFUL指定当SQL语句成功执行时才被审计,当有NOT 关键字时,只对操作失败的SQL语句进行审计,当省略此选项时,则不管成功或失败都将被审计。语句选项指对SQL语句进行的语句审计,审计记录包括用户完成的操作、操作类型、操作对象和操作时间。对象选项指对Oracle对象进行的审计,Oracle对象指表,视图,序列,实体化视图,过程、函数、包和对象类型等。,举例说明审计的操作,例8-34 对所有的SQL命令进行审计。AUDIT ALL例8-35 对创建、修改、删除

22、和设置角色的语句进行审计,不管其操作是否成功。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 例

23、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 ON MDX.STUDENT 例8-43 对MDX.SCORE_SEQ序列的所有操作进行审计。AUDIT ALL

24、ON MDX.SCORE_SEQ,例8-44 对数据库中新建对象的ALTER、GRANT、INSERT、UPDATE和DELETE操作,默认设置为审计。AUDIT ALTER,GRANT,INSERT,UPDATE,DELETE ON DEFAULT 上面的语句执行成功后,新建的Oracle对象会自动被审计。具体可以分为以下几种情况:如果新建对象是表,则会对表上的ALTER、GRANT、INSERT、UPDATE或DELETE操作进行审计。如果新建对象是视图,则会对视图上的GRANT、INSERT、UPDATE或DELETE操作进行审计。如果新建对象是序列,则会对序列上的ALTER或GRANT

25、操作进行审计。如果新建对象是过程、包或函数,则会对过程、包或函数上的ALTER或GRANT操作进行审计。,停止审计,停止审计:NOAUDIT,其参数与AUDIT基本相同。例8-47 停止所有系统中的审计。NOAUDIT ALL例8-48 对创建、修改、删除和设置角色的语句停止审计,不管其操作是否成功。NOAUDIT ROLE 例8-49 对登录失败的操作停止审计。NOAUDIT SESSION WHENEVER NOT SUCCESSFUL例8-50 对用户MDX和LOTUS查询和修改表的操作停止审计。NOAUDIT SELECT TABLE,UPDATE TABLE BY MDX,LOTUS 例8-53 对数据库中新建对象的ALTER、GRANT、INSERT、UPDATE和DELETE操作停止审计。NOAUDIT ALTER,GRANT,INSERT,UPDATE,DELETE ON DEFAULT,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号