Oracle数据库之审计(五)
目录
1.审计
2.登录审计
3.操作审计
4.对象审计
5.权限审计
Oracle学习的相关知识点(汇总)
1.审计
审计是监视和记录所选用户的数据活动,通常用于调查可疑活动,以及监视与收集特定数据活动的数据。审计的操作类型分为登录企图,对象访问和数据库操作等。
管理员可以启用和禁用审计信息记录,但是,只有安全管理员才能对审计星级进行管理。当在数据库中启用审计时,可在语句执行阶段生成审计 记录。
2.登录审计
用户连接数据库的过程称为登录。
- AUDIT SESSION:开 启连接数据库审计。
- AUDIT SESSION WHENEVER SUCCESSFUL: 审计成功的连接图。
- NOAUDIT SESSION:禁 止会话审计。
- AUDIT SESSION WHENEVER NOT SUCCESSFUL:只是审计 连接失败。
SELECT OS_Username, Username, Terminal,
DECODE(Returncode, '0', 'Connected', '1005', 'FailedNull', '1017', 'Failed', Returncode),
TO_CHAR(Timestamp, 'DD-MON-YY HH24:MI:SS'),
TO_CHAR(Logoff_time, 'DD-MON-YY HH24:MI:SS')
FROM DBA_AUDIT_SESSION
提示:数据库的审计记录存放在SYS方案中的AUD$表中,可以通过DBA_AUDIT_SESSION数据字典视图来查看 SYS.AUD$。
- OS_Username:使用 的操作系统账户
- Username:Oracle 账户名。
- Terminal:使用的 终端ID。
- Returncode:如果为0, 连接成功;否则就检查两个 常用错误号,确定失败的原 因。检查的两个错误号为 ORA-1005和ORA-1017, 这两个错误代码覆盖了经常 发生的登录错误
- Timestamp:登 录时间
- Logoff_time:注销 的时间。
3.操作审计
对表、数据库链接、表空间、同义词、回滚段、用户或索引等数据库对象的任何操作都可被审计。这些操作 包括对象的建立、修改和删除。
AUDIT {<审计操作>∣<系统权限名>}
[BY <用户名> [,…n]]
[BY {SESSION∣ACCESS}]
[WHENEVER [NOT] SUCCESSFUL
- <审计操作>对于每个审计操作,其产生的审计记录都包含执行操作的用户、操作类型、操作涉及的 对象及操作的日期和时间等信息。
- <系统权限名>:指定审计的系统权限,Oracle为指定的系统权限和语句选项组提供捷径。
- BY <用户名>:指定审计的用户。若忽略该子句,Oracle审计所有用户的语句。
- BY SESSION:同一会话中同一类型的全部SQL语句仅写单个记录。
- BY ACCESS:每个被审计的语句写一个记录。
- WHENEVER SUCCESSFUL:只审计完全成功的SQL语句。包含NOT时,则只审计失败或产生错误的语句。
例子:将用户user1的插入操作都被审计
AUDIT INSERT TABLE BY user1;;
如果要让审计影响角色的所有命令:
则:AUDIT ROLE;否则禁止设置;NOAUDIT ROLE;
被审计的操作都会被计入一个数字代码:
使用该查询语句可以查看:
SELECT Action,Name
FROM AUDIT_ACTIONS;
已知上面的操作代码可以通过DBA_AUDIT_OBJECT视图检索登录审计:
SELECT
OS_Username, Username, Terminal, Owner, Obj_Name, Action_Name,
DECODE(Returncode, '0', 'Success',Returncode),
TO_CHAR(Timestamp, 'DD-MON-YYYYY HH24:MI:SS')
FROM DBA_AUDIT_OBJECT;
- OS_Username: 操作系统账户。
- Username: 账户名。
- Terminal:所用 的终端ID。
- Action_Name: 操作码。
- Owner:对象拥 有者。
- Obj_Name:对 象名。
- Returncode:返回代 码。若是0,则表示 连接成功;否则就报 告一个错误数值。
- Timestamp:登 录时间。
4.对象审计
除了系统级的对象操作外,还可以审计对象的数据处理操作。这些操作可能包括对表的选择、插入、更新 和删除操作。
AUDIT {<审计选项>∣ALL} ON
{[用户方案名.]<对象名> ∣ DIRECTORY <逻辑目录名>∣DEFAULT}
[BY SESSION∣ACCESS]
[WHENEVER [NOT] SUCCESSFUL]
说明:
- ALL:指定所有对象类型的对象选项。
- <对象名>:标识审计对象。对象必须是表、视图、序列、存储过程、函数、包、快照或库,也可 是它们的同义词。
- ON DEFAULT:默认审计选项,以后创建的任何对象都自动用这些选项审计。用于视图的默认审计 选项总是视图基表的审计选项的联合。若改变默认审计选项,先前创建的对象的审计选项保持不变。
- ON DIRECTORY:指定审计的目录名。
- BY SESSION:Oracle在同一会话中对在同一对象上的同一类型的全部操作写单个记录。
- BY ACCESS:对每个被审计的操作写一个记录
<审计选项>
对象设计选项
对象选项 表 视图 序列 过程/函数/包 显形图/快照 目录 库 对象类型 环境 ALTER × × × × AUDIT × × × × × × × × COMENT × × × DELETE × × × EXECUTE × GRANT × × × × × × × × × INDEX × × INSERT × × × LOCK × × READ × × RENAME × × × SELECT × × × × × UPDATE × × ×
例子1:对表demo的INSERT命令进行审计
AUDIT INSERT ON SCOTT.DEMO;
例子2:对demo表每个命令都进行审计
AUDIT ALL ON SCOTT.DEMO;
5.权限审计
权限审计表示只审计某一个系统权限的使用状况。既可以审计某个用户所使用的系统权限,也可以审计所有 用户使用的系统权限
例子:对用户user1进行系统权限的审计
AUDIT ALTER ANY TABLE,ALTER ANY PROCEDURE BY user1 BY ACCESS
WHENEVER NOT SUCCESSFUL;
提示:通过查询数据字典DBA_PRIV_AUDIT_OPTS查看哪些用户进行了权限的审计。
SELECT USER_NAME,PRIVILEGE,SUCCESS,FAILURE
FROM DBA_PRIV_AUDIT_OPTS;
Oracle数据库之审计(五)相关推荐
- oracle数据库查询近五年数据,Oracle数据库查询基本数据
---------------------------------------------------------------- --找出EMP表 select * from EMP; --选择在部门 ...
- oracle数据库登录审计,oracle数据库审计
一.何谓数据库审计? 数据库审计,就是对数据库的活动做跟踪记录,主要包括数据库连接,SQL语句执行,数据库对象访问这些方面的跟踪记录. 二.审记记录的存储方式 分为两种:一种是存储在操作系统文件中,一 ...
- ORACLE数据库DDL审计触发器与隐藏参数_system_trig_enabled
最近,在我们开发库要对一套实例做一个DDL审计触发器,触发器代码如下所示: ---- 存储DDL语句的表 create table audit_ddl ( opertime time ...
- oracle的操作大全,Oracle数据库操作大全(六)Oracle中操作数据
Java连接数据库方法2,(方法1见:Oracle数据库操作大全(五)) 使用jdbc连接Oracle( 可远程连接 ) ***1.加载驱动 Class.forName("oracle.jd ...
- linux 审计oracle,开启和关闭oracle数据库中的审计功能
开启和关闭oracle数据库中的审计功能 第1步:查看审计功能是否开启? SQL> show parameter audit; NAME TYPE VALUE ...
- oracle数据库审计优点缺点,Oracle数据库安全性:标准数据库审计
Oracle 数据库在其标准版和企业版数据库中均提供了强健的审计支持.审计记录包括有关已审计的操作.执行操作的用户以及操作的时间和日期的信息.审计记录可以存储在数据库审计线索中或操作系统上的文件上.标 ...
- 数据库oracle审计,Oracle数据库审计策略
Oracle数据库审计策略 Oracle数据库默认是关闭审计的,一旦开启了会对oracle数据库的性能产生影响. Oracle默认安装后审计策略设置 默认情况下,审计策略是关闭的,而且审计记录存储的模 ...
- 使用oracle数据库审计,Oracle数据库审计功能详解
一.审计分类: Oracle中审计总体上可分为"标准审计"和"细粒度审计"后者也称为"基于政策的审计",在Oracle10G之后功能得到很大 ...
- oracle审计查询sql语句,Oracle 数据库审计
保证数据库的安全有两种方式,一种是通过权限的存取控制机制,即通过预先控制来防止安全事件的发生:另一种是数据库审计,即对数据库活动做跟踪记录,当发生安全事件时,通过对数据库活动记录进行审计来发现并修复安 ...
最新文章
- Python break语句,continue语句,pass 语句
- 【软考-软件设计师】校验码
- linker command failed with exit code 1 解决
- Unable to Open User Login File
- java小编程----电话号码组合
- python摄像头推流_树莓派使用python-librtmp实现rtmp推流h264的方法
- 埃森哲杯第十六届上海大学程序设计联赛春季赛暨上海高校金马五校赛 C序列变换...
- 目前流行的装修风格_现在最流行的八大装修风格
- pycharm 设置虚拟工作空间_pycharm新建项目配置虚拟环境
- Slimer软工课设日报-2016年6月30日
- 嗅觉计算机应用,sensonic计算机嗅觉分析仪
- MySQL用户管理和权限设置
- loop在python中什么意思_在python中使用loop打开多个文件
- java多态/重载方法——一个疑难代码引发的讨论
- 前端实现一个登录验证的滑块
- Linux dev是什么文件,linux dev文件详解
- win10怎么快捷锁定计算机,win10一键快速锁屏快捷键的两种使用方法
- Vue和ElementUI第二天
- Java字节序与大小端转换_什么时候要进行大小端字节序的转换? | 学步园
- R3 3200G和R3 2200G性能差距 锐龙R33200G和R32200G对比
热门文章
- 技术视角看行业SaaS
- 马云卸任演讲:因为信任,所以简单
- robots文件的Crawl-delay是什么意思
- Spring Security实现RememberMe功能以及原理探究
- 什么是逆向工程?逆向工程的优势
- 百度H5活体检测-语音校验码
- Win10修改msconfig后无法开机怎么办?
- matlab+whisker,科学网—如何绘制箱线图(Box- Whisker Chart) - 陆绮的博文
- 峨眉计算机学校,四川省峨眉山市职业技术学校
- 有源电力滤波器APF MATLAB仿真 选阶补偿,matlab版本V2014,基于LCL滤波器的I型三电平拓扑仿真模型