首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >没有为Cloud生成DML语句日志的审计日志

没有为Cloud生成DML语句日志的审计日志
EN

Stack Overflow用户
提问于 2021-04-16 16:39:54
回答 1查看 600关注 0票数 0

我试图在堆栈驱动程序控制台中显示Cloud的审计日志。我已经在IAM中为Cloud启用了审计日志。

我连接到Cloud中的、mysql、postgres数据库,并在连接时将这些审计日志显示在控制台中。

代码语言:javascript
运行
复制
  request: {
   @type: "type.googleapis.com/google.cloud.sql.v1beta4.SqlInstancesGetRequest"    
   instance: "testpostgres" 

但在此之后,如果我在该特定数据库中执行任何操作,如SELECTINSERTDELETE,则不会为mysqlpostgresE 216生成审计日志(数据访问)。在mysql实例中,我设置了以下数据库标志:

代码语言:javascript
运行
复制
audit_log ON (this is in beta version)

对于mysql,如果我再添加一个标志**general_log**,我可以获得那些DML语句,但是它们属于不同的日志**cloudsql.googleapis.com%2Fmysql-general.log**,并且不属于审核日志。

同样,对于postgres,这些语句位于不同的日志中:

代码语言:javascript
运行
复制
**cloudsql.googleapis.com%2Fpostgres.log**

我是这个Cloud的新手,所以不知道在那里实现的日志记录。当对Cloud实例中的特定数据库执行任何DML时,为什么不生成审计日志?为此,我应该设置任何其他标志吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-19 03:19:39

默认情况下,Cloud上的DML不会记录在审计日志上。要查看日志记录中的DML日志,需要使用pgAudit在您的PostgreSQL上。顺便说一下,pgAudit只在PostgreSQL实例中可用。

启用pgaudit的步骤:

  1. 使用gcloud命令启用pgaudit gcloud sql instances patch [INSTANCE_NAME] --database-flags \ cloudsql.enable_pgaudit=on,pgaudit.log=all
  2. 在postgres数据库中创建pgaudit扩展 CREATE EXTENSION pgaudit;
  3. 在postgres数据库上运行一个简单的select语句

日志记录中的查询DML语句日志:

  1. 打开日志记录->日志资源管理器
  2. 在查询生成器中应用此筛选器: resource.type="cloudsql_database" logName="projects/<your-project-name>/logs/cloudaudit.googleapis.com%2Fdata_access" protoPayload.request.@type="type.googleapis.com/google.cloud.sql.audit.v1.PgAuditEntry"

我使用PostgresSQL的快速启动进行测试。

查询postgre数据库:

使用上面的过滤器进行过滤日志记录:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67129081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档