暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

AntDB-S用户操作指南(3):审计

关耳 2023-09-27
138


本系统的审计功能通过pgaudit插件实现。

安装pgaudit插件,然后在postgresql.conf文件中设置参数,注意这里要选择与相应内核版本匹配的版本:

shared_preload_libraries='pgaudit'

下面是审计选项:

  • pgaudit.log

指定会话审计日志记录哪些语句类。可以设置的类别 read、write、function、role 、ddl、misc 、 All 等。

  • pgaudit.log_catalog

指定当一条语句中的所有关系都位于pg_catalog中时,应该启用会话日志记录。禁用此设置将减少来自psql和PgAdmin等工具的日志噪音,这些工具会大量查询目录。

  • pgaudit.log_relation

指定会话审计日志记录是否应该为SELECT或DML语句中引用的每个关系(表、视图等)创建单独的日志条目。对于不使用对象审计日志记录的穷举日志记录,这是一个非常有用的快捷方式。

可以通过下面的sql查询审计项配置:

select name,setting,source from pg_settings where name like 'pgaudit%';

图片包含 日程表

描述已自动生成

会话审计

会话审计日志提供用户在后端执行的所有语句的详细日志。使用pgaudit.log设置启用会话日志记录。

配置如下:

set pgaudit.log = 'write, ddl';

set pgaudit.log_relation = on;

set pgaudit.log_client=on;

create table account

id int,

name text,

password text,

description text

);

insert into account (id, name, password, description)

values (1, 'user1', 'HASH1', 'blah, blah');

可以看到审计日志:

文本

描述已自动生成

对象审计

对象审计模式只支持增删改查的审计。对象审计模式是基于角色实现的,通过pgaudit.role参数来定义用于对象审计的角色。当审计角色具有执行命令的权限或有成员角色继承权限时,将审计访问的对象。

create role auditor with password 'wcb';

set pgaudit.log = '';

set pgaudit.role = 'auditor';

grant select, delete on public.account to auditor;

drop table account;

create table account(

id int,

name text,

password text,

description text

);

insert into account (id, name, password, description) values (1, 'user1', 'HASH1', 'blah, blah');

select * from account;

日志如下:

关于AntDB数据库

AntDB数据库始于2008年,在运营商的核心系统上,为全国24个省份的10亿多用户提供在线服务,具备高性能、弹性扩展、高可靠等产品特性,峰值每秒可处理百万笔通信核心交易,保障系统持续稳定运行近十年,并在通信、金融、交通、能源、物联网等行业成功商用落地。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论