摘要:《Oracle 稽核方式解析 [audit]》
以下是参考网络上文档后写下,若有错误还请指教,谢谢.
-----------------------------------------------------------------------------------------------------------------
1.Oracle audit:? 特定对象对某种权限的使用;对特定表 select、insert、update、delete;
? 例如: A. Ting 使用到 "Select any table" 的权限,存取Chemo的某张表,但是并未透过正式授权。
? ?B. Create Table 的权限使用
? ?C. Update Ting.medmedf
? 可稽核的内容: 可得知OS登入的账号、使用的oracle账号、机器名称、稽核被触发的时间、依据稽核内容记录。
? 例如: 使用者在何时登入系统;使用者是否存取特定数据表。
? 优点: A. 每个session 只会产生一笔稽核数据;或是每次存取数据表时一笔稽核数据。 资源使用较 FGA (Fine-grained audit) 少。
B. 可将此记录记在 DB 或是 系统事件检视器中。? 缺点: A.无法得知细节资讯。例如无法确切得知使用者存取的是那一笔数据,用
了什么SQL,改了什么数据。? ====>? 可透过trigger实现,但仅能针对特定重要数据表。
B.若要对特定对象下的所有数据表作稽核,需要逐笔设定。
C.audit 设定需变更数据库参数;必须重启数据库才能变更设定。
2.System triggers : 与一般建立在数据表上的trigger不同。 此 trigger 是建立在系统事件之上;例如 登入、登出、数据库开启、
关、creation、altering、dropping of schema objects。
AFTER STARTUP
BEFORE SHUTDOWN
AFTER LOGON
BEFORE LOGOFF
AFTER DB_ROLE_CHANGE -- for Data Guard failover and switchover
AFTER SUSPEND
AFTER SERVERERROR
例如:
CREATE OR REPLACE TRIGGER bcs_trigger
BEFORE LOGON
ON DATABASE
BEGIN
? NULL;
END:
2.1 DDL trigger : 当Schema 有ddl异动时触发
BEFORE / AFTER ALTER
BEFORE / AFTER ANALYZE
BEFORE / AFTER ASSOCIATE STATISTICS
BEFORE / AFTER AUDIT
BEFORE / AFTER COMMENT
BEFORE / AFTER CREATE
BEFORE / AFTER DDL
BEFORE / AFTER DISASSOCIATE STATISTICS
BEFORE / AFTER DROP
BEFORE / AFTER GRANT
BEFORE / AFTER NOAUDIT
BEFORE / AFTER RENAME
BEFORE / AFTER REVOKE
BEFORE / AFTER TRUNCATE
AFTER SUSPEND
例如:
CREATE OR REPLACE TRIGGER bcs_trigger
BEFORE CREATE
ON SCHEMA
BEGIN
? NULL;
END:
3.Update、delete、insert triggers: 建立在数据上的trigger,可得知使用者操作的细微动作;例如 哪一笔数据被更新,原本数据的
样与之后数据的模样均可被记录。? 缺点: 只能针对特定重要数据表记录。
4.Fine-grained audit: 可针对特定数据表的存取作记录,会有当时执行的SQL语句及可限制某条件下被操作才稽核。
? 优点: A. 不须重启数据库,仅须执行package (dbms_fga)
B.可知道所操作的SQL命令。
? 缺点: A. oracle 9i 只能针对 select 作稽核; oracle 10g 可以作 select、update 、insert、 delete的稽核
B. 因每个作业都会产生一笔数据,所以资源使用较 Oracle audit 多。
C. 若要对特定对象下的所有数据表作稽核,需要逐笔设定。 日后若有新的数据表,须再次设定。
Fine-grained auditing may be useful for specific auditing situations, but is not suggested for daily auditing activities.
5.System log: 事件检视器
上述作业建议要针对特定用途而使用,或定期作稽核数据的清除或备份。
否则日后容易变成系统负担;数据过多难以稽核使用。
原文:大专栏 《Oracle 稽核方式解析 [audit]》