本页面介绍了 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 启用审核日志记录,请执行以下操作:
- (可选)如果您尚未创建用于存储日志的 Google Cloud 项目,请参阅配置对 Cloud Search API 的访问权限。
- 获取您要在其中存储日志的 Google Cloud 项目的 ID。请参阅标识项目。
- 确定要为特定 API 启用的日志类别。请参阅已审核的操作。
使用
updateCustomer()REST API 方法通过以下类别更新auditLogSettings:- 获取 OAuth 2.0 访问令牌。请参阅使用 OAuth 2.0 访问 Google API。
使用以下任一范围:
https://www.googleapis.com/auth/cloud_search.settings.indexinghttps://www.googleapis.com/auth/cloud_search.settingshttps://www.googleapis.com/auth/cloud_search
运行以下 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 的请求会在指定项目中生成日志。
- 获取 OAuth 2.0 访问令牌。请参阅使用 OAuth 2.0 访问 Google API。
使用以下任一范围:
查询方法的审核日志记录需要“数据读取”类别。如需为
query.sources.list、query.suggest和query.search启用日志记录,请执行以下操作:- 检索每个搜索应用的名称,格式为
searchapplications/<search_application_id>。 - 调用
settings.searchapplications.update,并将enableAuditLog设置为true。
- 检索每个搜索应用的名称,格式为
如需为来自
cloudsearch.google.com的调用启用审核日志记录,请确保“数据读取”类别已启用,并更新searchapplications/default。
在 Google Cloud 控制台的日志浏览器中查看日志。使用以下过滤条件可查看 Cloud Search 审核日志:
protoPayload.serviceName="cloudsearch.googleapis.com"
如需了解详情,请参阅日志浏览器概览。
审核日志权限
Identity and Access Management (IAM) 权限决定了您可以查看或导出哪些日志。如需了解详情,请参阅了解角色。
如需查看管理员活动审核日志,您必须拥有以下 IAM 角色之一:
- 项目所有者、编辑者或查看者。
- Logging 的 Logs Viewer 角色。
- 具有
logging.logEntries.list权限的自定义 IAM 角色。
如需查看数据访问审核日志,您必须拥有以下角色之一:
- Project Owner。
- Logging 的 Private Logs Viewer 角色。
- 具有
logging.privateLogEntries.listIAM 权限的自定义 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%2Fpolicyfolders/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
您可以通过多种方式来查看审核日志条目:
控制台
- 前往 Google Cloud 控制台中的 Logging > 日志浏览器页面。 前往 Logs Explorer
- 选择您的项目。
- 在查询构建器窗格中,选择资源和日志类型。 如需详细了解如何使用新的日志浏览器进行查询,请参阅在日志浏览器中构建查询。
gcloud
运行以下命令以获取项目级日志:
gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
--project=PROJECT_ID
API
- 前往
entries.list方法的试用此 API 部分。 - 使用此请求正文,并将
PROJECT_ID替换为您选择的项目 ID:{ "resourceNames": ["projects/PROJECT_ID"], "pageSize": 5, "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" } - 点击执行。
如需详细了解查询,请参阅 Logging 查询语言。
如需查看审核日志条目示例并了解如何在其中找到最重要的信息,请参阅了解审核日志。
导出审核日志
您可以像导出其他日志一样导出审核日志。请参阅导出日志。
价格和留存率
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。响应仅审核网址和元数据。 - 不会审核数据导出后端调用。