当前位置: 首页 > news >正文

GaussDB 数据库架构师(十二) 数据库对象修改审计设置

1 数据库审计对象的背景

从GaussDB产品文档来理解,这个对象指逻辑对象,如database,schem,user,SQLpatch,Table等等。

2  audit_system_object参数定义

通过修改该配置参数的值,可以只审计需要的数据库对象的操作。

该参数的值由29个二进制位的组合求出,这29个二进制位分别代表29类数据库对象。如果对应的二进制位取值为0,表示不审计对应的数据库对象的CREATE、DROP、ALTER等操作;取值为1,表示审计对应的数据库对象的CREATE、DROP、ALTER等操作。

用于记录SQL PATCH的参数存在特殊性,如果对该对象进行审计且audit_dml_state_select也开启时,对于一条SQL PATCH操作的审计日志会作为DML和DDL被记录两次。

默认值:67121159(十进制),对应二进制为:00100 0000 0000 0011 0000 0000 0111,表示对DATABASE、SCHEMA、USER、SQLPatch这四种数据库对象的DDL操作进行审计。

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/MATVIEW对象的CREATE、DROP操作。

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

第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对象的CREATE、DROP、ALTER操作

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

第12位

保留

-

第13位

保留

-

第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位

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

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

第20位

是否审计CMK、CEK对象的CREATE、DROP操作。

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

第21位

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

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

第22位

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

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

第23位

预留位。

-

第24位

是否审计对gs_global_config全局对象的ALTER、DROP操作。

  • 0表示不审计对系统表gs_global_config全局对象的ALTER、DROP操作。
  • 1表示审计对系统表gs_global_config全局对象的ALTER、DROP操作。

第25位

是否审计FOREIGN DATA WRAPPER对象的CREATE、DROP、ALTER操作,目前仅支持CREATE功能,ALTER 、DROP 功能暂不支持。

  • 0表示不审计FOREIGN DATA WRAPPER对象的CREATE、DROP、ALTER操作。
  • 1表示审计FOREIGN DATA WRAPPER对象的CREATE、DROP、ALTER操作。

第26位

是否审计SQL PATCH对象的CREATE、ENABLE、DISABLE、DROP操作。

  • 0表示不审计SQL PATCH对象的CREATE、ENABLE、DISABLE、DROP操作。
  • 1表示审计SQL PATCH对象的CREATE、ENABLE、DISABLE、DROP操作。

第27位

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

  • 0表示不审计EVENT对象的CREATE、ENABLE、DISABLE、DROP操作。
  • 1表示审计EVENT对象的CREATE、ENABLE、DISABLE、DROP操作。

第28位

是否审计DBLINK对象的CREATE、ALTER、DROP操作。目前DATABASE LINK功能暂不支持。

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

3 audit_system_object值的修改

默认值:7121159   对应的二进制:0100000000000011000000000111

如果我将第3位(注:从0开始计位数)改为1:对应功能位:是否审计TABLE对象的CREATE、DROP、ALTER、TRUNCATE操作。

即:0101000000000011000000000111

将其转换为十进制:500 030 007

gs_guc reload -Z coordinator -Z datanode -N all -I all -c "audit_system_object=500030007"

执行结果:

验证结果:

audit_system_object改为500030007

到此,是否审计TABLE对象的CREATE、DROP、ALTER、TRUNCATE操作的功能开启。

4 批注

GaussDB数据库对象的修改审计采用28位的二进制表示,在数据安全环境较高的情况下需要按需求适当设置。

http://www.dtcms.com/a/305740.html

相关文章:

  • (RedmiBook)上禁用触摸板或自带键盘
  • 【LangGraph技术深度解析】构建下一代AI工作流的革命性框架
  • 数据赋能(358)——数据分析——可解释性原则
  • ZKMall商城开源本地部署指南
  • 【Rust多进程】征服CPU的艺术:Rust多进程实战指南
  • 2419. 按位与最大的最长子数组
  • web服务器nginx
  • 新零售“实—虚—合”逻辑下的技术赋能与模式革新:基于开源AI大模型、AI智能名片与S2B2C商城小程序源码的研究
  • 标准七层网络协议和TCP/IP四层协议的区别
  • uni-app webview 的message无法触发的解决方案
  • 在 Elasticsearch 8.19 和 9.1 中引入更强大、更具弹性和可观测性的 ES|QL
  • jenkins连接docker失败【还是没解决】
  • 关于MyBatis 的懒加载(Lazy Loading)机制
  • Hutool 的 WordTree(敏感词检测)
  • 阿里云AI代码助手通义灵码开发指导
  • Javaweb————什么是OPTIONS预检请求
  • 2025年6月数据挖掘顶刊TKDE研究热点有哪些?
  • 磁悬浮技术原理
  • 自动化与配置管理工具 ——Ansible
  • spark入门-helloword
  • React 闭包陷阱及解决方案与 React 16/17/18 版本区别
  • 5种安全方法:如何删除三星手机上的所有内容
  • 三轴云台之减震系统篇
  • OpenEuler 安装 apache + php8 不解析php文件的处理
  • Apache Ignite 2.8 引入的新指标系统(New Metrics System)的完整说明
  • SpringBoot+Three.js打造3D看房系统
  • 深入理解 Doris Compaction:提升查询性能的幕后功臣
  • 深入剖析 Spark Shuffle 机制:从原理到实战优化
  • 【CVPR2025】FlowRAM:用区域感知与流匹配加速高精度机器人操作策略学习
  • linux 执行sh脚本,提示$‘\r‘: command not found