查看虚拟机管理器审核日志


本页面介绍了 Cloud Audit Logs 中由虚拟机管理器 (OS Config) 创建的审核日志。

概览

Google Cloud 服务会写入审核日志,便于您了解谁在何时何地执行了什么操作。每个 Google Cloud 项目都只包含直接属于项目的资源的审核日志。其他实体(包括文件夹、组织和结算账号)都各自有自己的审核日志。

如需大致了解 Cloud Audit Logs,请转到 Cloud Audit Logs。如需深入了解 Cloud Audit Logs,请查看了解审核日志

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

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

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

虚拟机管理器不会写入管理员活动审核日志。

虚拟机管理器不会写入系统事件审核日志。

审核的操作

下表汇总了与虚拟机管理器中的每种审核日志类型相对应的 API 操作:

审核日志类别 虚拟机管理器操作
管理员活动审核日志 不适用
数据访问审核日志
  • ExecutePatchJob
  • GetPatchJob
  • CancelPatchJob
  • ListPatchJobs
  • ListPatchJobInstanceDetails
  • CreatePatchDeployment
  • GetPatchDeployment
  • ListPatchDeployments
  • DeletePatchDeployment
  • UpdatePatchDeployment
  • GetVulnerabilityReport
  • ListVulnerabilityReports
  • GetInventory
  • ListInventories
  • CreateOSPolicyAssignments
  • GetOSPolicyAssignments
  • ListOSPolicyAssignments
  • UpdateOSPolicyAssignments
  • DeleteOSPolicyAssignments
  • GetOSPolicyAssignmentsReport
  • ListOSPolicyAssignmentsReports
  • CreateGuestPolicy
  • GetGuestPolicy
  • ListGuestPolicies
  • UpdateGuestPolicy
  • DeleteGuestPolicy
  • LookupEffectiveGuestPolicy
系统事件审核日志 不适用

审核日志格式

审核日志条目(可使用日志查看器、Cloud Logging API 或 Google Cloud CLI 在 Cloud Logging 中查看这些日志条目)包含以下对象:

  • 日志条目本身,即类型为 LogEntry 的对象。有用的字段如下所示:

    • logName 包含项目标识和审核日志类型
    • resource 包含所审核操作的目标
    • timeStamp 包含所审核操作的时间
    • protoPayload 包含审核信息
  • 审核日志记录数据,即保存在日志条目的 protoPayload 字段中的 AuditLog 对象。

  • (可选)服务专属的审核信息,即保存在 AuditLog 对象的 serviceData 字段中的服务专属对象。如需了解详情,请参阅服务专属审核数据

如需了解上述对象中的其他字段以及如何解读这些字段,请查看了解审核日志

日志名称

Cloud Audit Logs 资源名称指明了审核日志所属的项目或其他实体,以及日志是包含管理员活动、数据访问还是系统事件审核日志记录数据。例如,下面显示的日志名称分别表示项目的管理员活动审核日志和组织的数据访问审核日志:

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

服务名称

虚拟机管理器审核日志使用 osconfig.googleapis.com 服务名称。

如需详细了解日志记录服务,请参阅将服务映射到资源

资源类型

虚拟机管理器审核日志全部都使用 audited_resource 资源类型。

如需查看完整列表,请转到受监控的资源类型

启用审核日志记录

数据访问审核日志默认处于停用状态,除非明确启用,否则无法向其中写入数据(BigQuery 数据访问审核日志是一个例外,无法停用)。

如需了解如何启用部分或全部数据访问审核日志,请参阅配置数据访问日志

您启用的数据访问审核日志可能会影响 Cloud Logging 中的日志价格。请参阅本页中的价格部分。

虚拟机管理器不会写入管理员活动审核日志。

审核日志权限

Identity and Access Management 权限和角色决定您可以查看或导出哪些审核日志。日志位于项目以及组织、文件夹和结算账号等一些其他实体中。如需了解详情,请参阅了解角色

如需查看管理员活动审核日志,您必须在审核日志所属的项目中拥有下列 IAM 角色之一:

  • Project OwnerProject EditorProject Viewer
  • Logging 的 Logs Viewer 角色。
  • 具有 logging.logEntries.list IAM 权限的自定义 IAM 角色

要查看数据访问审核日志,您必须在审核日志所属的项目中拥有以下某一角色:

如果您正在使用非项目实体(例如组织)的审核日志,请将项目角色更改为合适的组织角色。

查看日志

您可以查询所有审核日志,也可以按其审核日志名称来查询日志。审核日志名称包含您要查看其审核日志记录信息的 Google Cloud 项目、文件夹、结算账号或组织的资源标识符。您的查询可以指定已编入索引的 LogEntry 字段,如果您使用支持 SQL 查询的 Log Analytics 页面,则您可以以图表形式查看查询结果

如需详细了解如何查询日志,请参阅以下页面:

您可以使用 Google Cloud 控制台、Google Cloud CLI 或 Logging API 查看 Cloud Logging 中的审核日志。

控制台

在 Google Cloud 控制台中,您可以使用 Logs Explorer 来检索 Google Cloud 项目、文件夹或组织的审核日志条目:

  1. 在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择 Logs Explorer

    前往 Logs Explorer

  2. 选择现有的 Google Cloud 项目、文件夹或组织。

  3. 如需显示所有审核日志,请在查询编辑器字段中输入以下任一查询,然后点击运行查询

    logName:"cloudaudit.googleapis.com"
    
    protoPayload."@type"="type.googleapis.com/google.cloud.audit.AuditLog"
    
  4. 如需显示特定资源和审核日志类型的审核日志,请在查询构建器窗格中执行以下操作:

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

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

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

    如果您没有看到这些选项,则表示 Google Cloud 项目、文件夹或组织中没有该类型的任何审核日志。

    如果您在尝试从 Logs Explorer 中查看日志时遇到问题,请参阅问题排查信息。

    如需详细了解如何使用 Logs Explorer 进行查询,请参阅在 Logs Explorer 中构建查询。 如需了解如何使用 Duet AI 在 Logs Explorer 中汇总日志条目,请参阅在 Duet AI 协助下汇总日志条目

gcloud

Google Cloud CLI 为 Logging API 提供了命令行界面。在每个日志名称中提供有效的资源标识符。例如,如果您的查询包含 PROJECT_ID,则您提供的项目标识符必须引用当前选择的 Google Cloud 项目。

如需读取 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

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

gcloud logging read "logName : billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com" \
    --billing-account=BILLING_ACCOUNT_ID

在命令中添加 --freshness 标志可读取超过 1 天的日志。

如需详细了解如何使用 gcloud CLI,请参阅 gcloud logging read

API

构建查询时,请在每个日志名称中提供有效的资源标识符。例如,如果您的查询包含 PROJECT_ID,则您提供的项目标识符必须引用当前选择的 Google 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. 点击执行

导出审核日志

您可以按照导出其他类型日志的方式导出审核日志。如需详细了解如何导出日志,请转到导出日志。以下是用于导出审核日志的一些应用:

  • 如需长时间保留审核日志或使用更强大的搜索功能,您可以将审核日志的副本导出到 Cloud Storage、BigQuery 或 Pub/Sub。使用 Pub/Sub,您可以将内容导出到其他应用、其他代码库和第三方。

  • 如需管理整个组织范围内与您相关的审核日志,您可以创建一个汇总接收器,以便从组织中的任何或所有项目导出日志。

  • 如果启用的数据访问审核日志会导致项目超出其日志配额,您可以通过 Logging 导出数据访问审核日志并将其排除。如需了解详情,请转到排除日志

价格

Cloud Logging 会针对您明确请求的数据访问审核日志向您收费。虚拟机管理器不会写入管理员活动审核日志或系统事件审核日志。

如需详细了解审核日志价格,请参阅 Google Cloud Observability 价格