从活动日志迁移到审核日志

如果您使用的是旧版活动日志,请阅读本指南以了解如何使用审核日志记录查找日志条目。

在未来版本中,旧版活动日志会被弃用。部分活动日志条目将于 2020 年 6 月 1 日停用。

审核日志不但包含旧版活动日志所提供的信息,而且还会包含其他信息。但审核日志呈现这些信息的方式与活动日志有所不同。

如需使用审核日志而不是活动日志,您必须调整查询以将下列各项作为过滤条件:

区分活动日志条目和审核日志条目

审核日志和旧版活动日志均包含日志条目对象。但其内容却有所不同。当您发出查询以查看日志条目时,请务必在从活动日志迁移到审核日志时注意这些差异。

您可以通过检查审核日志和旧版活动日志的内容来区分这两种日志:它们具有不同的日志名称和不同的载荷

日志条目示例
旧版活动日志

{
  insertId:  "1x3bbhjg2wwvz1x"
  jsonPayload: {…}
  labels: {…}
  logName:  "projects/[PROJECT_ID]/logs/compute.googleapis.com%2Factivity_log"
  receiveTimestamp:  "2019-08-26T12:22:44.602794616Z"
  ...
}
审核日志

{
  insertId:  "-w6o499e22fwk"
  logName:  "projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity"
  protoPayload: {…}
  receiveTimestamp:  "2019-08-26T12:22:46.881198276Z"
  ...
}

参阅映射日志条目字段,了解如何将旧版活动日志字段映射到审核日志字段。

将日志条目字段从活动日志映射到审核日志

审核日志包含与活动日志相同的信息。但日志条目字段的名称可以不同。值也可以不同。

字段名称

使用下表可将旧版活动日志字段名称映射到审核日志字段名称。例如,如果您的旧版活动日志查询包含基于 jsonPayload.resource.type过滤条件,那么您的新审核日志查询应该会按 resource.type 进行过滤。

旧版活动日志字段名称 审核日志字段名称
insertId insertId
jsonPayload.actor.user protoPayload.authenticationInfo.principalEmail
jsonPayload.event_subtype protoPayload.methodName
jsonPayload.event_timestamp_us resource.timestamp
jsonPayload.request protoPayload.request
jsonPayload.operation operation
jsonPayload.resource.id resource.lablels.instance_id
jsonPayload.resource.name protoPayload.resourceName
jsonPayload.resource.type resource.type
jsonPayload.resource.zone resource.labels.zone
jsonPayload.trace_id operation.id
jsonPayload.user_agent protoPayload.requestMetadata.callerSuppliedUserAgent
labels.compute.googleapis.com/resource_id resource.labels.[RESOURCE_TYPE]_id
labels.compute.googleapis.com/resource_name protoPayload.resourceName
labels.compute.googleapis.com/resource_type resource.type
labels.compute.googleapis.com/resource_zone 以下各项中的一项:
  • resource.labels.zone
  • resource.labels.region
  • resource.labels.location
logName logName
receiveTimestamp receiveTimestamp
resource.labels resource.labels
severity severity
timestamp timestamp

字段值

与活动日志相比,审核日志具有不同的日志名称和不同的负载,并提供带版本号的方法名称

日志名称

审核日志使用的是 logName,其中包含 cloudaudit.googleapis.com

日志名称日志内容
旧版活动日志projects/[PROJECT_ID]/logs/compute.googleapis.com%2Factivity_log管理员活动和系统事件
审核日志projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity管理活动
projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fsystem_event系统事件
projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access数据访问

载荷

审核日志使用的是 protoPayload,而不是 jsonPayload

载荷类型载荷示例
旧版活动日志jsonPayload

    jsonPayload: {
      actor: {…}
      event_subtype:  "compute.instances.start"
      event_timestamp_us:  "1566404493487248"
      event_type:  "GCE_API_CALL"
      ip_address:  ""
      operation: {…}
      request: {…}
      resource: {…}
      trace_id:  "operation-1566404491560-590a2f74b4705-a1ae0686-d896d772"
      user_agent:  "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"
      version:  "1.2"
    }
审核日志protoPayload

    protoPayload: {
      @type:  "type.googleapis.com/google.cloud.audit.AuditLog"
      authenticationInfo: {…}
      methodName:  "v1.compute.instances.start"
      request: {…}
      requestMetadata: {…}
      resourceName:  "projects/[PROJECT_ID]/zones/us-central1-a/instances/alert"
      serviceName:  "compute.googleapis.com"
    }

如需了解这些负载之间有何关系,以及如何将旧版活动日志字段映射到审核日志字段,请参阅日志条目字段映射

方法名称

在审核日志中,API 方法名称(在 protoPayload.methodName 字段中)以其版本为前缀,例如:v1.compute.instances.delete

字段查询示例
旧版活动日志jsonPayload.event_subtype[RESOURCE].[METHOD]jsonPayload.event_subtype=compute.instances.delete
审核日志protoPayload.methodName[API_VERSION].[RESOURCE].[METHOD]protoPayload.methodName=v1.compute.instances.delete

protoPayload.methodName=beta.compute.instances.delete

protoPayload.methodName:compute.instances.delete

如果您在旧版活动日志查询中使用了未带版本号的 API 方法名称,则可以继续使用,但请务必在查询中使用“has”运算符 (:),而不是“equals”运算符 (=)。例如:protoPayload.methodName:compute.instances.delete 会返回所有实例删除 API 调用,而无论版本如何。如需详细了解运算符,请参阅比较

查询示例

本部分包含几个示例查询,可帮助您开始使用审核日志记录,而不是活动日志。如需详细了解基本查询和高级查询,请参阅查看日志

查询最近的管理活动日志条目

查询示例
旧版活动日志logName="projects/[PROJECT_ID]/logs/compute.googleapis.com%2Factivity_log"
审核日志logName="projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity"

查询最近的实例创建日志条目

查询示例
旧版活动日志logName="projects/[PROJECT_ID]/logs/compute.googleapis.com%2Factivity_log"
jsonPayload.event_subtype=compute.instances.insert
审核日志logName="projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity"
protoPayload.methodName:compute.instances.insert

后续步骤