更新时间:2024-10-10 GMT+08:00

操作审计

audit_operation_exec

参数说明:该参数决定是否审计GaussDB(DWS)中各类执行成功的操作,由用户根据实际需求进行配置。

参数类型:SIGHUP

取值范围:字符串

  • none:表示未配置审计项,如果同时配置了其他任何审计项,则none失效。
  • all:表示对所有操作成功的场景进行审计。如果同时配置了其他任何审计项,则覆盖所有其他审计项的配置。注意,即使配置为all,也不表示对所有的DDL操作进行审计,仍然需要结合audit_system_object,对DDL操作的对象级别进行控制。
  • login:表示对用户登录成功的场景进行审计。
  • logout:表示对用户退出进行审计。
  • database_process:表示对数据库启动、停止、切换、恢复操作进行审计。
  • user_lock:表示对用户锁定和解锁成功的场景进行审计。
  • grant_revoke:表示对用户权限授予和回收成功的场景进行审计。
  • ddl:表示对DDL操作成功的场景进行审计,因为DDL操作由会根据操作对象进行更细粒度控制,仍然沿用审计开关audit_system_object,即由audit_system_object控制对哪些对象的DDL操作进行审计(此处不配置ddl,只要配置了audit_system_object,审计也会生效)。
  • select:表示对select操作成功的场景进行审计。
  • copy:表示对copy操作成功的场景进行审计。
  • userfunc:表示对用户自定义函数、存储过程、匿名块操作成功的场景进行审计。
  • set:表示对set操作成功的场景进行审计。
  • transaction:表示对事务操作成功的场景进行审计。
  • vacuum:表示对vacuum操作成功的场景进行审计。
  • analyze:表示对analyze操作成功的场景进行审计。
  • explain:表示对explain操作成功的场景进行审计。
  • specialfunc:表示对特殊函数调用操作成功的场景进行审计,特殊函数包括:pg_terminate_backend、pg_cancel_backend。
  • insert:表示对insert操作成功的场景进行审计。
  • update:表示对update操作成功的场景进行审计。
  • delete:表示对delete操作成功的场景进行审计。
  • merge:表示对merge操作成功的场景进行审计。
  • show:表示对show操作成功的场景进行审计。
  • checkpoint:表示对checkpoint操作成功的场景进行审计。
  • barrier:表示对barrier操作成功的场景进行审计。
  • cluster:表示对cluster操作成功的场景进行审计。
  • comment:表示对comment操作成功的场景进行审计。
  • cleanconn:表示对cleanconnection操作成功的场景进行审计。
  • prepare:表示对PREPARE、EXECUTE、DEALLOCATE操作成功的场景进行审计。
  • constraints:表示对constraints操作成功的场景进行审计。
  • cursor:表示对游标操作成功的场景进行审计。
  • discard:表示对清理当前会话的全局临时表信息操作成功的场景进行审计。

默认值:login、logout、database_process、user_lock、grant_revoke、set、transaction、cursor

  • 建议transaction审计项保留,否则事务内语句都不会被审计。
  • 建议cursor审计项保留,否则cursor内select语句不会被审计。
  • 需注意Data Studio客户端会自动给select语句封装cursor。
  • 如果自定义函数、存储过程中有fetch语句,则审计fetch语句时,其中common_text字段记录的为其对应的CURSOR内容。

audit_operation_error

参数说明:该参数决定是否审计GaussDB(DWS)中各类执行失败的操作,由用户根据实际需求进行配置。

参数类型:SIGHUP

取值范围:字符串

  • none:表示未配置审计项,如果同时配置了其他任何审计项,则none失效。
  • syn_success:表示同步audit_operation_exec的配置,即配置了某操作执行成功场景的审计,则对应的执行失败场景也记入审计。需注意,配置了syn_success后,仍可以继续配置其他操作执行失败场景的审计;如果audit_operation_exec配置为all,则所有的失败场景均记入审计;如果audit_operation_exec配置为none,则syn_success等同于none,即未配置审计项。
  • parse:表示对用户输入命令解析失败场景进行审计,包含等待命令超时的失败场景。
  • login:表示对用户登录失败的场景进行审计。
  • user_lock:表示对用户锁定和解锁失败的场景进行审计。
  • violation:表示对用户访问存在越权的场景进行审计。
  • grant_revoke:表示对用户权限授予和回收失败的场景进行审计。
  • ddl:表示对DDL操作失败的场景进行审计,因为DDL操作由会根据操作对象进行更细粒度控制,仍然需要结合audit_system_object的配置情况,所以此处配置ddl后,将对audit_system_object指定类型的DDL失败场景进行审计。
  • select:表示对SELECT操作失败的场景进行审计。
  • copy:表示对COPY操作失败的场景进行审计。
  • userfunc:表示对用户自定义函数、存储过程、匿名块操作失败的场景进行审计。
  • set:表示对set操作失败的场景进行审计。
  • transaction:表示对事务操作失败的场景进行审计。
  • vacuum:表示对VACUUM操作失败的场景进行审计。
  • analyze:表示对ANALYZE操作失败的场景进行审计。
  • explain:表示对EXPLAIN操作失败的场景进行审计。
  • specialfunc:表示对特殊函数调用操作失败的场景进行审计,特殊函数包括:pg_terminate_backend、pg_cancel_backend。
  • insert:表示对INSERT操作失败的场景进行审计。
  • update:表示对UPDATE操作失败的场景进行审计。
  • delete:表示对DELETE操作失败的场景进行审计。
  • merge:表示对MERGE操作失败的场景进行审计。
  • show:表示对SHOW操作失败的场景进行审计。
  • checkpoint:表示对CHECKPOINT操作失败的场景进行审计。
  • barrier:表示对BARRIER操作失败的场景进行审计。
  • cluster:表示对CLUSTER操作失败的场景进行审计。
  • comment:表示对COMMENT操作失败的场景进行审计。
  • cleanconn:表示对CLEANCONNECTION操作失败的场景进行审计。
  • prepare:表示对PREPARE、EXECUTE、DEALLOCATE操作失败的场景进行审计。
  • constraints:表示对CONSTRAINTS操作失败的场景进行审计。
  • cursor:表示对游标操作失败的场景进行审计。
  • blacklist:表示对黑名单执行失败进行审计。
  • discard:表示对清理当前会话的全局临时表信息执行失败的场景进行审计。

默认值:login

audit_inner_tool

参数说明:该参数决定是否审计GaussDB(DWS)中内部维护工具的各类操作。

参数类型:SIGHUP

取值范围:布尔型

  • on表示审计来自内部维护工具的各类操作。
  • off表示不审计来自内部维护工具的各类操作。

默认值:off

audit_system_object

参数说明:该参数决定是否对GaussDB(DWS)数据库对象的CREATE、DROP、ALTER操作进行审计。GaussDB(DWS)数据库对象包括DATABASE、USER、schema、TABLE等。通过修改该配置参数的值,可以只审计需要的数据库对象的操作。

参数类型:SIGHUP

取值范围:整型,0~4194303

  • 0代表关闭GaussDB(DWS)数据库对象的CREATE、DROP、ALTER操作审计功能。
  • 非0代表只审计GaussDB(DWS)的某类或者某些数据库对象的CREATE、DROP、ALTER操作。

取值说明

该参数的值由22个二进制位的组合求出,这22个二进制位分别代表GaussDB(DWS)的22类数据库对象。如果对应的二进制位取值为0,表示不审计对应的数据库对象的CREATE、DROP、ALTER操作;取值为1,表示审计对应的数据库对象的CREATE、DROP、ALTER操作。这22个二进制位代表的具体审计内容请参见表1

默认值:12303

表1 audit_system_object取值含义说明

二进制位

含义

取值说明

第0位

是否审计DATABASE对象的CREATE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作;
  • 1表示审计该对象的CREATE、DROP、ALTER操作。

第1位

是否审计SCHEMA对象的CREATE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作;
  • 1表示审计该对象的CREATE、DROP、ALTER操作。

第2位

是否审计USER对象的CREATE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作;
  • 1表示审计该对象的CREATE、DROP、ALTER操作。

第3位

是否审计TABLE对象的CREATE、DROP、ALTER、TRUNCATE操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER、TRUNCATE操作;
  • 1表示审计该对象的CREATE、DROP、ALTER、TRUNCATE操作。

第4位

是否审计INDEX对象的CREATE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作;
  • 1表示审计该对象的CREATE、DROP、ALTER操作。

第5位

是否审计VIEW对象的CREATE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作;
  • 1表示审计该对象的CREATE、DROP、ALTER操作。

第6位

是否审计TRIGGER对象的CREATE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作;
  • 1表示审计该对象的CREATE、DROP、ALTER操作。

第7位

是否审计PROCEDURE/FUNCTION对象的CREATE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作;
  • 1表示审计该对象的CREATE、DROP、ALTER操作。

第8位

是否审计TABLESPACE对象的CREATE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作;
  • 1表示审计该对象的CREATE、DROP、ALTER操作。

第9位

是否审计RESOURCE POOL对象的CREATE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作;
  • 1表示审计该对象的CREATE、DROP、ALTER操作

第10位

是否审计WORKLOAD对象的CREATE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作;
  • 1表示审计该对象的CREATE、DROP、ALTER操作

第11位

是否审计SERVER FOR HADOOP对象的CREATE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作;
  • 1表示审计该对象的CREATE、DROP、ALTER操作

第12位

是否审计DATA SOURCE对象的CRAETE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作;
  • 1表示审计该对象的CREATE、DROP、ALTER操作。

第13位

是否审计NODE GROUP对象的CREATE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作;
  • 1表示审计该对象的CREATE、DROP、ALTER操作。

第14位

是否审计ROW LEVEL SECURITY对象的CREATE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作;
  • 1表示审计该对象的CREATE、DROP、ALTER操作。

第15位

是否审计TYPE对象的CREATE、DROP、ALTER操作。

  • 0表示不审计TYPE对象的CREATE、DROP、ALTER操作;
  • 1表示审计TYPE对象的CREATE、DROP、ALTER操作。

第16位

是否审计TEXT SEARCH对象(CONFIGURATION和DICTIONARY)的CREATE、DROP、ALTER操作。

  • 0表示不审计TEXT SEARCH对象的CREATE、DROP、ALTER操作;
  • 1表示审计TEXT SEARCH对象的CREATE、DROP、ALTER操作。

第17位

是否审计DIRECTORY对象的CREATE、DROP、ALTER操作。

  • 0表示不审计DIRECTORY对象的CREATE、DROP、ALTER操作;
  • 1表示审计DIRECTORY对象的CREATE、DROP、ALTER操作。

第18位

是否审计SYNONYM对象的CREATE、DROP、ALTER操作。

  • 0表示不审计SYNONYM对象的CREATE、DROP、ALTER操作;
  • 1表示审计SYNONYM对象的CREATE、DROP、ALTER操作。

第19位

是否审计REDACTION POLICY对象的CREATE、DROP、ALTER操作。

  • 0表示不审计REDACTION POLICY对象的CREATE、DROP、ALTER操作;
  • 1表示审计REDACTION POLICY对象的CREATE、DROP、ALTER操作。

第20位

是否审计SEQUENCE对象的CREATE、DROP、ALTER操作。

  • 0表示不审计SEQUENCE对象的CREATE、DROP、ALTER操作;
  • 1表示审计SEQUENCE对象的CREATE、DROP、ALTER操作。

第21位

是否审计NODE对象的CREATE、DROP、ALTER操作。

  • 0表示不审计NODE对象的CREATE、DROP、ALTER操作;
  • 1表示审计NODE对象的CREATE、DROP、ALTER操作。

enableSeparationOfDuty

参数说明:是否开启三权分立选项。

参数类型:POSTMASTER

取值范围:布尔型

  • on表示开启三权分立。
  • off表示不开启三权分立。

默认值:off

security_enable_options

参数说明:该参数决定是否允许安全模式下使用grant_to_public、grant_with_grant_option和foreign_table_options三种功能,可根据实际需求进行配置。该参数仅8.2.0及以上集群版本支持。

参数类型:SIGHUP

取值范围:字符串

  • grant_to_public,表示允许安全模式下使用grant to public功能。
  • grant_with_grant_option,表示允许安全模式下使用with grant option功能。
  • foreign_table_options,表示允许安全模式下使用外表操作功能,不需要显式赋予用户useft权限。

默认值:

  • 新安装集群场景下,该参数默认值为空,表示安全模式下不允许使用grant_to_public、grant_with_grant_option和foreign_table_options中任何一种功能。
  • 升级场景下,该参数的默认值保持前向兼容,若用户升级前原版本中GUC参数enable_grant_public和enable_grant_option默认为ON,那么升级后security_enable_options参数的默认值为“grant_to_public, grant_with_grant_option”。