本文档从概念上简要介绍了 Cloud Audit Logs。
Google Cloud 服务会写入审核日志,这些日志用于记录 Google Cloud 资源中的管理活动和访问。审核日志可帮助您了解回答“哪些用户何时在何处对 Google Cloud 资源执行过哪些操作?”,透明度与本地环境相同。启用审核日志有助于安全、审核和合规性实体监控 Google Cloud 数据和系统,检查是否存在可能的漏洞或外部数据滥用。
生成审核日志的 Google 服务
如需查看可提供审核日志的 Google Cloud 服务的列表,请参阅具有审核日志的 Google 服务。所有 Google Cloud 服务最终都会提供审核日志。
如需大致了解 Google Workspace 审核日志,请参阅 Google Workspace 审核日志。
所需的角色
要查看审核日志,您必须拥有适当的 Identity and Access Management (IAM) 权限和角色:
-
获得所需的权限,比如对管理员活动、政策拒绝和 系统事件审核日志、 请让管理员授予您 Logs Viewer (
roles/logging.viewer
) IAM 角色。如果您只有 Logs Viewer 角色
(roles/logging.viewer)
,则无法查看_Default
存储桶中的数据访问审核日志。
-
获取访问
_Required
和_Default
中所有日志所需的权限 包括数据访问日志 请让管理员授予您 Private Logs Viewer (roles/logging.privateLogViewer
) IAM 角色。Private Logs Viewer 角色
(roles/logging.privateLogViewer)
包含 Logs Viewer 角色 (roles/logging.viewer
) 中包含的权限, 以及读取_Default
存储桶中的数据访问审核日志所需的对象。
如需详细了解适用于审核日志数据的 IAM 权限和角色,请参阅使用 IAM 进行访问权限控制。
审核日志类型
Cloud Audit Logs 会为每个 Google Cloud 项目、文件夹和组织提供以下审核日志:
管理员活动审核日志
管理员活动审核日志包含 API 调用或其他用于修改资源配置或元数据的操作对应的日志条目。例如,这些日志会记录用户创建虚拟机实例或更改 Identity and Access Management 权限的时间。
管理员活动审核日志始终会写入;您无法配置、排除或停用它们。即使您停用 Cloud Logging API,系统仍会生成管理员活动审核日志。
有关可写入管理员活动审核日志的服务 有关生成这些日志的活动的信息,请参阅 具有审核日志的 Google Cloud 服务。
数据访问审核日志
数据访问审核日志包含用于读取资源配置或元数据的 API 调用,以及用户进行的用于创建、修改或读取用户所提供资源数据的 API 调用。
具有 Identity and Access Management 政策 allAuthenticatedUsers
或 allUsers
的公开资源不会生成审核日志。无需登录 Google Cloud、Google Workspace、Cloud Identity 或云端硬盘企业版账号即可访问的资源不会生成审核日志。这有助于保护最终用户的身份和信息。
数据访问审核日志 - 以下项除外: BigQuery 数据访问审核日志 - 默认处于停用状态,原因是 审核日志可能会非常庞大如果您想针对 BigQuery 以外的 Google Cloud 服务写入数据访问审核日志,则必须明确启用这些日志。启用日志 会导致您的 Google Cloud 项目为额外的日志付费 。有关启用和配置数据访问审核日志的说明,请参阅 启用数据访问审核日志。
有关可写入数据访问审核日志和 有关生成这些日志的活动的信息,请参阅 具有审核日志的 Google Cloud 服务。
数据访问审核日志存储在
_Default
日志存储桶,除非
但您已将它们转送到其他位置有关详情,请参阅
存储和路由审核日志
部分。
系统事件审核日志
系统事件审核日志包含修改资源配置的 Google Cloud 操作所对应的日志条目。系统事件审核日志是 Google 系统生成的;而不是通过直接用户操作生成的。
系统事件审核日志始终会写入;您无法配置、排除或停用它们。
有关可写入系统事件审核日志和 有关生成这些日志的活动的信息,请参阅 具有审核日志的 Google Cloud 服务。
政策拒绝审核日志
当 Google Cloud 服务拒绝访问时,系统会记录政策拒绝审核日志 用户或服务账号 违反相关政策。
默认情况下,系统会生成违规拒绝审核日志,并向您的 Google Cloud 项目收取日志存储费用。您无法停用 Policy 审核日志被拒,但您可以使用 排除过滤器可避免 拒绝的审核日志存储在 Cloud Logging 中。
如需查看会写入“政策遭拒”审核日志的服务的列表,以及有关哪些活动会生成这些日志的详细信息,请参阅具有审核日志的 Google Cloud 服务。
审核日志条目结构
Cloud Logging 中的每个审核日志条目都是类型为 LogEntry
的对象。审核日志条目与其他日志条目的区别在于 protoPayload
字段;此字段包含用于存储审核日志数据的 AuditLog
对象。
如需了解如何读取和解读审核日志条目,以及审核日志条目示例,请参阅了解审核日志。
日志名称
Cloud Audit Logs 日志名称包括:
表示 Google Cloud 项目或 拥有该审核日志的其他 Google Cloud 实体。
字符串
cloudaudit.googleapis.com
。一个字符串,用于指明日志是包含管理员活动、数据访问、政策拒绝还是系统事件审核日志记录数据。
以下是审核日志名称,包括资源标识符的变量:
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 billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Factivity billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fdata_access billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event billingAccounts/BILLING_ACCOUNT_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 资源执行已记录操作的身份。调用者的身份保存在 AuditLog 对象的 AuthenticationInfo
字段中。
对于任何成功的访问或任何写入操作,审核日志不会隐去调用方的主要电子邮件地址。
对于因“权限被拒绝”错误而失败的只读操作,除非调用方是服务账号,否则审核日志可能会隐去调用方的主要电子邮件地址。
除了上面列出的条件外,以下条件适用于某些 Google Cloud 服务:
旧版 App Engine API:不收集身份信息。
BigQuery:调用方 会遮盖身份和 IP 地址,以及一些资源名称 除非满足特定条件。
Cloud Storage:启用 Cloud Storage 使用情况日志后,Cloud Storage 会将使用情况数据写入 Cloud Storage 存储桶,进而为该存储桶生成数据访问审核日志。生成的数据访问审核日志会将其调用方身份隐去。
Firestore:如果 JSON Web 令牌 (JWT) 用于第三方身份验证,则
thirdPartyPrincipal
字段会包含该令牌的标头和载荷。例如,使用 Firebase Authentication 进行身份验证的请求的审核日志包含该请求的身份验证令牌。VPC Service Controls:对于政策拒绝审核日志,系统会进行以下隐去处理:
部分来电者电子邮件地址可能会被隐去并替换为 三个句点字符
...
。属于网域
google.com
的一些调用方电子邮件地址已隐去,并替换为google-internal
。
组织政策: 部分来电者电子邮件地址可能会被隐去并替换为 三个句点字符
...
。
审核日志中调用方的 IP 地址
调用方的 IP 地址保存在RequestMetadata.caller_ip
AuditLog
对象:
- 对于互联网调用方,此地址是公共 IPv4 或 IPv6 地址。
- 对于从 Google 内部生产网络内部 从 Google Cloud 服务转移到另一个服务,则 call_ip 会被隐去为“不公开”。
- 对于来自具有外部 IP 地址的 Compute Engine 虚拟机的调用方, call_ip 是虚拟机的外部地址。
- 对于来自没有外部 IP 地址的 Compute Engine 虚拟机的调用方,如果该虚拟机与所访问资源位于同一组织或项目中,则 caller_ip 是该虚拟机的内部 IPv4 地址。否则,caller_ip 会隐去为“gce-internal-ip”。如需了解详情,请参阅 VPC 网络概览。
查看审核日志
您可以查询所有审核日志,也可以按其审核日志名称来查询日志。审核日志名称包含您要查看其审核日志记录信息的 Google Cloud 项目、文件夹、结算账号或组织的资源标识符。您的查询可以指定已编入索引的 LogEntry
字段,如果您使用支持 SQL 查询的 Log Analytics 页面,则您可以以图表形式查看查询结果。
如需详细了解如何查询日志,请参阅以下页面:
您可以使用 Google Cloud 控制台、Google Cloud CLI 或 Logging API 查看 Cloud Logging 中的审核日志。控制台
在 Google Cloud 控制台中,您可以使用 Logs Explorer 来检索 Google Cloud 项目、文件夹或组织的审核日志条目:
-
在 Google Cloud 控制台中,转到 Logs Explorer 页面。
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
选择现有的 Google Cloud 项目、文件夹或组织。
如需显示所有审核日志,请在查询编辑器字段中输入以下任一查询,然后点击运行查询:
logName:"cloudaudit.googleapis.com"
protoPayload."@type"="type.googleapis.com/google.cloud.audit.AuditLog"
如需显示特定资源和审核日志类型的审核日志,请在查询构建器窗格中执行以下操作:
在资源类型中,选择要查看其审核日志的 Google Cloud 资源。
在日志名称中,选择要查看的审核日志类型:
- 对于管理员活动审核日志,选择 activity。
- 对于数据访问审核日志,选择 data_access。
- 对于系统事件审核日志,选择 system_event。
- 对于政策拒绝审核日志,选择 policy。
点击运行查询。
如果您没有看到这些选项,则表示 Google Cloud 项目、文件夹或组织中没有该类型的任何审核日志。
如果您在尝试从 Logs Explorer 中查看日志时遇到问题,请参阅问题排查信息。
如需详细了解如何使用 Logs Explorer 进行查询,请参阅在 Logs Explorer 中构建查询。 如需了解如何使用 Gemini 在 Logs Explorer 中汇总日志条目,请参阅在 Gemini 协助下汇总日志条目。
gcloud
Google Cloud CLI 为 Logging API 提供了命令行界面。在每个日志名称中提供有效的资源标识符。例如,如果您的查询包含 PROJECT_ID,则您提供的项目标识符必须引用当前选择的 Google Cloud 项目。
如需读取 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
如需读取 Cloud Billing 账号级层审核日志条目,请运行以下命令:
gcloud logging read "logName : billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com" \ --billing-account=BILLING_ACCOUNT_ID
在命令中添加 --freshness
标志可读取超过 1 天的日志。
如需详细了解如何使用 gcloud CLI,请参阅 gcloud logging read
。
API
构建查询时,请在每个日志名称中提供有效的资源标识符。例如,如果您的查询包含 PROJECT_ID,则您提供的项目标识符必须引用当前选择的 Google Cloud 项目。
例如,要使用 Logging API 查看项目级的审核日志条目,请执行以下操作:
转到
entries.list
方法文档中的试用此 API 部分。将以下内容添加到试用此 API 表单的请求正文部分。点击此预填充的表单后,系统会自动填充请求正文,但您需要在每个日志名称中提供一个有效的 PROJECT_ID。
{ "resourceNames": [ "projects/PROJECT_ID" ], "pageSize": 5, "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" }
点击执行。
存储和路由审核日志
Cloud Logging 使用日志存储桶作为容器,用于存储和整理日志数据。对于每个 Google Cloud 项目、文件夹和组织,Logging 都会自动创建两个日志存储桶:_Required
和 _Default
,并相应地命名为接收器。
Cloud Logging _Required
存储分区会存储管理员活动审核日志
和系统事件审核日志您不能配置 _Required
存储桶或其中的任何日志数据。
管理员活动审核日志和系统事件审核日志始终存储在
生成日志的项目中的 _Required
存储桶。
如果您将管理员活动审核日志和系统事件审核日志路由到其他项目,则这些日志不会通过目标项目的 _Default
或 _Required
接收器。因此,系统不会存储这些日志
在目标的 _Default
日志存储桶或 _Required
日志存储桶中
项目。如需存储这些日志,请在目标项目中创建日志接收器。
如需了解详情,请参阅将日志路由到支持的目的地。
默认情况下,_Default
存储桶会存储任何已启用的数据访问审核日志以及政策拒绝审核日志。为防止数据访问审核日志存储在 _Default
存储桶中,您可以停用这些日志。如需防止任何政策拒绝审核日志存储在 _Default
存储桶中,您可以通过修改其接收器的过滤条件将其排除。
您还可以使用接收器将审核日志条目路由到 Google Cloud 项目级层的用户定义 Cloud Logging 存储桶或 Logging 外部支持的目标位置。如需了解如何路由日志,请参阅将日志路由到支持的目的地。
配置日志接收器的过滤条件时,您需要指定要路由的审核日志类型:如需查看过滤示例,请参阅安全日志记录查询。
如果您想为某个 Google Cloud 组织路由审核日志条目, 文件夹或结算账号,请参阅 整理组织级日志并将其路由到支持的目标位置。
审核日志保留
如需详细了解 Logging 将保留日志条目多长时间,请参阅配额和限制:日志保留期限中的保留期限信息。
访问权限控制
IAM 权限和角色决定了您能否在 Logging API、Logs Explorer 和 Google Cloud CLI 中访问审核日志数据。
如需详细了解您可能需要的 IAM 权限和角色,请参阅使用 IAM 进行访问权限控制。
配额和限制
如需详细了解日志记录用量限制(包括审核日志的大小上限),请参阅配额和限制。
价格
Cloud Logging 不会将日志路由到
支持的目标位置;不过,目标位置可能会产生费用。
除了 _Required
日志存储桶外,Cloud Logging 会对将日志流式传输到日志存储桶以及存储时间超过日志存储桶默认保留期限的部分收费。
Cloud Logging 不会对复制日志、定义日志范围或通过日志浏览器或 Log Analytics 页面发出的查询收费。
有关详情,请参阅以下文档:
- Cloud Logging 价格摘要
目标位置费用:
- VPC 流日志生成费用 在 Cloud Logging 中发送 Virtual Private Cloud 流日志后将其排除时适用。
后续步骤
- 了解如何读取和了解审核日志。
- 了解如何 启用数据访问审核日志。
- 查看 Cloud Audit Logs 的最佳做法
- 了解 Access Transparency,它可提供 Google Cloud 员工在访问您的 Google Cloud 内容时所执行操作的日志。