You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OracleDB统一审计追踪additional_info字段使用及syslog同步问题

向Oracle统一审计记录添加additional_info及syslog同步问题解答

一、如何向unified_audit_trail的additional_info字段添加信息

Oracle的unified_audit_trail表中additional_info字段默认由Oracle自动填充上下文信息(如客户端IP、OS用户、应用程序名等),若需自定义补充信息,可通过以下两种方式实现:

1. 会话级标识注入

使用DBMS_SESSION.SET_IDENTIFIER设置会话专属标识,该值会被Oracle自动写入后续审计记录的additional_info字段:

BEGIN
  DBMS_SESSION.SET_IDENTIFIER('自定义标记:用户HR_ADMIN执行敏感数据查询');
END;
/

执行该语句后,当前会话产生的所有统一审计记录都会在additional_info中包含此标记内容。

2. 启用扩展审计选项

在创建审计策略时添加EXTENDED关键字,可让Oracle在additional_info中记录更多细节(如绑定变量值、SQL文本片段等):

-- 针对HR.EMPLOYEES表的SELECT操作启用扩展审计
AUDIT SELECT ON HR.EMPLOYEES BY ACCESS EXTENDED;

若使用细粒度审计(FGA),同样可通过指定AUDIT_TRAIL => DB+EXTENDED来触发additional_info的详细记录:

BEGIN
  DBMS_FGA.ADD_POLICY(
    OBJECT_SCHEMA => 'HR',
    OBJECT_NAME => 'EMPLOYEES',
    POLICY_NAME => 'EMP_SENSITIVE_AUDIT',
    AUDIT_TRAIL => DBMS_FGA.DB+DBMS_FGA.EXTENDED,
    AUDIT_COLUMN => 'SALARY,SSN'
  );
END;
/

注意:Oracle未提供直接手动写入additional_info的存储过程或配置项,该字段核心用于记录审计上下文,自定义内容需通过会话标识或扩展审计规则间接注入。

二、审计日志输出至syslog时,additional_info是否同步

是的,当配置Oracle统一审计输出到syslog时,additional_info字段的内容会被同步到syslog消息中。

配置要点

  1. 先启用统一审计的syslog输出:
BEGIN
  DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_PROPERTY(
    AUDIT_TRAIL_TYPE => DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED,
    AUDIT_TRAIL_PROPERTY => DBMS_AUDIT_MGMT.AUDIT_TRAIL_SYSLOG_ENABLE,
    AUDIT_TRAIL_PROPERTY_VALUE => 'TRUE'
  );
END;
/
  1. 可通过AUDIT_SYSLOG_FORMAT自定义syslog消息格式,确保additional_info被包含:
BEGIN
  DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_PROPERTY(
    AUDIT_TRAIL_TYPE => DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED,
    AUDIT_TRAIL_PROPERTY => DBMS_AUDIT_MGMT.AUDIT_SYSLOG_FORMAT,
    AUDIT_TRAIL_PROPERTY_VALUE => 'ORA_AUDIT: user=%user%, event=%event%, additional_info=%additional_info%'
  );
END;
/

内容的提问来源于stack exchange,提问作者horokos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 03:05:24