审核日志记录

本页面介绍了 Cloud Search 创建的审核日志(属于 Cloud Audit Logs 的一部分)。

概览

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

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

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

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

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

审核日志格式

审核日志条目包含以下对象。您可以使用 Logs Explorer、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_TOKEN、PROJECT_ID 和类别(logAdminReadActions、logDataWriteActions 或 logDataReadActions)。默认情况下,管理员写入操作处于启用状态。如需记录查询方法,请启用“数据读取”类别。

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

  5. 查询方法的审核日志记录需要“数据读取”类别。如需为 query.sources.list、query.suggest 和 query.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 项目角色更改为适当的组织角色。

查看日志

如需查看日志,您需要云项目、文件夹或组织的标识符。您可以指定其他 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. 在查询构建器窗格中,选择资源和日志类型。 如需详细了解如何使用新的 Logs Explorer 进行查询,请参阅在 Logs Explorer 中构建查询。

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() 调用,请求中仅记录 Query、RequestOptions 和 DataSourceRestriction。响应仅审核网址和元数据。
  • 数据导出后端调用未经过审核。