在 Google Kubernetes Engine (GKE) 上运行关键业务应用需要多方承担不同的责任。此主题列出了 Google 和客户的责任(并未详尽列出所有主题)。
GKE
Google 责任
- 保护底层基础架构,包括硬件、固件、内核、操作系统、存储、网络等。这包括默认加密静态数据、提供额外的客户管理的磁盘加密机制、加密传输中的数据、使用定制设计的硬件、铺设专用网线、保护数据中心免遭物理访问、使用安全强化型节点防止引导加载程序和内核被修改,以及遵循安全的软件开发实践。
- 对节点的操作系统(例如 Container-Optimized OS 或 Ubuntu)进行安全强化和修补。GKE 会及时为这些映像提供补丁程序。如果您启用了自动升级功能,或者您使用发布渠道,系统会自动部署这些更新。这是容器的底层操作系统层,与容器中运行的操作系统不同。
- 在内核中使用 Container Threat Detection 对特定于容器的威胁构建和运行威胁检测(使用 Security Command Center 单独计费)。
- 对 Kubernetes 节点组件进行安全强化和修补。当您升级 GKE 节点版本时,所有 GKE 管理的组件都将自动升级。其中包括:
- 用于颁发 kubelet TLS 证书、由 vTPM 支持的可信引导机制和证书的自动轮替
- 遵循 CIS 基准的安全强化型 kubelet 配置
- Workload Identity 的 GKE 元数据服务器
- GKE 的原生容器网络接口插件和 Calico for NetworkPolicy
- GKE Kubernetes 存储集成,例如 CSI 驱动程序
- GKE 日志记录和监控代理
- 对控制平面进行安全强化和修补。控制平面包括控制平面虚拟机、API 服务器、调度程序、控制器管理器、集群 CA、TLS 证书颁发和轮替、信任根密钥材料、IAM 身份验证器和授权器、审核日志记录配置、etcd 以及其他各种控制器。您的所有控制层面组件都在由 Google 运行的 Compute Engine 实例上运行。这些实例是单租户实例,这意味着每个实例仅为一个客户运行控制层面及其组件。
- 为 Connect、Identity and Access Management、Cloud Audit Logs、Google Cloud Observability、Cloud Key Management Service、Security Command Center 等服务提供 Google Cloud 集成。
- 使用 Access Transparency 限制和记录 Google 对客户集群的管理员权限,以便根据合同提供支持。
客户责任
- 维护您的工作负载,包括应用代码、构建文件、容器映像、数据、基于角色的访问控制 (RBAC)/IAM 政策以及您运行的容器和 pod。
- 轮替集群的凭据。
- 为集群注册自动升级(默认)或将集群升级到受支持的版本。
- 监控集群和应用,并使用安全状况信息中心和 Google Cloud Observability 等技术响应任何提醒和突发事件。
- 在 Google 要求时提供环境详细信息,以进行问题排查。
- 确保已在集群上启用 Logging 和 Monitoring。如果没有日志,系统会尽最大努力提供支持。
后续步骤
- 阅读 GKE 安全概览。