GKE control plane authority 简介


本页面介绍了 Google Kubernetes Engine (GKE) 提供的相关选项,它们可帮助您更好地了解和控制托管式控制平面的安全性。这些选项统称为 GKE control plane authority。本页面适用于希望在处理敏感数据时满足严格的隐私权和安全性需求的信息安全主管、合规性管理员和分析师。

GKE control plane authority 功能简介

在 GKE 中, Trusted Cloud by S3NS 会完全管理控制平面的安全配置,包括静态存储加密,以及配置用于在集群中对凭证进行签名和验证的密钥和证书授权机构 (CA)。GKE 集群的控制平面节点位于 Trusted Cloud 管理的项目中。如需详细了解 Trusted Cloud 的作用,请参阅 GKE 责任共担

GKE control plane authority 是一组可选的可见性和控制功能,可让您验证和管理这些全托管式控制平面节点的特定方面。如果您有如下要求,这些功能会非常适合您:

  • 您在受到严密监管的行业(例如金融、医疗保健或政府部门)中开展业务并且有特定的合规性要求
  • 您处理的敏感数据具有严格的安全和加密要求
  • 您希望增强对 GKE 的可见性,以便在运行关键工作负载时提高信心
  • 您必须满足与数据加密、软件完整性或日志记录相关的特定合规性或审核要求
  • 您有处理关键数据的高度敏感工作负载,并且希望了解这些数据的加密和访问情况
  • 您希望强制执行符合特定组织或监管要求的自定义安全政策
  • 您希望提高 GKE 环境的透明度和可见性级别,尤其是Trusted Cloud 在控制平面中执行的操作方面

GKE control plane authority 的优势

GKE control plane authority 功能非常适合具有严格安全政策或严格审核要求的高度监管环境。使用这些功能可带来如下优势:

  • 增强可见性和控制功能:对 GKE 控制平面使用额外的可见性、控制和加密功能。
  • 简化合规性:借助精细的审核日志和可自定义的安全政策,满足监管和行业要求。
  • 提高信任度和透明度:深入了解Trusted Cloud 在控制平面中为解决客户支持请求而执行的操作。
  • 风险缓释:通过全面的日志,主动检测和应对托管式控制平面所面临的潜在威胁。
  • 标准化 CA 和密钥管理:使用 Certificate Authority Service 管理 GKE 集群 CA,让您可以将证书管理工作委托给特定团队并全面强制执行 CA 政策。此外,您还可以使用 Cloud KMS 管理控制平面磁盘加密密钥,以实现类似的管理委托。

GKE control plane authority 的可用性

您可以在其中使用 GKE control plane authority 的区域和可用区取决于您是否还想使用特定功能,具体如下:

  • 如需使用客户管理的加密密钥对控制平面启动磁盘进行加密,您的集群必须位于以下区域之一:
    • asia-east1
    • asia-northeast1
    • asia-southeast1
    • europe-west1
    • europe-west4
    • us-central1
    • us-east1
    • us-east4
    • us-east5
    • us-south1
    • us-west1
    • us-west3
    • us-west4
  • 如需将机密 GKE 节点与 GKE control plane authority 搭配使用,您的集群必须位于支持 Hyperdisk Balanced 机密模式的区域

如果您不使用这些功能,则可以在任何 Trusted Cloud 位置使用 GKE control plane authority。

GKE control plane authority 的运作方式

您可以与控制平面搭配使用的功能基于所需控制类型进行分类,如下所示。您可以根据自己的特定要求使用这些功能中的一项或多项。

  • 密钥和凭证管理:控制 GKE 用于在控制平面中对静态数据进行加密以及在集群中颁发和验证身份的密钥。
  • 访问日志和身份颁发日志:使用来自网络、虚拟机和 Access Transparency 的日志,通过多种来源验证 GKE 控制平面访问。使用 Cloud KMS 和 CA Service 中的身份颁发日志,查看使用您管理的密钥和 CA 创建身份的时间。使用详细 Kubernetes API 使用情况日志来跟踪这些身份在集群中执行的操作。

密钥和凭证管理

默认情况下, Trusted Cloud 会为您管理 GKE 集群中的密钥和 CA。您可以选择使用 Cloud KMSCA Service 设置自己的密钥和 CA,然后在创建新集群时使用它们。

GKE 会使用这些密钥和 CA(而非 Trusted Cloud默认设置)在集群中颁发和验证身份,并对控制平面虚拟机中的数据进行加密。对身份颁发和数据加密密钥保持控制有助于您实现以下目标:

  • 遵守数据主权和隐私权法规,这些法规要求对密钥进行独占控制
  • 通过管理自己的加密密钥,控制 Kubernetes 中关键敏感数据的加密
  • 根据组织的政策和要求(例如使用由硬件支持的密钥的要求)自定义数据加密策略。

自行管理的 CA 和服务账号密钥

您可以将 GKE 控制平面配置为使用您管理的 Cloud KMS 密钥和 CA Service CA。GKE 使用这些资源在集群中颁发和验证身份。例如,GKE 使用 CA 和密钥来颁发 Kubernetes 客户端证书Kubernetes 服务账号不记名令牌

您需要创建以下资源,以便 GKE 在颁发身份时使用:

  1. 服务账号签名密钥:在集群中对服务账号的 Kubernetes ServiceAccount 不记名令牌进行签名。这些不记名令牌是 JSON Web 令牌 (JWT),可帮助 Pod 与 Kubernetes API 服务器进行通信。
  2. 服务账号验证密钥:验证 Kubernetes 服务账号 JWT。此密钥通常与签名密钥相同,但会单独配置,以便您可以更安全地轮替密钥。
  3. 集群 CA:颁发签名证书,以便用于证书签名请求 (CSR) 和 kubelet 通信等用途。
  4. etcd 对等 CA:颁发签名证书以用于在集群中的 etcd 实例之间进行通信。
  5. etcd API CA:颁发签名证书以用于与 etcd API 服务器进行通信。
  6. 汇总 CA:颁发签名证书,以实现 Kubernetes API 服务器与扩展程序服务器之间的通信。

当 GKE 在集群中颁发身份时,您会在 Cloud Logging 中看到相应的审核日志,您可以使用这些日志在所颁发身份的整个生命周期内跟踪这些身份。

如需了解详情,请参阅在 GKE 中运行您自己的证书授权机构和签名密钥

控制平面启动磁盘和 etcd 加密

默认情况下,GKE 会对控制平面虚拟机的启动磁盘进行加密。如果控制平面运行 etcd 数据库实例,GKE 还会加密以下内容:

  • 存储 etcd 数据的磁盘。
  • etcd 的 Trusted Cloud by S3NS 内部操作备份。

此默认加密使用 Trusted Cloud 管理的加密密钥。如需详细了解此默认加密功能,请参阅默认静态加密

您可以选择性地使用您自己通过 Cloud KMS 来管理的加密密钥对以下资源进行加密:

  • 控制平面启动磁盘:每个控制平面虚拟机用于启动的 Compute Engine 磁盘。
  • etcd 磁盘:挂接到每个控制平面虚拟机并为集群中的 etcd 实例存储数据的 Compute Engine 磁盘。
  • etcd 内部操作备份:用于操作用途(例如灾难恢复)的 etcd 内部 Trusted Cloud 备份。

    此备份是 Trusted Cloud内部的紧急措施。如果您想备份和恢复集群,请改用 Backup for GKE

如需查看相关说明,请参阅加密 etcd 和控制平面启动磁盘

如果您必须满足与对集群控制平面中的加密方式进行控制相关的特定法规或合规性要求,那么这种额外的可选加密方式非常适合您。您可以单独使用自己的密钥来加密集群中工作器节点的启动磁盘和存储磁盘。如需了解详情,请参阅使用客户管理的加密密钥 (CMEK)

当您使用 GKE control plane authority 来加密控制平面启动磁盘时,GKE 控制平面虚拟机会自动在启动磁盘中使用 Hyperdisk Balanced 的机密模式。此配置不会更改工作器节点的默认启动磁盘。

访问日志和身份颁发日志

您可以在 Logging 中查看与控制平面中访问和身份相关的所有事件的日志,包括以下事件:

  • 直接访问:与尝试直接访问(例如 SSH)GKE 控制平面节点相关的日志可让您验证虚拟机 SSH 日志和虚拟机网络连接是否与 Access Transparency 日志中的 SSH 记录一致。
  • 身份颁发和验证:与使用您在 CA Service 和 Cloud KMS 中管理的 CA 和密钥颁发的身份相关的日志。
  • Kubernetes 中的身份使用情况:与特定身份针对 Kubernetes API 服务器执行的操作相关的日志。
  • Access Transparency:与 Trusted Cloud 人员对控制平面进行的连接以及在控制平面上执行的操作相关的日志。

这些日志可帮助您执行以下操作:

  • 维护所有控制平面访问和身份事件的全面审核跟踪记录,以确保合规性和安全性。
  • 除了内置的 Google 保护措施之外,您还可以构建自己的监控系统,以识别和调查控制平面中的任何可疑活动。
  • 验证只有已获授权的实体才能访问您的 GKE 集群并与之交互,从而改进安全状况。
  • 通过 Cloud KMS 和 CA Service 中的身份颁发日志,了解使用您管理的密钥和 CA 创建身份的时间。使用详细 Kubernetes API 使用情况日志来跟踪这些身份在集群中执行的操作。

以下文档介绍了如何查看和处理各种类型的控制平面日志:

有关控制平面安全的其他资源

本部分介绍可用于在控制平面安全方面提高信心的其他方法。您无需使用 GKE control plane authority 即可使用以下资源:

  • 控制平面虚拟机映像完整性:GKE 会向 Cloud Logging 添加节点虚拟机创建和启动事件的详细日志。此外,我们还在 GitHub 上发布了与控制平面和工作器节点机器映像相对应的 SLSA VSA。您可以验证虚拟机是否使用具有对应 VSA 的操作系统映像,并验证每个控制平面虚拟机的启动完整性。

    如需执行虚拟机完整性验证,请参阅验证 GKE 控制平面虚拟机完整性

  • 内置控制平面安全措施:GKE 会对托管式控制平面执行各种安全加固措施。如需了解详情,请参阅控制平面安全

后续步骤