Pub/Sub Lite 审核日志信息

本文档介绍 Cloud Audit Logs 中由 Pub/Sub Lite 创建的审核日志。

概览

Google Cloud 服务会写入审核日志,便于您了解在您的 Google Cloud 资源中“谁在何时何地执行了什么操作”。

Google Cloud 项目只包含直接属于 Google Cloud 项目的资源的审核日志。其他 Google Cloud 资源(例如文件夹、组织和结算账号)包含实体本身的审核日志。

如需大致了解 Cloud Audit Logs,请参阅 Cloud Audit Logs 概览。如需深入了解审核日志格式,请参阅了解审核日志

可用的审核日志

Pub/Sub 精简版提供以下类型的审核日志:

  • 管理员活动审核日志

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

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

  • 数据访问审核日志

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

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

如需查看审核日志类型的更完整说明,请参阅审核日志类型

审核的操作

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

审核日志类别 Pub/Sub Lite 操作
管理员活动 CreateTopic
UpdateTopic
DeleteTopic

UpdateSubscription
DeleteSubscription

GetIamPolicy
SetIamPolicy
TestIamPermissions
数据访问权限 GetTopic
ListTopics
ListTopicSubscriptions
GetSubscription
ListSubscriptions

Publish
Subscribe
StreamingCommitCursor
CommitCursor
ListPartitionCursors
ComputeMessageStats
数据访问(无类别)[1] CreateSubscription

[1]这些日志默认启用,无法通过数据访问配置停用。您可以通过日志排除项将它们排除。

审核日志格式

审核日志条目包含以下对象:

  • 日志条目本身,即类型为 LogEntry 的对象。以下是一些实用的字段:

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

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

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

日志名称

Cloud Audit Logs 日志名称包含资源标识符,指明了审核日志所属的 Google Cloud 项目或其他 Google 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

   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Factivity
   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   billingAccounts/BILLING_ACCOUNT_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

服务名称

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

如需查看所有 Cloud Logging API 服务名称及其相应受监控的资源类型的列表,请参阅将服务映射到资源

资源类型

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

如需查看所有 Cloud Logging 受监控资源类型和说明信息的完整列表,请参阅受监控的资源类型

调用方身份

调用方的 IP 地址保存在 AuditLog 对象的 RequestMetadata.caller_ip 字段中。Logging 可能会隐去某些调用方身份和 IP 地址。

如需了解在审核日志中隐去的信息,请参阅审核日志中的调用方身份

启用审核日志记录

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

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

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

权限和角色

IAM 权限和角色决定了您能否访问 Google Cloud 资源中的审核日志数据。

在决定哪些特定于 Logging 的权限和角色适用于您的使用场景时,请考虑以下因素:

  • Logs Viewer 角色 (roles/logging.viewer) 为您提供对管理员活动、政策拒绝和系统事件审核日志的只读权限。如果您只具有此角色,则无法查看 _Default 存储桶中的数据访问审核日志。

  • Private Logs Viewer 角色 ((roles/logging.privateLogViewer) 包含 roles/logging.viewer 具有的权限,以及读取 _Default 存储桶中的数据访问审核日志的权限。

    请注意,如果这些私密日志存储在用户定义的存储桶中,有权读取这些存储桶中的日志的任何用户都可以读取这些私密日志。如需详细了解日志存储桶,请参阅路由和存储概览

如需详细了解适用于审核日志数据的 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 中构建查询。 如需了解如何使用 Gemini 在日志浏览器中汇总日志条目,请参阅在 Gemini 协助下汇总日志条目

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 将内容路由到其他应用、其他代码库和第三方工具。

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

  • 如果启用的数据访问审核日志会导致 Google Cloud 项目超出日志配额,您可以创建接收器,以从 Logging 中排除数据访问审核日志。

如需了解如何路由日志,请参阅将日志路由到支持的目的地

价格

如需详细了解价格,请参阅 Cloud Logging 价格摘要