Pub/Sub 审核日志信息

本页面介绍了由 Pub/Sub 创建、作为 Cloud Audit Logs 一部分的审核日志。

概览

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

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

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

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

Pub/Sub 会写入管理员活动审核日志,其中包括修改资源配置或元数据的操作。您无法停用管理员活动审核日志。

Pub/Sub 不会写入数据访问审核日志。

Pub/Sub 会写入系统事件审核日志,其中包含修改资源配置的 Google Cloud 管理操作所对应的日志条目。系统事件审核日志是 Google 系统启用的;而不是通过直接用户操作生成的。

您无法停用系统事件审核日志。

审核的操作

下表汇总了与 Pub/Sub 中的每种审核日志类型相对应的 API 操作:

审核日志类别 Pub/Sub 操作
管理活动 CreateTopic
UpdateTopic
GetTopic
ListTopics
ListTopicSubscriptions
DeleteTopic
DetachSubscription

CreateSubscription
GetSubscription
UpdateSubscription
ListSubscriptions
DeleteSubscription
ModifyPushConfig

CreateSnapshot
GetSnapshot
ListSnapshots
UpdateSnapshot
DeleteSnapshot

GetIamPolicy
SetIamPolicy
TestIamPermissions
系统事件 Cloud Pub/Sub 内部事件,包括:
  • 订阅和快照到期
  • 由于删除 GCP 项目而删除主题、订阅和快照

审核日志格式

审核日志条目包含以下对象,您可以在 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

服务名称

Pub/Sub 审核日志使用服务名称 pubsub.googleapis.com

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

资源类型

对于所有审核日志,Pub/Sub 使用以下资源类型:

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

启用审核日志

系统在任何情况下都会启用系统事件审核日志,无法停用。

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

Pub/Sub 不会写入数据访问审核日志。

审核日志权限

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

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

Pub/Sub 不会写入数据访问审核日志或系统事件审核日志。

如果您使用的是来自非项目实体(例如组织)的审核日志,请将 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

   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

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

控制台

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

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

    转到“日志浏览器”页面

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

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

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

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

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

    如果您没有看到这些选项,则表示 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 不会针对无法停用的审核日志(包括所有管理员活动审核日志和系统事件审核日志)向您收费。

如需详细了解审核日志价格,请参阅 Google Cloud 的运维套件价格