Oracle 细粒度审计(FGA)
1 显示所有dbms_fga过程:
desc dbms_fga
2 添加审计
begin
dbms_fga.add_policy(
object_schema=>'HR',
object_name=>'EMPLOYEES',
policy_name=>'AUDI_SAL_EMP ',
audit_condition=>'salary is not null and commission_pct is not null',
audit_column=>'salary,commission_pct',
enable=>true,
statement_types=>'select');
end;
3 删除审计
begin
DBMS_FGA.DROP_POLICY (
object_schema=>'HR',
object_name=>'employees',
policy_name=>'audi_sal_emp');
end;
4 查看审计记录
select timestamp,db_user,os_user,object_schema,object_name,sql_text from dba_fga_audit_trail;
数据字典视图:DBA_FGA_AUDIT_TRAIL 视图中重要的列
它记录细粒度的访问信息。其中显示了审计事件的时间标记、查询者的数据库用户 ID、操作系统用户 ID、查询中所使用表的名称和所有者,最后还有确切的查询语句。
SESSION_ID
审计会话标识符;与 V$SESSION 视图中的会话标识符不同
TIMESTAMP
审计记录生成时的时间标记
DB_USER
发出查询的数据库用户
OS_USER
操作系统用户
USERHOST
用户连接的机器的主机名
CLIENT_ID
客户标识符(如果由对打包过程 dbms_session.set_identifier 的调用所设置)
EXT_NAME
外部认证的客户名称,如 LDAP 用户
OBJECT_SCHEMA
对该表的访问触发了审计的表所有者
OBJECT_NAME
对该表的SELECT操作触发了审计的表名称
POLICY_NAME
触发审计的策略名称(如果对表定义了多个策略,则每个策略将插入一条记录。在此情况下,该列显示哪些行是由哪个策略插入的。)
SCN
记录了审计的 Oracle 系统更改号
SQL_TEXT
由用户提交的 SQL 语句
SQL_BIND
由 SQL 语句使用的绑定变量(如果存在)
5 列出所有审计策略
数据字典视图: DBA_AUDIT_POLICIES 中重要的列
显示系统上的所有审计策略
OBJECT_SCHEMA
对其定义了 FGA 策略的表或视图的所有者
OBJECT_NAME
表或视图的名称
POLICY_NAME
策略的名称 — 例如,ACCOUNTS_ACCESS
POLICY_TEXT
在添加策略时指定的审计条件 — 例如,BALANCE >= 11000
POLICY_COLUMN
审计列 — 例如,BALANCE
ENABLED
如果启用则为 YES,否则为 NO
PF_SCHEMA
拥有策略处理器模块的模式(如果存在)
PF_PACKAGE
处理器模块的程序包名称(如果存在)
PF_FUNCTION
处理器模块的过程名称(如果存在)
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。