审核日志记录

本页面介绍 Artifact Analysis 创建的 Cloud Audit Logs 审核日志。

概览

Google Cloud 服务会写入审核日志,便于您了解谁在何时何地执行了什么操作。Cloud 项目只包含项目内直属资源的审核日志。其他实体(如文件夹、组织和 Cloud Billing 帐号)包含其各自的审核日志。

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

Artifact Analysis 提供以下以下类型的审核日志:

  • 管理员活动审核日志

    包括写入元数据或配置信息的“管理员写入”操作。

    您无法停用管理员活动审核日志。

  • 数据访问审核日志

    包括读取元数据或配置信息的“管理员读取”操作。此外,还包括读取或写入用户提供的数据的“数据读取”和“数据写入”操作。

    如需接收数据访问审核日志,您必须明确启用这些日志。

审核的操作

下表汇总了 Artifact Analysis 中每种审核日志类型对应的 API 操作:

审核日志类别 Artifact Analysis 操作
管理员活动日志 SetIamPolicy
数据访问日志 (ADMIN_READ) GetIamPolicy
数据访问日志 (DATA_READ) GetNote
GetOccurrence
GetOccurrenceNote
GetVulnerabilitiesSummary
ListNotes
ListNoteOccurrences
ListOccurrences
数据访问日志 (DATA_WRITE) BatchCreateNotes
BatchCreateOccurrences
CreateNote
CreateOccurrence
DeleteNote
DeleteOccurrence
UpdateNote
UpdateOccurrence
审核日志类别 按需扫描操作
数据访问日志 (DATA_READ) 列出漏洞
数据访问日志 (DATA_WRITE) AnalyzePackage

审核日志格式

审核日志条目包含以下对象,您可以在 Cloud Logging 中使用日志查看器、Cloud Logging API 或 gcloud 命令行工具进行查看:

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

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

  • (可选)服务专属的审核信息,即服务专属对象。对于早期集成,此对象保存在 AuditLog 对象的 serviceData 字段中;较新的集成使用 metadata 字段。

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

日志名称

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

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

服务名称

Artifact Analysis 审核日志使用服务名称 containeranalysis.googleapis.com

按需扫描审核日志使用服务名称 ondemandscanning.googleapis.com

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

资源类型

Artifact Analysis 审核日志全部都使用 audited_resource 资源类型。

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

启用审核日志

系统在任何情况下都会启用管理员活动审核日志,无法停用。

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

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

审核日志权限

Identity and Access Management 权限和角色决定您可以查看或导出哪些审核日志。日志保存在 Cloud 项目和一些其他实体(包括组织、文件夹和 Cloud Billing 帐号)中。如需了解详情,请参阅了解角色

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

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

如果您使用的是来自非项目实体(例如组织)的审核日志,请将 Cloud 项目角色更改为适当的组织角色。

查看日志

如需查找和查看审核日志,您需要知道要查看的审核日志信息所属 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 中的日志浏览器来检索审核日志条目:

  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 Storage、BigQuery 或 Pub/Sub。使用 Pub/Sub,您可以将内容导出到其他应用、其他代码库和第三方。

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

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

价格

管理员活动审核日志系统事件审核日志是免费的。

数据访问审核日志政策拒绝审核日志需付费。

如需了解 Cloud Logging 价格,请参阅 Google Cloud 的运维套件价格:Cloud Logging