首批通过分布式安全可靠测评,为关键业务系统打造
开启安全审计
更新时间:2025-11-15 11:38:08
本章节介绍如何开启审计功能并设置审计记录的存储位置。
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:审计记录写入本地磁盘文件。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。 - 写入内部表:审计信息直接写入系统表。内部表
__all_tenant_security_audit_record,存放审计记录;内部表__all_virtual_audit_operation或__all_virtual_audit_action,存放审计相关ID和Name的映射。
后续操作
开启安全审计后,可以设置具体的安全审计规则。关于设置安全审计规则的详细操作,参见 设置和查看审计规则。
说明
只有 ORAAUDITOR 用户主动设置了审计规则后,才会开始审计。
相关文档
有关安全审计的更多相关操作,参见: