Amazon EKS 中的基础设施安全性 - Amazon EKS
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon EKS 中的基础设施安全性

作为一项托管服务,Amazon EKS 由 AWS 中所述的 Amazon Web Services 全球网络安全程序提供保护: 安全流程概述文章。

您可以使用 AWS 发布的 API 调用通过网络访问 Amazon EKS。客户端必须支持传输层安全性 (TLS) 1.0 或更高版本。建议使用 TLS 1.2 或更高版本。客户端还必须支持具有完全向前保密 (PFS) 的密码套件,例如 Ephemeral Diffie-Hellman (DHE) 或 Elliptic Curve Ephemeral Diffie-Hellman (ECDHE)。大多数现代系统(如 Java 7 及更高版本)都支持这些模式。

此外,必须使用访问密钥 ID 和与 IAM 委托人关联的秘密访问密钥来对请求进行签名。或者,您可以使用 AWS Security Token Service (AWS STS) 生成临时安全凭证来对请求进行签名。

创建 Amazon EKS 集群时,需要为集群指定要使用的 VPC 子网。Amazon EKS 要求指定至少两个可用区内的子网。我们建议使用同时带有公有子网和私有子网的 VPC,以便 Kubernetes 可以在公有子网中创建公有负载均衡器,进而将流量负载平衡到在私有子网中的节点上运行的 pod。

有关 VPC 注意事项的更多信息,请参阅集群 VPC 注意事项

如果使用开始使用 Amazon EKS演练中提供的 AWS CloudFormation 模板创建 VPC 和节点组,则将使用推荐设置来配置控制层面和节点安全组。

有关安全组注意事项的更多信息,请参阅Amazon EKS 安全组注意事项

在创建新集群时,Amazon EKS 将为您用于与集群进行通信的托管 Kubernetes API 服务器(使用 Kubernetes 管理工具,如 kubectl)创建终端节点。默认情况下,此 API 服务器终端节点是对于 Internet 是公有的,对 API 服务器的访问将使用 AWS Identity and Access Management (IAM) 与本机 Kubernetes 基于角色的访问控制 (RBAC) 的组合加以保护。

您可以启用 Kubernetes API 服务器的私有访问,以便节点与 API 服务器之间的所有通信都在 VPC 内。您可以限制可以从 Internet 访问 API 服务器的 IP 地址,或者完全禁用对 API 服务器的 Internet 访问。

有关修改集群终端节点访问的更多信息,请参阅修改集群终端节点访问

您可以使用工具实现网络策略,例如 Project Calico。Project Calico 是一个第三方开源项目。有关更多信息,请参阅 Project Calico 文档