了解和使用 Access Transparency 日志

本页面介绍了 Access Transparency 日志条目的内容,以及如何查看和使用它们。

Access Transparency 日志详情

Access Transparency 日志可以与现有的安全信息和事件管理 (SIEM) 工具集成,以便在 Google 员工访问您的内容时自动执行审核。除了 Cloud Audit Logs 日志之外, Google Cloud 控制台中还提供 Access Transparency 日志。

Access Transparency 日志条目包含以下类型的详细信息:

  • 受影响的资源和操作。
  • 操作的执行时间。
  • 执行该操作的原因(例如,与客户支持请求有关的案例号)。
  • 有关对内容采取操作的人员的数据(例如,Google 员工所在的位置)。

启用 Access Transparency

如需了解如何为 Google Cloud 组织启用 Access Transparency,请参阅启用 Access Transparency

查看 Access Transparency 日志

为 Google Cloud组织配置 Access Transparency 后,您可以通过为用户或组分配 Private Logs Viewer 角色来控制哪些人可以访问 Access Transparency 日志。如需了解详情,请参阅 Cloud Logging 访问控制指南

如需查看 Access Transparency 日志,请使用以下 Google Cloud Observability 日志记录过滤器。

logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Faccess_transparency"

如需了解如何在日志浏览器中查看 Access Transparency 日志,请参阅使用日志浏览器

您还可以使用 Cloud Monitoring API 或使用 Cloud Run 函数来监控日志。要开始使用,请参阅 Cloud Monitoring 文档

可选:创建一个基于日志的指标,然后设置一个提醒政策,以便及时了解这些日志中出现的问题。

Access Transparency 日志条目示例

以下是一个 Access Transparency 日志条目的示例。

{
 insertId:  "abcdefg12345"
 jsonPayload: {
  @type:  "type.googleapis.com/google.cloud.audit.TransparencyLog"
  location: {
   principalOfficeCountry:  "US"
   principalEmployingEntity:  "Google LLC"
   principalPhysicalLocationCountry:  "CA"
  }
  principalJobTitle: "Engineering"
  product: [
   0:  "Cloud Storage"
  ]
  reason: [
    detail:  "Case number: bar123"
    type:  "CUSTOMER_INITIATED_SUPPORT"
  ]
  eventId: "asdfg12345asdfg12345asdfg12345"
  accesses: [
   0: {
    methodName: "GoogleInternal.Read"
    resourceName: "//googleapis.com/storage/buckets/BUCKET_NAME/objects/foo123"
    }
  ]
  accessApprovals: [
   0: "projects/123/approvalRequests/abcdef12345"
  ]
 }
 logName:  "projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Faccess_transparency"
 operation: {
  id:  "12345xyz"
 }
 receiveTimestamp:  "2017-12-18T16:06:37.400577736Z"
 resource: {
  labels: {
   project_id:  "1234567890"
  }
  type:  "project"
 }
 severity:  "NOTICE"
 timestamp:  "2017-12-18T16:06:24.660001Z"
}

日志字段说明

字段 说明
insertId 日志的唯一标识符。
@type Access Transparency 日志标识符。
principalOfficeCountry 访问者在其中具有永久服务台的国家/地区的 ISO 3166-1 二位字母国家/地区代码。如果位置未知,则为 ??;如果 Google 员工身处低人口国家/地区,则为 3 字符大洲标识符。
principalEmployingEntity 雇用了 Google 员工进行访问的实体(例如 Google LLC)。
principalPhysicalLocationCountry 进行访问所在国家/地区的 ISO 3166-1 二位字母国家/地区代码。如果位置未知,则为 ??;如果 Google 员工身处低人口国家/地区,则为 3 字符大洲标识符。
principalJobTitle 进行访问的 Google 员工的职位类别。
product 被访问的客户 Google Cloud 产品。
reason:detail 原因的详细信息,例如支持服务工单 ID。
reason:type 访问原因类型(例如 CUSTOMER_INITIATED_SUPPORT)
accesses:methodName 所发起访问的访问类型。例如 GoogleInternal.Read。如需详细了解 methodName 字段中可以显示的方法,请参阅 accesses: methodName 字段的值
accesses:resourceName 被访问资源的名称
accessApprovals 包含已批准访问权限的访问权限审批请求的资源名称。这些请求须遵守例外情况受支持的服务

只有在为访问的资源启用了访问权限审批后,系统才会填充此字段。2021 年 3 月 24 日之前发布的 Access Transparency 日志不会填充此字段。
logName 日志位置的名称。
operation:id 日志集群 ID。
receiveTimestamp 日志记录流水线接收访问的时间。
project_id 与被访问资源相关联的项目。
type 被访问资源的类型(例如 project)。
eventId 与单个访问权限事件理由相关联的唯一事件 ID(例如,单个支持请求)。记录到同一正当理由的所有访问具有相同的 event_id 值。
severity 日志严重性。
timestamp 写入日志的时间。

accesses:methodNames 字段的值

Access Transparency 日志中的 accesses:methodNames 字段中可能会显示以下方法:

  • 标准方法:这些方法包括 ListGetCreateUpdateDelete。如需了解详情,请参阅标准方法
  • 自定义方法:自定义方法是指 5 个标准方法之外的 API 方法。常见的自定义方法包括 CancelBatchGetMoveSearchUndelete。如需了解详情,请参阅自定义方法
  • GoogleInternal 方法:以下是 accesses:methodNames 字段中显示的 GoogleInternal 方法示例:
方法名称 说明 示例
GoogleInternal.Read 表示对客户内容执行了读取操作,且具有有效的业务理由。读取操作是使用专门用于管理 Google Cloud 服务的内部 API 执行的。此方法不会更改客户内容。 读取 IAM 权限。
GoogleInternal.Write 表示对客户内容执行了写入操作,且具有有效的业务理由。写入操作是使用专门用于管理 Google Cloud 服务的内部 API 执行的。此方法可更新客户内容和/或配置。
  • 为资源设置 IAM 权限。
  • 暂停 Compute Engine 实例。
GoogleInternal.Create 表示对客户内容执行的创建操作,并具有有效的业务理由。创建操作是使用专门用于管理 Google Cloud 服务的内部 API 执行的。此方法会创建新的客户内容。
  • 创建 Cloud Storage 存储桶。
  • 创建 Pub/Sub 主题。
GoogleInternal.Delete 表示使用专门用于管理服务的内部 API 对客户内容执行的删除操作。 Google Cloud 此方法会更改客户内容和/或配置。
  • 删除 Cloud Storage 对象。
  • 删除 BigQuery 表。
GoogleInternal.List 表示对客户内容执行的列表操作具有有效的业务理由。列表操作是使用专门用于管理 Google Cloud 服务的内部 API 执行的。此方法不会更改客户内容或配置。
  • 列出客户的 Compute Engine 实例。
  • 列出客户的 Dataflow 作业。
GoogleInternal.Update 表示对客户内容进行了修改,且有合理的业务理由。更新操作是使用专门用于管理 Google Cloud 服务的内部 API 执行的。此方法会更改客户内容和/或配置。 更新 Cloud Storage 中的 HMAC 密钥。
GoogleInternal.Get 表示对客户内容执行了 get 操作,且具有有效的业务理由。获取操作是使用专为管理 Google Cloud 服务而设计的内部 API 执行的。此方法不会更改客户内容或配置。
  • 检索资源的 IAM 政策。
  • 检索客户的 Dataflow 作业。
GoogleInternal.Query 表示对客户内容执行的查询操作具有有效的业务理由。查询操作是使用专门用于管理 Google Cloud 服务的内部 API 执行的。此方法不会更改客户内容或配置。
  • 运行 BigQuery 查询。
  • 针对客户内容的 AI Platform 调试控制台查询。

GoogleInternal 访问权限仅限授权人员使用,以便进行合理且可审核的访问。某个方法的存在并不表示所有角色都可以使用该方法。若要加强对项目或组织的管理员访问权限的控制,组织可以启用“访问权限审批”,以便根据访问权限详细信息批准或拒绝访问。例如,Access Approval 用户可以选择仅允许 Google 员工发出的包含 CUSTOMER_INITIATED_SUPPORT 理由的请求。如需了解详情,请参阅访问权限审批概览

如果某个事件符合严格的紧急访问条件,Access Approval 可以将该紧急访问记录为状态为 auto approved 的事件。Access Transparency 和 Access Approval 专为在紧急访问场景中实现不间断日志记录而设计。

如果您希望更好地控制工作负载的数据安全,我们建议您使用 Assured Workloads。Assured Workloads 项目提供增强型功能,例如数据驻留、主权控制,以及对 Compute Engine 中的机密计算等功能的访问权限。它会针对外部托管的加密密钥使用密钥访问理由

理由原因代码

原因 说明
CUSTOMER_INITIATED_SUPPORT 客户发起的支持,例如“Case Number:####”。
GOOGLE_INITIATED_SERVICE

是指 Google 为进行系统管理和问题排查而发起的访问。Google 人员出于以下原因可以执行此类访问:

  • 执行因支持请求或调查比较复杂而需要进行的技术调试。
  • 修复技术问题,例如存储故障或数据损坏。
THIRD_PARTY_DATA_REQUEST Google 按照法律要求或司法程序发起的访问,包括 Google 在客户要求的情况下按照司法程序访问客户自己的数据。
GOOGLE_INITIATED_REVIEW Google 发起的针对安全性、欺诈、滥用或合规性目的访问,包括:
  • 确保客户账号和数据的安全性。
  • 确认数据是否受到可能影响账号安全的事件(例如,恶意软件感染)的影响。
  • 确认客户是否按照 Google 服务条款使用 Google 服务。
  • 调查其他用户和客户的投诉,或其他可能表明存在滥用行为的迹象。
  • 检查 Google 服务的使用是否符合相关合规性制度(例如,反洗钱条例)。
GOOGLE_RESPONSE_TO_PRODUCTION_ALERT

是指 Google 为维持系统可靠性而发起的访问。Google 人员出于以下原因可以执行此类访问:

  • 调查并确认疑似服务中断未影响客户。
  • 确保针对服务中断和系统故障进行备份和恢复。

Monitoring Access Transparency 日志

您可以使用 Cloud Monitoring API 监控 Access Transparency 日志。要开始使用,请参阅 Cloud Monitoring 文档

您可以设置基于日志的指标,然后设置一项提醒政策,以便及时了解这些日志中呈现的问题。例如,您可以创建一个基于日志的指标,用于捕获 Google 员工访问您的内容的情况,然后在 Monitoring 中创建提醒政策,从而了解指定时间段内的访问次数是否超过指定阈值。

后续步骤