首批通过分布式安全可靠测评,为关键业务系统打造
开启安全审计
更新时间:2026-07-16 19:52:04
本章节介绍如何开启审计功能并设置审计记录的存储位置。
OceanBase 数据库的审计相关操作一般由内置的 ORAAUDITOR 用户进行,该用户的密码和权限由 SYS 用户指定。
操作步骤
使用
SYS用户登录到 Oracle 租户并解锁ORAAUDITOR用户。obclient> ALTER USER ORAAUDITOR ACCOUNT UNLOCK;说明
OceanBase 数据库默认创建了
ORAAUDITOR用户。该用户默认处于锁定状态,在使用审计前需要启用该用户。修改
ORAAUDITOR用户的登录密码。为了保障安全性,
ORAAUDITOR用户的登录密码需要由SYS用户来指定。如果后续需要修改该密码,重新指定一个新的密码即可。obclient> ALTER USER ORAAUDITOR IDENTIFIED BY ******;设置
ORAAUDITOR用户的权限。ORAAUDITOR用户默认不带任何权限,为了执行安全审计相关的操作,需要通过GRANT语句给ORAAUDITOR用户授予CREATE SESSION权限。如果允许ORAAUDITOR用户查看审计记录,需要授予SELECT ANY DICTIONARY权限。obclient> GRANT CREATE SESSION, SELECT ANY DICTIONARY TO ORAAUDITOR;启用审计功能并设置审计记录的存储位置。
通过配置项
audit_trail开启审计功能,执行成功后立即生效。该配置项的取值如下:NONE:关闭审计,为默认值。OS:审计记录写入本地磁盘文件。LOG:审计记录写入审计日志。该取值从 V4.4.2 BP2 版本开始支持。DB:审计记录写入内部表。DB,EXTENDED / DB_EXTENDED:审计记录写入内部表且记录包含执行的 SQL 语句。
示例如下:
obclient> ALTER SYSTEM SET audit_trail = 'DB,EXTENDED';关于
audit_trail配置项的详细信息,参见 audit_trail。说明
审计记录支持写入内部表、写入本地磁盘文件和写入审计日志三种方式:
- 写入磁盘文件:通过异步写的方式记录在
<安装目录>/audit/下,默认在/home/admin/oceanbase/audit/observer_xx_xxxxxx.aud。 - 写入审计日志:审计记录写入审计日志文件,支持日志归档、压缩、轮转、清理及加密等管理策略,从 V4.4.2 BP2 版本开始支持。
- 写入内部表:审计信息直接写入系统表。内部表
__all_tenant_security_audit_record,存放审计记录;内部表__all_virtual_audit_operation或__all_virtual_audit_action,存放审计相关ID和Name的映射。
审计日志加密
说明
Oracle 模式审计日志加密功能从 V4.4.2 BP2 版本开始支持。
Oracle 租户在将审计记录写入日志文件(audit_trail 为 LOG)时,支持对归档日志以明文或加密方式落盘。加密通过 audit_log_encryption 配置项以及审计函数 AUDIT_LOG_ENCRYPTION_PASSWORD_SET() 和 AUDIT_LOG_ENCRYPTION_PASSWORD_GET() 实现。具体步骤参见文末配置文档。
相关文档
有关安全审计的更多相关操作,参见: