审核日志记录

本页面介绍 Cloud Search 在 Cloud Audit Logs 中创建的审核日志。

概览

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

如需大致了解,请参阅 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:审核的信息。

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

可选的服务专用审核信息是服务专用对象。对于较早的集成,此对象位于 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 控制台的 Logs Explorer 中查看日志。对 Cloud Search 审核日志使用以下过滤条件:

protoPayload.serviceName="cloudsearch.googleapis.com"

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

审核日志权限

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

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

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

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

查看日志

如需查看日志,您需要云项目、文件夹或组织的标识符。您可以指定其他 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 页面。转到 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. 前往试用此 API部分,了解 entries.list 方法。
  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。响应只会审核网址和元数据。
  • 系统不会审核用于导出数据的后端调用。