当前位置: 首页 > 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.lryc.cn/news/604379.html

相关文章:

  • Redis学习------缓存穿透
  • llama factory本地部署常见问题
  • Git版本控制器
  • 人工智能与家庭:智能家居的便捷与隐患
  • gdb调试的限制和配置自动生成core
  • 2023 年 NOI 最后一题题解
  • 【C++篇】哈希扩展:位图和布隆过滤器+哈希切割
  • 【Lambda】flatMap使用案例
  • c++之基础B(第一课)
  • dify离线插件打包步骤
  • 在Trae中使用MoonBit月兔
  • 【编号65】广西地理基础数据(道路、水系、四级行政边界、地级城市、DEM等)
  • 在 Elasticsearch 8.19 和 9.1 中引入更强大、更具弹性和可观测性的 ES|QL
  • Buck的Loadline和DVS区别和联系
  • Jenkinsfile 报错
  • 一篇讲清Redis中常见数据类型的用法
  • Three.js 与 WebXR:初识 VR/AR 开发
  • 国产化再进一步,杰和科技推出搭载国产芯片的主板
  • LoRaWAN协议,提升公用事业能源效率的“隐形引擎”
  • Ubuntu22.04.1搭建php运行环境
  • C++ 高性能容器:ankerl::unordered_dense::map
  • 元码智能“大眼睛”机器人首发,智启生活新纪元!
  • RabbitMQ 发送方确认的两大工具 (With Spring Boot)
  • Metering Solution for Solar + Storage光伏+储能计量解决方案 UL 2735 Certification功率表能源监测电表
  • 第2章 cmd命令基础:常用基础命令(2)
  • c++之基础B之sort排序(第三个参数没有)(第二课)
  • 在macOS上使用VS Code和Clang配置C++开发环境
  • 湖北大学暑期实训优秀作品:面向美丽中国的数据化可视平台
  • 涉及实验(随机分组)的一些概念
  • 【swoole Windows 开发(swoole-cli 开发 hyperf)】