审核日志记录

本页面介绍了 Cloud Search 在 Cloud Audit Logs

概览

Google Cloud 服务会写入审核日志,帮助您解答各种疑问, “谁在何时何地做过些什么”资源内部您的 Cloud 项目 仅包含直接属于项目的资源的审核日志。 文件夹、组织和 Cloud Billing 账号等其他实体 包含实体本身的审核日志。

如需大致了解 Cloud Audit Logs,请参阅 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
数据访问:数据读取



















审核日志格式

审核日志条目 - 可以使用日志浏览器在 Cloud Logging 中查看, Cloud Logging API 或 gcloud 命令行工具 - 添加以下代码 对象:

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

  • logName 包含资源 ID 和审核日志类型。
  • resource 包含所审核操作的目标。
  • timeStamp 包含所审核操作的时间。
  • protoPayload 包含审核的信息。
  • 审核日志记录数据是 AuditLog 对象。

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

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

日志名称

Cloud Audit Logs 资源名称指明了 Cloud 项目或其他 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 的审核日志记录处于停用状态。启用审核 Google Cloud Search 的日志记录:

  1. (可选)如果您还没有创建用于存储的 Google Cloud Platform 项目 请参阅 配置对 Google Cloud Search API 的访问权限

  2. 获取要在其中创建 IP 地址的 Google Cloud 项目的 ID 存储日志如需了解如何获取项目 ID,请参阅 识别项目

  3. 如需为特定 API 启用审核日志记录,您需要确定其日志 启用类别。如需了解 API 及其对应类别,请参阅 已审核的操作(详见本文档前面部分)。

  4. 使用 updateCustomer() REST API 方法使用日志类别更新 auditLogSettings 启用:

    1. 从 Google 授权服务器获取 OAuth 2.0 访问令牌。对于 有关如何获取令牌的信息,请参阅 使用 OAuth 2.0 访问 Google API。 获取访问令牌时,请使用以下 OAuth 范围之一:

      • 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 命令。

    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 是在第 4a 步获得的 OAuth 2.0 访问令牌。
    • PROJECT_ID 是在第 2 步中获得的项目 ID。
    • CATEGORY1”“CATEGORY2”和“”是您选择在以下位置启用的类别 第 3 步。有效值为 logAdminReadActionslogDataWriteActionslogDataReadActions。管理员写入操作默认处于启用状态,且无法 已停用。如果您希望为查询方法启用审核日志记录,则必须启用 数据读取类别。

    更新 AuditLoggingSettings 后,向 Cloud Search API 发出的进一步请求 在 AuditLoggingSettings 中指定的项目 ID 中生成审核日志。

  5. 查询方法的审核日志记录要求启用“数据读取”类别 (在第 4 步中完成)。为查询方法启用审核日志记录 (query.sources.listquery.suggestquery.search)关注这些消息 其他步骤:

    1. 对于要为其启用审核日志记录的每个搜索应用, 检索该名称。名称必须采用 searchapplications/<search_application_id>

    2. 使用该名称调用 settings.searchapplications.updateenableAuditLog 已设为 true

  6. 如需为来自 cloudsearch.google.com 的调用启用审核日志记录,请确保 数据读取类别已启用(第 4 步)。此外,请执行 第 5b 步,namesearchapplications/default

启用后,您可以在 Google Cloud 的“日志浏览器”部分查看日志 控制台。使用以下过滤条件,仅查看 Cloud Search 审核日志:

protoPayload.serviceName="cloudsearch.googleapis.com"

如需了解如何查看日志,请参阅 Logs Explorer 概览

审核日志权限

Identity and Access Management 权限和角色决定了哪些审核日志 可供您查看或导出日志保存在 Cloud 项目和一些其他实体(包括组织、文件夹和 Cloud Billing 账号)中。有关 请参阅 了解角色

如需查看管理员活动审核日志,您必须拥有以下 IAM 角色之一 在包含您的审核日志的项目中:

如需查看数据访问审核日志,您必须在审核日志所属的项目中拥有以下某一角色:

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

查看日志

要查找和查看审核日志,您需要知道 要查看其审核日志记录的项目、文件夹或组织 信息。您可以进一步指定 LogEntry 例如 resource.type;有关详情,请查看 在日志浏览器中构建查询

以下是审核日志名称:它们包含 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

   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

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

控制台

您可以在 Cloud 控制台中使用日志浏览器 检索 Cloud 项目的审核日志条目:

  1. 在 Cloud Console 中,转到 Logging > 日志浏览器页面。

    转到“日志浏览器”页面

  2. Logs Explorer 页面上,选择一个现有的 Cloud 项目。

  3. 查询构建器窗格中,执行以下操作:

    • 资源中,选择要查看其审核日志的 Google Cloud 资源类型。

    • 日志名称中,选择要查看的审核日志类型:

      • 对于管理员活动审核日志,选择 activity
      • 对于数据访问审核日志,选择 data_access
      • 对于系统事件审核日志,选择 system_event
      • 对于政策拒绝审核日志,选择 policy

    如果您没有看到这些选项,则说明其中不存在 该类型在 Cloud 项目中可用。

    如需详细了解如何使用新的日志浏览器进行查询,请参阅在日志浏览器中构建查询

gcloud

gcloud 提供了一个命令行界面,用于 Logging API。在每个日志名称中提供有效的 PROJECT_IDFOLDER_IDORGANIZATION_ID

如需读取 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

如需详细了解如何使用 gcloud 工具,请参阅 gcloud logging read

API

构建查询时,请用有效值替换变量,替换为适当的项目级层、文件夹级层或组织级层的审核日志名称或标识符(如审核日志名称中所列)。例如,如果您的查询包含 PROJECT_ID,则项目 您提供的 ID 必须引用当前所选的 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. 点击执行

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

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

导出审核日志

您可以按照导出其他类型日志的方式导出审核日志。如需详细了解如何导出日志,请参阅 导出日志。 以下是用于导出审核日志的一些应用:

  • 将审核日志保留更长时间或使用更强大的搜索功能 您就可以将审核日志的副本导出到 Cloud Storage, BigQuery 或 Pub/Sub使用 Pub/Sub,您可以将数据导出到其他应用 以及传递给第三方

  • 要管理整个组织中的审核日志,您可以创建 汇总接收器 可从组织内的任何或所有 Cloud 项目中导出日志的权限。

  • 如果启用的数据访问审核日志会导致您的 Cloud 项目超过 日志配额,您可以导出和排除数据访问审核日志 。如需了解详情,请参阅排除日志

价格和留存率

Cloud Logging 不会针对无法停用的审核日志向您收费, 包括所有管理员活动审核日志。Cloud Logging 按数据计费 访问您明确请求的审核日志。

如需详细了解审核日志价格,请参阅 Google Cloud 的运维套件价格

与 Cloud Search 审核日志关联的存储时长如下:

  • 管理员活动日志(或管理员写入)- 这些日志保留 400 天。
  • 数据访问日志(管理员读取、数据写入和数据读取)- 这些日志是 保留 30 天。

如需详细了解存储时长,请参阅 日志保留期限

当前限制

Cloud Search 审核日志目前存在以下限制:

  • 日志条目的大小必须小于 512 KB。如果大小超过 512 KB,那么系统将从日志条目中删除该响应。如果这样做不能降低 大小不超过 512 KB 的请求,则请求将被丢弃。最后,如果尺寸 超过 512 KB,系统将丢弃该日志条目。

  • 系统不会记录 list()get()suggest() 方法的响应正文。 不过,系统仍会显示响应状态。

  • 仅来自 cloudsearch.google.com(如果已启用)和客户的 Query API 调用 搜索应用将被记录下来。

  • 对于 search() 通话,只能使用 QueryRequestOptionsDataSourceRestriction 会记录在请求中在响应中,只有网址和元数据(来源和 objectType) 进行审核。SearchResult

  • 向 Cloud Search 后端发出的与数据导出对应的调用次数 未审核。