Cloud Audit Logs

Cloud Audit Logs 为每个项目、文件夹和组织维护三种审核日志:管理员活动数据访问系统事件。Google Cloud Platform 服务会将审核日志条目写入这些日志,以便帮助您了解在 GCP 项目中,哪些用户何时在何处执行过哪些操作。

如需查看用于提供审核日志的 GCP 服务列表,请参阅生成审核日志的服务。所有 GCP 服务最终都会提供审核日志。

管理员活动审核日志

管理员活动审核日志包含 API 调用或其他用于修改资源配置或元数据的管理操作对应的日志条目。例如,这些日志会记录用户创建虚拟机实例或更改 Cloud Identity and Access Management 权限的时间。

要查看这些日志,您必须具有下列 Cloud IAM 角色:日志记录/日志查看者项目/查看者

管理员活动审核日志始终处于启用状态。管理员活动审核日志可免费使用。如需详细了解日志记录用量限制,请参阅配额和限制

数据访问审核日志

数据访问审核日志包含用于读取资源配置或元数据的 API 调用,以及用户进行的用于创建、修改或读取用户所提供资源数据的 API 调用。数据访问审核日志不会记录在公开共享的资源(所有用户所有经过身份验证的用户可用)或无需登录 GCP 即可访问的资源上执行的数据访问操作。

要查看这些日志,您必须具有以下 Cloud IAM 角色:日志记录/私密日志查看者项目/所有者

数据访问审核日志默认处于停用状态,因为它们可能很大;必须明确启用这些日志才能写入。启用这些日志可能导致我们因额外的日志使用量而对您的项目收取费用。有关启用和配置数据访问审核日志的说明,请参阅配置数据访问日志

BigQuery 数据访问审核日志的处理方式与其他数据访问审核日志不同。BigQuery 审核日志总是可以写入且无法停用。它们不计入您的日志配额并且可免费使用。

如需详细了解日志记录用量限制,请参阅配额和限制。如需详细了解可能产生的费用,请参阅价格

系统事件审核日志

系统事件审核日志包含用于修改资源配置的 GCP 管理操作对应的日志条目。系统事件审核日志是 Google 系统生成的;而不是通过直接用户操作生成的。

要查看这些日志,您必须具有下列 Cloud IAM 角色:日志记录/日志查看者项目/查看者

系统事件审核日志始终处于启用状态。系统事件审核日志可免费使用。如需详细了解日志记录用量限制,请参阅配额和限制

审核日志条目结构

Stackdriver Logging 中的每个审核日志条目都是类型为 LogEntry 的对象,其特点为包含以下信息:

  • 日志条目所属的项目组织
  • 日志条目所适用的资源,包括受监控的资源列表中的资源类型以及表示特定实例的其他值。
  • 日志名称
  • 时间戳
  • 类型为 protoPayload负载。每个审核日志条目的负载都是类型为 AuditLog 的对象(协议缓冲区),并包含一个字段 serviceData,某些服务会使用该字段保存其他信息。

所有审核日志条目都包含一个审核日志的名称、一个资源和一项服务。您可以使用这些名称过滤审核日志条目:

  • 日志名称:审核日志条目属于项目、文件夹和组织内的日志。日志名称如下所示:
   projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity
   projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access

   folders/[FOLDER_ID]/logs/cloudaudit.googleapis.com%2Factivity
   folders/[FOLDER_ID]/logs/cloudaudit.googleapis.com%2Fdata_access
   folders/[FOLDER_ID]/logs/cloudaudit.googleapis.com%2Fsystem_event

   organizations/[ORGANIZATION_ID]/logs/cloudaudit.googleapis.com%2Factivity
   organizations/[ORGANIZATION_ID]/logs/cloudaudit.googleapis.com%2Fdata_access
   organizations/[ORGANIZATION_ID]/logs/cloudaudit.googleapis.com%2Fsystem_event

在一个项目、文件夹或组织内,这些日志名称通常缩写为 activitydata_accesssystem_event

  • 资源:每个审核日志条目都包含某种类型的资源。例如,您可以查看单个 Compute Engine 虚拟机实例或所有虚拟实例中的审核日志条目。此信息列在审核日志条目的 resource.type 字段中。

    如需查看资源类型列表,请参阅受监控的资源类型

  • 服务:服务是单独的 GCP 产品,例如 Compute Engine、Cloud SQL 或 Cloud Pub/Sub。每项服务都由其名称标识:比如 Compute Engine 是 compute.googleapis.com,Cloud SQL 是 cloudsql.googleapis.com,等等。审核日志条目的 protoPayload.serviceName 字段中列出了此信息。

    资源类型只能归属于一项服务,但一项服务可以有多种资源类型。如需查看服务和资源列表,请参阅将服务映射到资源

如需了解更多详情,请参阅审核日志数据类型

如需了解如何读取和解读审核日志条目,请查看了解审核日志

查看审核日志

您可以通过多种方式来查看审核日志条目:

基本查看器

您可以使用 GCP Console 中的“日志查看器”基本界面来检索审核日志条目。请执行以下操作:

  1. 转到 GCP Console 中的 Stackdriver Logging > 日志(日志查看器)页面:

    转到“日志查看器”页面

  2. 在页面顶部选择一个现有 GCP 项目,或者创建一个新项目。

  3. 在第一个下拉菜单中,选择您要查看其审核日志的资源类型。您可以选择特定资源,也可以选择 Global 以包括所有资源。

  4. 在第二个下拉菜单中,选择要查看的日志类型:activity 表示管理员活动审核日志、data_access 表示数据访问审核日志以及 system_events 表示系统事件审核日志。

    如果您没有看到以上任何选项,则表明项目中没有该类型的审核日志。

高级查看器

您可以使用 GCP Console 中的“日志查看器”高级界面来检索审核日志条目。请执行以下操作:

  1. 转到 GCP Console 中的 Stackdriver Logging > 日志(日志查看器)页面:

    转到“日志查看器”页面

  2. 在页面顶部选择一个现有 GCP 项目,或者创建一个新项目。

  3. 在第一个下拉菜单中,选择您要查看其审核日志的资源类型。您可以选择特定资源,也可以选择 Global 以包括所有资源。

  4. 点击搜索过滤框最右侧的下拉箭头 (▾),然后选择转换为高级过滤条件

  5. 创建一项过滤条件,以进一步指定要查看的日志条目。要检索项目中的所有审核日志,请添加以下过滤条件。在每个日志名称中提供一个有效 [PROJECT_ID]

      logName = ("projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity"
          OR "projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fsystem_events"
          OR "projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access")
    

    如需详细了解过滤条件,请参阅高级日志过滤条件

API

要使用 Stackdriver Logging API 查看审核日志条目,请执行以下操作:

  1. 转到 entries.list 方法文档中的试用此 API 部分。

  2. 将以下内容添加到试用此 API 表单的请求正文部分。点击此预填充的表单后,请求正文会自动填充,但您需要在每个日志名称中提供一个有效的 [PROJECT_ID]

      {
        "resourceNames": [
          "projects/[PROJECT_ID]"
        ],
        "pageSize": 5,
        "filter": "logName=(projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fsystem_events OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access)"
      }
    
  3. 点击执行

如需详细了解过滤条件,请参阅高级日志过滤条件

SDK

要使用 Cloud SDK 读取日志条目,请运行以下命令。在每个日志名称中提供一个有效 [PROJECT_ID]

gcloud logging read "logName=(projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fsystem_events OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access)

如需详细了解如何使用 Cloud SDK 读取日志条目,请参阅读取日志条目

使用“活动”页面

您可以在 GCP Console 中项目的活动页面查看缩写的项目级层审核日志条目。转到主页 > 活动页面。使用过滤条件来选择要查看的条目。实际审核日志条目包含的信息量可能超过活动页面中显示的信息。

转到“活动”页面

在“活动”页面中,如果系统在审核日志条目中遮盖用于执行记录操作的身份,则会显示 User (anonymized)。如需了解详情,请参阅审核日志中的用户身份

导出审核日志

您可以将审核日志条目导出到 Stackdriver Logging 或某些 GCP 服务。

要将审核日志条目导出到 Logging 以外,您需要创建日志接收器。为接收器指定一个过滤条件,指定要导出的审核日志类型;要查看过滤条件的示例,请转到安全日志记录过滤条件

如果要导出某个 GCP 组织、文件夹或结算帐号的审核日志条目,请参阅汇总导出

审核日志保留期限

各个审核日志条目会保留一段指定的时间,之后会被删除。如需详细了解 Logging 将保留日志条目多长时间,请参阅配额和限制中的保留期限信息。您无法以其他方式删除或修改审核日志或其条目。

审核日志类型 保留期限
管理员活动 400 天
数据访问 30 天
系统事件 400 天

如需延长保留期限,您可以像导出其他任何 Logging 日志条目一样导出审核日志条目,并根据需要保留这些条目。

审核日志中的用户身份

审核日志会记录执行所记录操作的用户的身份。身份保存在 AuditLog 对象的 AuthenticationInfo 字段中。

在以下情况下,用户身份不会显示,即它们会被遮盖:

  • 所有审核日志:出于隐私方面的考虑,对于因“没有权限”错误而失败的所有只读操作,系统会遮盖主要电子邮件地址。

  • App Engine:系统不会从旧版 App Engine API 收集身份。

  • BigQuery:除非满足以下至少一个条件,否则系统目前会在审核日志中遮盖身份和调用方 IP 地址:

    • 这不是只读访问。
    • 用户身份是属于项目的服务帐号。
    • 用户身份是与项目关联的网域的成员。

    此上下文中的项目网域是 BigQuery 设置。如果您要更改与项目关联的网域,请与 BigQuery 支持团队联系

    以下是适用于跨项目访问的其他规则:

    在这里,结算项目是指发出请求的项目,数据项目是指在作业期间系统也会访问其资源的项目。例如,结算项目中的查询作业会从数据项目内读取一些表数据。

    除非结算项目和数据项目关联了同一网域或位于同一组织内,否则系统会对数据项目日志遮盖结算项目资源 ID。

    除非出现上述某种情况,或存在以下情况,否则系统会对数据项目日志遮盖身份和调用方 IP 地址:

    • 结算项目和数据项目关联了同一网域或位于同一组织内,并且结算项目已经包含身份和调用方 IP 地址。
    • 用户身份有权在项目中运行查询,并且执行的是 job.insert 操作。

如果您是通过 Google Cloud Platform Console 的“活动”页面查看审核日志,则身份被遮盖或为空的任何日志条目都会显示 User (anonymized)

生成审核日志的 Google 服务

下表列出了会写入管理员活动或数据访问审核日志的 Google 服务。GA 表示日志类型已正式发布,可供服务使用;测试版表示日志类型可供使用,但可能会以不向后兼容的方式更改,并且不在任何服务等级协议 (SLA) 或弃用政策的涵盖范围内。

生成审核日志的 GCP 服务

具有审核日志的 GCP 服务 管理员
活动
日志
数据
访问
日志
Access Approval API 测试版 不适用1
App Engine GA 不适用1
Application Identity4 测试版 不适用1
BigQuery GA GA2
Cloud AutoML 测试版 测试版
Cloud Bigtable 测试版 不适用1
Cloud Billing 测试版 不适用1
Cloud Composer GA 不适用1
Cloud Dataflow GA 不适用1
Cloud Dataproc GA GA
Cloud Datastore GA GA6
Cloud Deployment Manager GA GA
Cloud Data Loss Prevention GA GA
Cloud DNS GA GA
Cloud Functions GA GA
Cloud Genomics 测试版 测试版
Cloud Healthcare 测试版 测试版
Cloud Identity and Access Management GA GA
Cloud Identity-Aware Proxy 不适用3 GA
Cloud IoT Core GA GA
Cloud Key Management Service GA GA
Cloud Memorystore 测试版 测试版
AI 平台 测试版 测试版
Cloud Pub/Sub GA GA
Cloud Run 测试版 测试版
Cloud Source Repositories GA GA
Cloud Spanner GA GA
Cloud SQL GA GA
Cloud Storage5 GA GA
Cloud AutoML Vision GA 不适用1
Compute Engine7 GA GA
Compute Engine Serial Port Access GA 不适用1
Container Analysis 测试版 测试版
Cloud Build GA GA
Dialogflow GA GA
Google Kubernetes Engine GA GA
Service Management GA 不适用1
Resource Manager GA GA
Stackdriver Debugger GA GA
Stackdriver Error Reporting GA GA
Stackdriver Logging GA GA
Stackdriver Monitoring GA GA
Stackdriver Trace 不适用3 GA
Stackdriver Profiler 不适用3 GA

生成审核日志的 G Suite 服务

具有审核日志的 G Suite 服务 管理员
活动
日志
数据
访问
日志
Enterprise Groups GA 不适用1

G Suite 审核日志的名称为 organizations/[ORGANIZATION_ID]/logs/cloudaudit.googleapis.com%2Factivity。G Suite 审核日志使用资源类型 audited_resource

如需获得其他背景信息,请参阅 G Suite 管理员帮助文章。

1:此服务不会生成数据访问审核日志。
2:BigQuery 数据访问审核日志默认处于启用状态,且不计入您的日志配额。
3:此服务不会生成管理员活动审核日志。
4:审核 OAuth 2.0 客户端 ID 和品牌。
5:尚未包含请求/响应信息。
6:审核启动托管导入或导出操作的请求。审核不包括针对这些操作的实体专属读取/写入日志。
7:Compute Engine 也会生成系统事件审核日志。

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Stackdriver Logging
需要帮助?请访问我们的支持页面