Cloud Audit Logs

概览

GKE on Azure 支持 Cloud API 和 Kubernetes 集群级别的审核日志记录。本文档提供有关 Kubernetes 集群审核日志的信息。如需了解 Cloud API 审核日志记录,请参阅 Cloud API 审核日志记录信息

GKE on Azure 使用 Kubernetes 审核日志,该日志按时间顺序记录对集群的 Kubernetes API 服务器进行的调用。审核日志适合用于调查可疑的 API 请求以及收集统计信息。

在集群版本 1.23 及更高版本中,GKE on Azure 默认在 Google Cloud 项目中写入 Cloud Audit Logs。写入 Cloud Audit Logs 将具有以下优势:

  • 所有 GKE 集群的审核日志都可以集中管理。
  • 写入 Cloud Audit Logs 的日志条目是不可变的。
  • Cloud Audit Logs 条目会保留 400 天。
  • Cloud Audit Logs 包含在 Anthos 的价格中。

限制

适用于 GKE on Azure 的当前版本 Cloud Audit Logs 存在多项限制:

  • 不支持数据访问(get、list、watch 请求)日志记录。

  • 不支持修改 Kubernetes 审核政策。

  • Cloud Audit Logs 不能应对长时间的网络中断。如果无法将日志条目导出到 Google Cloud,则它们将缓存在 10G 磁盘缓冲区中。如果该缓冲区填满,则会丢弃后续条目。

审核政策

Cloud Audit Logs 行为由静态配置的 Kubernetes 审核日志记录政策决定。更改此政策目前不受支持,但将在未来版本中提供。

访问 Cloud Audit Logs

您可以在 Google Cloud 控制台中或使用 Google Cloud CLI 访问 Cloud Audit Logs。

控制台

  1. 在 Google Cloud 控制台中,转到 Logging 菜单中的日志浏览器页面。

    转到“日志”页面

  2. 点击 显示查询切换开关。

  3. 在文本框中填写以下过滤条件:

    resource.type="k8s_cluster"
    logName="projects/PROJECT_ID/logs/externalaudit.googleapis.com%2Factivity"
    

    屏幕如下所示:

    已启用“显示查询”并填充了查询的日志浏览器

  4. 点击运行查询以显示来自 GKE on Azure 集群的所有审核日志,这些日志已配置为登录此项目。

gcloud

列出项目的管理员活动日志中适用于 k8s_cluster 资源类型的前两个日志条目:

gcloud logging read \
    'logName="projects/PROJECT_ID/logs/externalaudit.googleapis.com%2Factivity"
    AND resource.type="k8s_cluster" ' \
    --limit 2 \
    --freshness 300d

其中,PROJECT_ID 是您的项目 ID。

输出内容会显示两个日志条目。请注意,对于每个日志条目,logName 字段的值为 projects/PROJECT_ID/logs/externalaudit.googleapis.com%2Factivity,并且 protoPayload.serviceName 等于 gkemulticloud.googleapis.com