操作审计
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
二进制位 |
含义 |
取值说明 |
---|---|---|
第0位 |
是否审计DATABASE对象的CREATE、DROP、ALTER操作。 |
|
第1位 |
是否审计SCHEMA对象的CREATE、DROP、ALTER操作。 |
|
第2位 |
是否审计USER对象的CREATE、DROP、ALTER操作。 |
|
第3位 |
是否审计TABLE对象的CREATE、DROP、ALTER、TRUNCATE操作。 |
|
第4位 |
是否审计INDEX对象的CREATE、DROP、ALTER操作。 |
|
第5位 |
是否审计VIEW对象的CREATE、DROP、ALTER操作。 |
|
第6位 |
是否审计TRIGGER对象的CREATE、DROP、ALTER操作。 |
|
第7位 |
是否审计PROCEDURE/FUNCTION对象的CREATE、DROP、ALTER操作。 |
|
第8位 |
是否审计TABLESPACE对象的CREATE、DROP、ALTER操作。 |
|
第9位 |
是否审计RESOURCE POOL对象的CREATE、DROP、ALTER操作。 |
|
第10位 |
是否审计WORKLOAD对象的CREATE、DROP、ALTER操作。 |
|
第11位 |
是否审计SERVER FOR HADOOP对象的CREATE、DROP、ALTER操作。 |
|
第12位 |
是否审计DATA SOURCE对象的CRAETE、DROP、ALTER操作。 |
|
第13位 |
是否审计NODE GROUP对象的CREATE、DROP、ALTER操作。 |
|
第14位 |
是否审计ROW LEVEL SECURITY对象的CREATE、DROP、ALTER操作。 |
|
第15位 |
是否审计TYPE对象的CREATE、DROP、ALTER操作。 |
|
第16位 |
是否审计TEXT SEARCH对象(CONFIGURATION和DICTIONARY)的CREATE、DROP、ALTER操作。 |
|
第17位 |
是否审计DIRECTORY对象的CREATE、DROP、ALTER操作。 |
|
第18位 |
是否审计SYNONYM对象的CREATE、DROP、ALTER操作。 |
|
第19位 |
是否审计REDACTION POLICY对象的CREATE、DROP、ALTER操作。 |
|
第20位 |
是否审计SEQUENCE对象的CREATE、DROP、ALTER操作。 |
|
第21位 |
是否审计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”。