审核日志记录

本页面介绍了 Cloud Search 作为 Cloud Audit Logs 的一部分创建的审核日志。

概览

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

如需大致了解 Cloud Audit Logs,请参阅 Cloud Audit Logs。如需了解详情,请参阅了解审核日志

Cloud Audit Logs 会为每个 Cloud 项目、文件夹和组织提供以下日志:

  • 管理员活动审核日志:执行管理员写入操作的方法对应的条目。
  • 数据访问审核日志:包含执行管理员读取、数据写入和数据读取操作的方法的条目。
  • 系统事件审核日志
  • 政策拒绝审核日志

Cloud Search 会写入管理员活动审核日志,以记录修改资源配置或元数据的操作。您无法停用管理员活动审核日志。

只有在您明确启用数据访问审核日志后,Cloud Search 才会写入此类日志。这些日志包含用于读取资源配置或元数据的 API 调用,以及用户进行的用于创建、修改或读取用户所提供资源数据的 API 调用。

Cloud Search 不会写入系统事件审核日志或政策拒绝审核日志。

审核的操作

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

审核日志类别 Cloud Search 操作
管理员活动:管理员写入 indexing.datasources.updateSchema
indexing.datasources.deleteSchema
settings.datasources.create
settings.datasources.delete
settings.datasources.update
settings.searchapplications.create
settings.searchapplications.delete
settings.searchapplications.reset
settings.searchapplications.update
settings.updateCustomer
cloudsearch.IdentitySourceService.create
cloudsearch.IdentitySourceService.update
cloudsearch.IdentitySourceService.delete
数据访问权限:管理员读取 indexing.datasources.getSchema
settings.datasources.get
settings.datasources.list
settings.searchapplications.get
settings.searchapplications.list
settings.getCustomer
cloudsearch.IdentitySourceService.get
cloudsearch.IdentitySourceService.list
数据访问:数据写入 indexing.datasources.items.delete
indexing.datasources.items.deleteQueueItems
indexing.datasources.items.index
indexing.datasources.items.poll
indexing.datasources.items.push
indexing.datasources.items.unreserve
indexing.datasources.items.upload
media.upload
数据访问:数据读取 indexing.datasources.items.get
indexing.datasources.items.list
operations.get
operations.list
debug.datasources.items.checkAccess
debug.datasources.items.searchByViewUrl
stats.getIndex
stats.getQuery
stats.getSession
stats.getUser
stats.index.datasources.get
stats.query.searchapplications.get
stats.session.searchapplications.get
stats.user.search applications.get
debug.identitysources.items.listForunmappedidentity
debug.identitysources.unmappedids.list
debug.datasources.items.unmappedids.list
query.sources.list
query.suggest
query.search
stats.getSearchapplication

审核日志格式

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

日志条目本身是一个 LogEntry 对象。以下是一些实用的字段:

  • logName:资源 ID 和审核日志类型。
  • resource:被审核操作的目标。
  • timeStamp:受审核操作的时间。
  • protoPayload:经过审核的信息。

审核日志记录数据是 protoPayload 字段中的 AuditLog 对象。

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

如需了解详情,请参阅了解审核日志

日志名称

Cloud Audit Logs 资源名称指明了日志所属的项目或其他 Google Cloud 实体,以及审核日志类型。例如:

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

服务名称

Cloud Search 审核日志使用服务名称 cloudsearch.googleapis.com

资源类型

Cloud Search 审核日志对所有日志使用资源类型 audited_resource。如需查看更多资源类型,请参阅受监控的资源类型

启用审核日志记录

默认情况下,Cloud Search API 的审核日志记录功能处于停用状态。如需为 Cloud Search 启用审核日志记录,请执行以下操作:

  1. (可选)如果您尚未创建用于存储日志的 Google Cloud 项目,请参阅配置对 Cloud Search API 的访问权限
  2. 获取您要在其中存储日志的 Google Cloud 项目的 ID。请参阅标识项目
  3. 确定要为特定 API 启用的日志类别。请参阅已审核的操作
  4. 使用 updateCustomer() REST API 方法通过以下类别更新 auditLogSettings

    1. 获取 OAuth 2.0 访问令牌。请参阅使用 OAuth 2.0 访问 Google API。 使用以下任一范围:
      • https://www.googleapis.com/auth/cloud_search.settings.indexing
      • https://www.googleapis.com/auth/cloud_search.settings
      • https://www.googleapis.com/auth/cloud_search
    2. 运行以下 curl 命令: bash curl --request PATCH \ 'https://cloudsearch.googleapis.com/v1/settings/customer?updateMask=auditLoggingSettings&key=[YOUR_API_KEY]' \ --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \ --header 'Content-Type: application/json' \ --data '{"auditLoggingSettings": { "project": "projects/PROJECT_ID", "CATEGORY1": "true", "CATEGORY2": "true" } }' 替换 YOUR_ACCESS_TOKENPROJECT_ID 和类别(logAdminReadActionslogDataWriteActionslogDataReadActions)。默认情况下,管理员写入操作处于启用状态。如需记录查询方法,请启用“数据读取”类别。

      后续对 Cloud Search API 的请求会在指定项目中生成日志。

  5. 查询方法的审核日志记录需要“数据读取”类别。如需为 query.sources.listquery.suggestquery.search 启用日志记录,请执行以下操作:

    1. 检索每个搜索应用的名称,格式为 searchapplications/<search_application_id>
    2. 调用 settings.searchapplications.update,并将 enableAuditLog 设置为 true
  6. 如需为来自 cloudsearch.google.com 的调用启用审核日志记录,请确保“数据读取”类别已启用,并更新 searchapplications/default

在 Google Cloud 控制台的日志浏览器中查看日志。使用以下过滤条件可查看 Cloud Search 审核日志:

protoPayload.serviceName="cloudsearch.googleapis.com"

如需了解详情,请参阅日志浏览器概览

审核日志权限

Identity and Access Management (IAM) 权限决定了您可以查看或导出哪些日志。如需了解详情,请参阅了解角色

如需查看管理员活动审核日志,您必须拥有以下 IAM 角色之一:

如需查看数据访问审核日志,您必须拥有以下角色之一:

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

查看日志

如需查看日志,您需要 Cloud 项目、文件夹或组织的标识符。您可以指定其他 LogEntry 字段,如 resource.type。请参阅在 Logs Explorer 中构建查询

审核日志名称采用以下格式:

   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

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

控制台

  1. 前往 Google Cloud 控制台中的 Logging > 日志浏览器页面。 前往 Logs Explorer
  2. 选择您的项目。
  3. 查询构建器窗格中,选择资源和日志类型。 如需详细了解如何使用新的日志浏览器进行查询,请参阅在日志浏览器中构建查询

gcloud

运行以下命令以获取项目级日志:

gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" 
--project=PROJECT_ID

API

  1. 前往 entries.list 方法的试用此 API 部分。
  2. 使用此请求正文,并将 PROJECT_ID 替换为您选择的项目 ID:
    {
    "resourceNames": ["projects/PROJECT_ID"],
    "pageSize": 5,
    "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
  3. 点击执行

如需详细了解查询,请参阅 Logging 查询语言

如需查看审核日志条目示例并了解如何在其中找到最重要的信息,请参阅了解审核日志

导出审核日志

您可以像导出其他日志一样导出审核日志。请参阅导出日志

  • 导出到 Cloud Storage、BigQuery 或 Pub/Sub,以便延长保留时间或进行高级搜索。
  • 使用聚合接收器管理整个组织的日志。
  • 排除数据访问日志,以管理日志配额。请参阅排除日志

价格和留存率

Cloud Logging 不会针对管理员活动审核日志收费。Cloud Logging 会针对数据访问审核日志收费。请参阅 Google Cloud 的运维套件价格

Cloud Search 审核日志的保留期限:

  • 管理员活动日志:400 天。
  • 数据访问日志:30 天。

当前限制

Cloud Search 审核日志记录限制:

  • 日志条目大小必须小于 512 KB。如果某个条目超过 512 KB,则会移除 response 字段。如果仍超过 512 KB,则移除 request 字段。如果仍超过 512 KB,则会舍弃整个条目。
  • 系统不会记录 list()get()suggest() 方法的响应正文。
  • 系统只会记录来自 cloudsearch.google.com 和客户搜索应用的查询调用。
  • 对于 search() 调用,请求中仅记录 QueryRequestOptionsDataSourceRestriction。响应仅审核网址和元数据。
  • 不会审核数据导出后端调用。