首批通过分布式安全可靠测评,为关键业务系统打造
安全审计概述
更新时间:2026-07-01 11:01:45
数据加密和访问控制可以大幅降低安全风险,但对于具备权限的用户,仍然需要记录其操作,以防止用户登录信息泄露,或者访问权限被滥用。审计功能可以加强企业对数据安全、合规等方面的要求,是跟踪用户行为最主要的工具。
功能适用性
该内容仅适用于 OceanBase 数据库企业版,OceanBase 数据库社区版暂不支持审计功能。
MySQL 模式审计
通过过滤器来设置需要被审计的请求类型,如登入登出、DML 语句、CMD 语句等,对应记录会持久化到本地盘或 OSS 审计文件中,并按配置策略进行轮转、清理和压缩。
审计概述
在 OceanBase 数据库的 MySQL 模式下,数据库审计功能通过一系列过滤器对特定事件进行审计。过滤器可以根据账号、事件类型和事件属性等维度进行筛选,并决定是否审计筛选出的事件。设置过滤器之后,需将其应用到用户才能生效。过滤器与用户的关系是一对多:一个过滤器可应用于多个用户,但每个用户只能应用一个过滤器。同时,可以设置一个默认过滤器,适用于未明确设置过滤器的所有用户。
审计流程
MySQL 租户审计流程包括开启安全审计、设置和查看审计规则、查看审计记录以及关闭安全审计。在开启安全审计时,需要确定审计范围并注意使用限制,然后创建和配置过滤器以进行数据过滤。设置和查看审计规则包括确定日志策略、格式、数据脱敏、输出路径、归档、清理和压缩,以及审计日志是否加密等。通过日志查看审计记录,最后在关闭安全审计时清除过滤器配置并删除过滤器。
Oracle 模式审计
以租户为单位、由审计员 ORAAUDITOR 执行,记录符合 Oracle 标准的 SQL 语句和数据对象操作,并将结果保存到磁盘文件或数据库表中,但不支持统一审计和删除审计数据。
审计概述
审计以租户为单位,租户 A 发起的审计只对租户 A 下用户的操作有效,其它租户无效。
审计操作仅审计员
ORAAUDITOR可以进行,符合三权分立的要求。审计内容、语法和 Oracle 标准审计基本一致。不支持统一审计。
审计结果可以保存到磁盘文件中,也可以保存在数据库表中。
支持 SQL 语句和数据对象的审计类型。
不支持修改、覆盖、删除审计数据。
审计流程
Oracle 租户审计流程包括开启安全审计、设置和查看审计规则、查看审计记录。开启时需配置 audit_trail 等项并启用 ORAAUDITOR;设置规则通过 AUDIT/NOAUDIT 完成。若审计记录写入磁盘文件,还可通过配置项 audit_log_encryption 及两个审计函数对归档日志加密(从 V4.4.2 BP2 起支持)。审计检查的时机位于一条用户 SQL 执行完毕后准备回包之前,流程如下:
检查对当前用户是否进行审计,根据租户、用户名、配置项综合判断。
解析 SQL 语句中可被审计的操作,一条 SQL 语句可以包含多个不同的操作,例如
insert into t1 select * from t2, t3中包含了(insert, t1)、(select, t2)、(select t3)3 个操作。对每个操作单独判断是否命中任意一条审计规则。
每个命中规则的操作单独产生一条审计记录。根据配置项,审计记录可以记录在内部表或文件中。