Oracle数据库审计用法实例

WBOY
풀어 주다: 2016-06-07 17:22:00
원래의
1337명이 탐색했습니다.

本节是从ORACLE METALINK的DOC:167293.1翻译整理而来的。通过举例的方式来说明ORACLE审计的用法。ORACLE的审计可以从语句级、对象

本节是从Oracle METALINK的DOC:167293.1翻译整理而来的。通过举例的方式来说明ORACLE审计的用法。

ORACLE的审计可以从语句级、对象级和权限级几个方面进行。同样的,SYSDBA和SYSOPER用户的行为也可以被审计(从ORACLE 9i Release 2,,9.2.0.1开始,SYS用户可以通过设置AUDIT_SYS_OPERATIONS参数来进行审计)。

1.对象级审计

可以被审计的对象包括表、视图、序列发生器、包、存储过程等。由于对象的依赖性问题,可能同一件事情可能会产生多条审计信息。比如说某个函数关联到某个视图,某个视图关联到某个表。

对象级审计只能针对整个数据库的用户而不能对于某个用户进行审计。要查看对象级审计具有哪些审计选项,可以查询ALL_DEF_AUDIT_OPTS视图。


SQL> connect system/manager

SQL> select * from all_def_audit_opts;


ALT AUD COM DEL GRAINDINS LOC REN SEL UPD REF EXE

--- --- --- --- --- --- --- --- --- --- --- --- ---

-/- -/- -/- -/- -/- -/- -/- -/- -/- -/- -/- -/- -/-


下面的例子是对SCOTT.EMP进行审计:

SQL> connect system/manager

SQL> audit select on SCOTT.emp by session;

查看审计信息是否被记录了:

SQL> col owner format a7

SQL> col object_name format a7

SQL>select * from dba_obj_audit_opts

where wner='SCOTT' and OBJECT_NAME='EMP';


OWNEROBJECT_ OBJECT_TY ALT AUD COM DEL GRAINDINS LOC REN SEL UPD REF EXE

----- ----- --------- --- --- --- --- --- --- --- --- --- --- --- --- ---

SCOTTEMPTABLE-/- -/- -/- -/- -/- -/- -/- -/- -/- S/S -/- -/- -/-

以下的语句可以生成一些审计信息:

SQL> connect scott/tiger

SQL> select * from emp;

SQL> connect TEST/TEST

SQL> select * from scott.emp;

ERROR at line 1:

ORA-00942: table or view does not exist

SQL> connect system/manager

SQL> select * from scott.emp;


审计结果


SQL> connect system/manager

SQL> col username format a8

SQL> col priv_used format 999

SQL> /


SQL>select username, priv_used, ses_actions from

dba_audit_object

where obj_name='EMP' and wner='SCOTT';


结果


USERNAMEPRIV_USEDSES_ACTIONS

------------------------------ ---------- -------------------

SCOTT---------S------

TEST

SYSTEMSELECT ANY ---------S------

2.从权限级进行审计

所有的系统权限都可以进行审计。从SYSTEM_PRIVILEGE_MAP中可查询到所有的系统权限。如果你要对一个不属于该视图中的权限进行审计,会出现错误:

SQL> audit drop snapshot by access;

audit drop snapshot by access

*

ERROR at line 1:

ORA-00956: missing or invalid auditing option


SQL> connect system/manager

SQL> select * from system_privilege_map;

 

PRIVILEGE NAME

---------- ----------------------------------------

-3 ALTER SYSTEM

-4 AUDIT SYSTEM

-5 CREATE SESSION

-6 ALTER SESSION

-7 RESTRICTED SESSION

-10 CREATE TABLESPACE

-11 ALTER TABLESPACE

-12 MANAGE TABLESPACE

-13 DROP TABLESPACE

.....

-167 GRANT ANY PRIVILEGE

-172 CREATE SNAPSHOT

-173 CREATE ANY SNAPSHOT

-174 ALTER ANY SNAPSHOT

-175 DROP ANY SNAPSHOT

-194 WRITEDOWN DBLOW

-195 READUP DBHIGH

-196 WRITEUP DBHIGH

-197 WRITEDOWN

-198 READUP

-199 WRITEUP

linux

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿