Amazon EKS 中的基础设施安全性 - Amazon EKS

帮助改进此页面

想为本用户指南做出贡献? 滚动到页面底部,然后选择在 GitHub 上编辑此页面。您的贡献有助于我们的用户指南为每个人提供更充分的参考。

Amazon EKS 中的基础设施安全性

作为一项托管式服务,Amazon Elastic Kubernetes Service 受 AWS 全球网络安全保护。有关 AWS 安全服务以及 AWS 如何保护基础设施的信息,请参阅 AWS 云安全。要按照基础设施安全最佳实操设计您的 AWS 环境,请参阅《安全性支柱 AWS Well‐Architected Framework》中的 基础设施保护

您可以使用AWS发布的 API 调用通过网络访问 Amazon EKS。客户端必须支持以下内容:

  • 传输层安全性协议 (TLS) 我们要求使用 TLS 1.2,建议使用 TLS 1.3。

  • 具有完全向前保密 (PFS) 的密码套件,例如 DHE(临时 Diffie-Hellman)或 ECDHE(临时椭圆曲线 Diffie-Hellman)。大多数现代系统(如 Java 7 及更高版本)都支持这些模式。

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

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

有关 VPC 注意事项的更多信息,请参阅Amazon EKS 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 访问。

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

您可以使用 Amazon VPC CNI 或第三方工具(如项目 Calico)实施 Kubernetes 网络策略。有关将 Amazon VPC CNI 用于网络策略的更多信息,请参阅 为 Kubernetes 网络策略配置集群。Project Calico 是一个第三方开源项目。有关更多信息,请参阅 Project Calico 文档