你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
群集和应用程序安全性
熟悉 Kubernetes 安全基础,查看群集和应用程序安全指南的安全设置。 由于 Kubernetes 群集的分布式动态性质,Kubernetes 安全性在整个容器生命周期中都很重要。 应用程序的安全性取决于构成应用程序安全的服务链中的最薄弱环节。
计划、训练和证明
刚开始时,可以借助下面的安全基础清单和 Kubernetes 安全资源来规划群集操作和应用程序安全性。 在本节结束时,你将能够回答以下问题:
- 你是否已查看 Kubernetes 群集的安全和威胁模型?
- 你的群集是否已启用 Kubernetes 基于角色的访问控制?
安全清单:
熟悉安全基础白皮书。 安全 Kubernetes 环境的主要目标是确保其运行的应用程序受到保护,可以快速识别和解决安全问题,并防止未来出现类似问题。 有关详细信息,请参阅
The Definitive Guide to Securing Kubernetes
(白皮书)。查看群集节点的安全强化设置。 安全强化主机 OS 可降低受攻击面,允许安全地部署容器。 若要了解详细信息,请参阅 AKS 虚拟主机中的安全强化。
设置群集的 Kubernetes 基于角色的访问控制 (Kubernetes RBAC)。 使用此控制机制,可以向用户或用户组分配执行各种操作的权限,例如创建或修改资源,或者查看正在运行的应用程序工作负载的日志。
有关详细信息,请参阅
部署到生产环境并应用 Kubernetes 安全最佳做法
在为生产准备应用程序时,请实施一组最少的最佳做法。 在此阶段使用此清单。 在本节结束时,你将能够回答以下问题:
- 是否已为入口、出口和 Pod 内通信设置网络安全规则?
- 群集是否设置为自动应用节点安全更新?
- 是否为群集和容器服务运行安全扫描解决方案?
安全清单:
使用组成员身份控制对群集的访问。 根据用户标识或目录组成员身份配置 Kubernetes 基于角色的访问控制 (Kubernetes RBAC),以限制对群集资源的访问。 有关详细信息,请参阅 使用 Kubernetes RBAC 和 Microsoft Entra 标识控制对群集资源的访问。
创建机密管理策略。 使用 Kubernetes 中的机密管理安全地部署和管理敏感信息,例如密码和证书。 有关详细信息,请参阅了解 Kubernetes 中的机密管理(视频)。
使用网络策略保护 Pod 内部网络流量。 应用最小特权原则,控制群集中 Pod 之间的网络流量。 有关详细信息,请参阅使用网络策略保护 Pod 内部流量。
使用授权 IP 限制对 API 服务器的访问。 通过仅允许有限的一组 IP 地址范围来访问 API 服务器,提高群集安全性并最大程度地减少受攻击面。 有关详细信息,请参阅保护对 API 服务器的访问。
限制群集出口流量。 了解在限制群集出口流量的情况下要允许哪些端口和地址。 可以使用 Azure 防火墙或第三方防火墙设备来保护出口流量,并定义这些必需的端口和地址。 若要了解详细信息,请参阅控制 AKS 中群集节点的出口流量。
使用 Web 应用程序防火墙 (WAF) 保护流量。 使用 Azure 应用程序网关作为 Kubernetes 群集的入口控制器。 有关详细信息,请参阅将 Azure 应用程序网关配置为入口控制器。
将安全性和内核更新应用于工作器节点。 了解 AKS 节点更新体验。 为保护群集,安全更新会自动应用于 AKS 中的 Linux 节点。 这些更新包括 OS 安全修复项或内核更新。 其中的部分更新需要重启节点才能完成更新进程。 若要了解详细信息,请参阅使用 kured 自动重启节点以应用更新。
配置容器和群集扫描解决方案。 扫描已推送到 Azure 容器注册表中的容器,更深入地了解群集节点、云流量和安全控制。
有关详细信息,请参阅:
优化和缩放
应用程序投入生产环境后,如何优化工作流程并让应用程序和团队做好缩放准备? 使用优化和缩放清单进行准备。 在本节结束时,你将能够回答以下问题:
- 是否可以大规模地强制实施治理和群集策略?
安全清单:
强制实施群集治理策略。 以集中且一致的方式对群集大规模应用强制和安全措施。 若要了解详细信息,请参阅使用 Azure Policy 控制部署。
定期轮换群集证书。 Kubernetes 使用证书对其许多组件进行身份验证。 出于安全或策略原因,可能需要定期轮换这些证书。 若要了解详细信息,请参阅在 Azure Kubernetes 服务 (AKS) 中轮换证书。