Postgresql审计:pgaudit安装使用

本文详细介绍了如何在PostgreSQL 10环境中编译安装pgaudit插件,配置参数如pgaudit.log设置,以及如何调整审计日志记录。重点讲解了可配置参数如pgaudit.log_client、log_level和role,并给出了参考链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Postgresql:10
pgaudit:v1.2

编译安装

1、clone插件

git clone https://github.com/pgaudit/pgaudit.git

2、Change to pgAudit directory:

cd pgaudit

3、Checkout postgresql 10 branch

git checkout REL_10_STABLE

4、编译安装

make install USE_PGXS=1 PG_CONFIG=/usr/lib/postgresql/10/bin/pg_config

备注:PG_CONFIG路径
在这里插入图片描述

5、修改postgresql.conf配置

修改添加:shared_preload_libraries = 'pgaudit'

6、重启postgresql

systemctl restart postgresql@10-main.service

7、create extension

postgres=# create extension pgaudit;

参数配置说明

可配置参数

postgres=# select name,setting from pg_settings where name like 'pgaudit%';

在这里插入图片描述

pgaudit.log:

配置审计包括类型

  • READ: SELECT and COPY when the source is a relation or a query.
  • WRITE: INSERT, UPDATE, DELETE, TRUNCATE, and COPY when the
    destination is a relation.
  • FUNCTION: Function calls and DO blocks.
  • ROLE: Statements related to roles and privileges: GRANT, REVOKE,
    CREATE/ALTER/DROP ROLE.
  • DDL: All DDL that is not included in the ROLE class.
  • MISC: Miscellaneous commands, e.g. DISCARD, FETCH, CHECKPOINT,
    VACUUM, SET.
  • MISC_SET: Miscellaneous SET commands, e.g. SET ROLE.
  • ALL: Include all of the above.
postgres=# set pgaudit.log = READ,DDL;

在这里插入图片描述pgaudit.log显示如下:
在这里插入图片描述

pgaudit.log_client:

客户端打印审计日志,例如psql
在这里插入图片描述

pgaudit.log_level:

日志级别:Postgresql Log Level,与pgaudit.log_client配合使用。

pgaudit.log_parameter:

指定审计日志记录应包括与语句一起传递的参数。当参数存在时,它们将包含在CSV语句文本之后的格式中,默认值为off。

pgaudit.role:

配置日志审计主角色,可以通过配置多个角色,分别负责不通对象的审计。

set pgaudit.role = 'postgresq,nexttao';

grant select
   on public.test
   to nexttao;

在这里插入图片描述

参考

https://github.com/pgaudit/pgaudit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值