ITPub博客

首页 > 数据库 > Oracle > Oracle 细粒度审计(FGA)

Oracle 细粒度审计(FGA)

原创 Oracle 作者:ihuidx 时间:2018-11-20 11:40:18 0 删除 编辑

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_TRAI L 视图中重要的列

它记录细粒度的访问信息。其中显示了审计事件的时间标记、查询者的数据库用户 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

处理器模块的过程名称(如果存在)


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12002398/viewspace-2220705/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2018-11-20

  • 博文量
    1
  • 访问量
    803