Cloud Audit Logs

Cloud Audit Logs 会为每个 Cloud 项目、文件夹和组织维护以下审核日志:

  • 管理员活动审核日志
  • 数据访问审核日志
  • 系统事件审核日志
  • 政策拒绝审核日志

Google Cloud 服务会将审核日志条目写入这些日志,以帮助您了解在您的 Google Cloud 资源中“哪些用户何时在何处执行了什么操作”。

具有身份和访问权限管理政策 allAuthenticatedUsersallUsers 的公开资源不会生成审核日志。这有助于保护最终用户的身份和信息。

如需查看可提供审核日志的 Google Cloud 服务的列表,请转到具有审核日志的 Google 服务。所有 Google Cloud 服务最终都会提供审核日志。

管理员活动审核日志

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

如需查看这些日志,您必须具有下列 IAM 角色:Logging/Logs ViewerProject/Viewer

管理员活动审核日志始终会写入;您无法配置或停用它们。管理员活动审核日志可免费使用。如需详细了解日志记录用量限制,请参阅配额和限制

数据访问审核日志

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

如需查看这些日志,您必须具有以下 IAM 角色:Logging/Private Logs ViewerProject/Owner

默认情况下,数据访问审核日志(BigQuery 数据访问审核日志除外)处于停用状态,因为这些审核日志可能非常大。如果您想针对 BigQuery 以外的 Google Cloud 服务写入数据访问审核日志,则必须明确启用这些日志。启用这些日志可能导致我们因额外的日志使用量而对您的 Cloud 项目收取费用。有关启用和配置数据访问审核日志的说明,请参阅配置数据访问日志

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

系统事件审核日志

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

如需查看这些日志,您必须具有下列 IAM 角色:Logging/Logs ViewerProject/Viewer

系统事件审核日志始终会写入;您无法配置或停用它们。系统事件审核日志可免费使用。如需详细了解日志记录用量限制,请参阅配额和限制

政策拒绝审核日志

当 Google Cloud 服务因违反安全政策而拒绝访问用户或服务帐号时,Cloud Logging 会记录政策拒绝审核日志。

如需查看这些日志,您必须具有下列 IAM 角色:Logging/Logs ViewerProject/Viewer

默认情况下,系统会生成违规拒绝审核日志,并向您的 Cloud 项目收取日志存储费用。您可以使用日志排除项来将违规拒绝的日志提取到 Cloud Logging 中。如需详细了解日志记录用量限制,请参阅配额和限制。如需详细了解可能产生的费用,请参阅价格

审核日志条目结构

Cloud Logging 中的每个审核日志条目都是类型为 LogEntry 的对象。审核日志条目与其他日志条目的区别在于 protoPayload 字段;此字段包含用于存储审核日志数据的 AuditLog 对象。

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

查看审核日志

如需查找和查看审核日志,您需要知道要查看的审核日志信息所属 Cloud 项目、文件夹或组织的标识符。您可以进一步指定其他已编入索引的 LogEntry 字段,如 resource.type;如需了解详情,请查看快速查找日志条目

以下是审核日志名称,其中含有 Cloud 项目、文件夹或组织的标识符变量:

   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   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
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   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
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fpolicy

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

控制台

您可以使用 Cloud Console 中的日志浏览器来检索 Cloud 项目的审核日志条目:

  1. 在 Cloud Console 中,转到 Logging > 日志浏览器页面。

    转到“日志浏览器”页面

  2. 日志浏览器页面上,选择一个现有的 Cloud 项目。

  3. 查询构建器窗格中,执行以下操作:

    • 资源中,选择要查看其审核日志的 Google Cloud 资源类型。

    • 日志名称中,选择要查看的审核日志类型:

      • 对于管理员活动审核日志,选择 activity
      • 对于数据访问审核日志,选择 data_access
      • 对于系统事件审核日志,选择 system_event
      • 对于政策拒绝审核日志,选择 policy

    如果您没有看到这些选项,则表示 Cloud 项目中没有该类型的审核日志。

    如需详细了解如何使用新的日志浏览器进行查询,请参阅构建日志查询

gcloud

gcloud 命令行工具提供了用于 Cloud Logging API 的命令行界面。在每个日志名称中提供有效的 PROJECT_IDFOLDER_IDORGANIZATION_ID

如需读取 Google Cloud 项目级层审核日志条目,请运行以下命令:

gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" --project=PROJECT_ID

如需读取文件夹级层审核日志条目,请运行以下命令:

gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" --folder=FOLDER_ID

如需读取组织级层审核日志条目,请运行以下命令:

gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" --organization=ORGANIZATION_ID

如需详细了解如何使用 gcloud 工具,请参阅读取日志条目

API

构建查询时,请用有效值替换变量,替换为适当的项目级层、文件夹级层或组织级层的审核日志名称或标识符(如审核日志名称中所列)。例如,如果您的查询包含 PROJECT_ID,则您提供的项目标识符必须引用当前选定的 Cloud 项目。

如需使用 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"
    }
    
  3. 点击执行

如需详细了解查询,请参阅 Logging 查询语言

如需查看审核日志条目示例并了解如何在其中找到最重要的信息,请参阅审核日志条目示例

使用“活动”页面

您可以在 Cloud Console 的 Cloud 项目或组织的活动页面中查看缩写的审核日志条目。如需查看缩写的审核日志条目,请执行以下操作:

  1. 转到活动页面:

    转到“活动”页面

  2. 在项目选择器中,选择要查看其审核日志条目的 Cloud 项目或组织。

  3. 过滤条件面板中,选择要查看的条目。

实际审核日志条目包含的信息量可能超过活动页面中显示的信息。

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

导出审核日志

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

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

如果想要导出某个 Google Cloud 组织,文件夹或结算帐号的审核日志条目,请参阅汇总接收器

下表显示了审核日志的大小上限。这些值可以帮助您估算导出目标位置所需的空间。

审核日志 大小上限
管理活动 512 KiB
数据访问 512 KiB
系统事件 512 KiB
政策拒绝 512 KiB

审核日志保留

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

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

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

您还可以配置 Cloud Logging,将日志保留期限设为 1 - 3650 天。如需了解详情,请参阅存储日志:自定义保留期

审核日志中的调用方身份

审核日志会记录对 Google Cloud 资源执行已记录操作的身份。调用者的身份保存在 AuditLog 对象的 AuthenticationInfo 字段中。

在以下情况下,如果符合所有条件,审核日志中的调用方主电子邮件地址将被遮盖:

  • 这是一项只读操作。
  • 操作失败,显示“权限被拒绝”错误。
  • 如果身份是服务帐号,且该身份不是与资源相关联的 Google Cloud 组织的成员。如果身份不是服务帐号,则此条件不适用。

除了上面列出的条件外,以下条件适用于某些 Google Cloud 产品:

如果您使用 Google Cloud Console “活动”页面查看审核日志,则对于身份被遮盖或为空的日志条目,系统显示 User (anonymized)

生成审核日志的 Google 服务

如需查看可提供审核日志的 Google Cloud 服务的列表,请转到具有审核日志的 Google 服务。所有 Google Cloud 服务最终都会提供审核日志。