Project Icon

aks-baseline-regulated

AKS上构建符合监管要求的Kubernetes集群架构

本参考架构展示了一个满足监管合规要求的Azure Kubernetes Service (AKS)集群基线架构。它在AKS基线集群的基础上,增加了适用于受监管环境的实现细节。该方案涵盖网络拓扑、安全控制和监控等最佳实践,指导企业在AKS上部署受监管工作负载。通过关键组件部署演示和详细操作说明,为构建合规的AKS环境提供了可靠的参考。

Azure Kubernetes Service (AKS) 受监管工作负载的基线集群

此参考实施演示了受监管合规要求(如PCI)的 AKS 集群推荐起点(基线)基础设施架构。该实施直接基于 AKS 基线集群参考实施,并在此基础上增加了在受监管环境中比典型的"公共云"消费模式更常见的额外实施点。

🎓 基础知识
如果您还不熟悉通用 AKS 基线集群 架构,应该先从那里开始,然后再继续本文。 本架构是在 AKS 基线的基础上构建的,后者是这项工作的基础。本参考实施避免重复阐述 AKS 基线集群中已经解决的问题。

合规性

:warning:这些工件尚未经过任何官方认证;监管合规是您和您的托管提供商之间的共同责任。此实施旨在帮助您实现合规性,但本身并不确保任何程度的合规性。要了解 Azure 合规性和共同责任模型,请访问 Microsoft 信任中心

Azure 和 AKS 能够为您提供必要的工具,并允许您建立流程,以帮助您实现合规的托管基础设施。实施细节可能很复杂,整个合规过程也是如此。我们以相当详细的方式介绍部署过程,以帮助您理解此架构的每个组成部分,向您讲解每一层,并为您提供将其应用于您独特的合规范围工作负载所需的知识。

即使您不在受监管环境中,这种基础设施也展示了一个比 AKS 基线中呈现的通用集群具有更高安全态势的 AKS 集群。您可能会发现从这里选择一些概念并将其应用于非受监管的工作负载很有用(但要权衡增加的复杂性和托管成本)。

Azure 架构中心指南

本项目有一系列配套文章,描述了设计用于托管落入 PCI-DSS 3.2.1 范围内的工作负载的 AKS 集群所面临的挑战、设计模式和最佳实践。您可以在 Azure 架构中心找到这篇文章:Azure Kubernetes Service (AKS) 用于 PCI-DSS 3.2.1 的受监管集群。如果您还没有阅读过,我们建议您阅读它;因为它将为本实施中应用的考虑因素提供额外的背景。本存储库主要关注部署问题,而合规问题主要在上面链接的文章系列中讨论。

架构

这个参考实施更侧重于基础设施,而不是工作负载。它集中处理 AKS 集群本身。这个实施会涉及工作负载问题,但不包含关于范围内工作负载架构、容器安全性或隔离的端到端指导。这里展示了一些良好实践并讨论了其他实践,但并不详尽。

这里呈现的实施是大多数落入合规范围的 AKS 集群的最小起点。这个实施与 Azure 服务集成,将提供可观察性,提供支持公共流量隔离的网络拓扑,并保持集群内流量的安全。这种架构应被视为托管受监管工作负载的集群在预生产和生产阶段的架构起点。

这里的材料相对密集。我们强烈建议您先阅读上面链接的 Azure 架构中心指南,然后至少花四个小时仔细阅读这些说明,带着学习的心态。您不会在这里找到任何"一键式"部署。然而,一旦您理解了涉及的组件,并确定了您的团队与更大的 IT 组织之间的共同责任,我们鼓励您围绕最终的基础设施建立可审核的部署流程。

最后,这个实施使用一个小型自定义应用程序作为示例工作负载。这个工作负载并不特别有趣,因为它仅用于帮助您体验基础设施并说明现有的网络和安全控制。工作负载及其部署并不代表受监管工作负载的任何"最佳实践"。

核心架构组件

Azure 平台

  • AKS v1.27
  • Azure 虚拟网络(中心辐射型)
    • Azure 防火墙管理的出口
    • 中心代理 DNS
    • 自带无公共 DNS 表示的 AKS 私有 DNS 区域
  • Azure 应用程序网关(WAF - OWASP 3.2)
  • AKS 管理的内部负载均衡器
  • 用于维护访问的 Azure Bastion
  • 启用 Private Link 的 Key Vault 和 Azure 容器注册表
  • 私有 Azure 容器注册表任务运行器

集群内开源软件组件

网络拓扑

描绘了一个中心辐射型网络,有两个对等 VNet。集群分支包含用于跳转盒、集群和其他相关服务的子网。

工作负载 HTTPS 请求流

网络流显示互联网流量通过 Azure 应用程序网关,然后进入入口控制器,再通过工作负载 pod。所有连接都是 TLS。

部署参考实施

AKS 托管工作负载的部署通常在身份和安全组管理、主机网络、集群基础设施以及最终工作负载本身等方面经历职责分离和生命周期管理。在此参考实施中,您将跨这些不同角色工作。受监管环境要求强有力的、有文档记录的关注点分离;但最终您将决定每个边界应该在哪里。

另外,请记住这项工作的主要目的是说明此集群中的拓扑和决策。一个引导式的"逐步"流程将帮助您了解解决方案的各个部分,并让您深入了解它们之间的关系。对基础设施、其供应链和"第二天"工作流程的深入理解对于合规性问题至关重要。如果您无法解释每个决策点和理由,审核对话可能很快变得不舒服。

最终,集群、其依赖项和工作负载的生命周期/SDLC 管理将取决于您的具体情况。您需要考虑团队角色、集中和分散的 IT 角色、组织标准、行业期望以及合规审核员的具体要求。

准备订阅部分开始这个学习之旅。 如果您一直跟随到最后,您将在自己的 Azure 订阅中安装我们推荐的受监管行业基线集群,并运行一个示例工作负载供您参考。

1. :rocket: 准备订阅

在开始部署集群之前,必须解决一些考虑因素。我在订阅和 Microsoft Entra 租户中是否有足够的权限来进行这么大规模的部署?这些工作有多少将由我的团队直接处理,又有多少将由另一个团队负责?

2. 构建区域网络中心

这个参考实现基于传统的中心辐射模型构建,通常存在于您组织的连接订阅中。中心将包含Azure防火墙、DNS转发器和Azure Bastion服务。

3. 规划Kubernetes API服务器访问

由于AKS服务器是一个"私有集群",控制平面不会暴露在互联网上。现在管理只能在与AKS暴露的私有端点有网络视线的情况下执行。在这种情况下,您将构建一个由Azure Bastion前端的跳板机。

4. 部署集群

这是本参考实现指导的核心;与先前的网络拓扑指导配套。在这里,您将为集群部署Azure资源以及相邻服务,如Azure应用程序网关WAF、Azure Monitor、Azure容器注册表和Azure Key Vault。这也是您将验证集群是否引导的地方。

5. 部署您的工作负载

一个由四个相互连接的服务组成的简单工作负载被手动部署在两个命名空间中,以说明诸如节点池放置、零信任网络策略以及应用的NSG和Azure防火墙规则提供的外部基础设施保护等概念。

6. :checkered_flag: 验证

现在集群和示例工作负载已部署;现在是时候看看集群如何运作了。

7. :broom: 清理资源

在前面步骤中部署的大多数Azure资源如果不删除将持续产生账单影响。

职责分离

所有处于合规范围内的工作负载通常需要一个文档化的职责/关注点分离实施计划。Kubernetes提出了一个有趣的挑战,因为它涉及IT组织中通常发现的大量角色。网络、身份、安全运营、治理、工作负载团队、集群运营、部署管道等等。如果您正在寻找如何考虑划分与AKS集群相邻的角色的起点,请考虑查看我们作为本参考实现一部分提供的Microsoft Entra角色指南

:notebook: 有关更多信息,请参阅Azure架构中心关于AKS中PCI-DSS 3.2.1要求7、8和9的指导

就这些吗,那...呢!?

是的,确实存在一些超出本实现合理演示范围的考虑因素。这个参考实现努力使大多数人都能够接受,而不对用于此演练的订阅施加不当负担。这意味着选择具有相对较大默认配额的SKU,不使用区域可用性非常有限的功能,不要求学习者被"自带加密密钥"等服务选项所困扰等。这一切都是为了希望更多人能够完成此演练,而不会中断或需要与订阅或管理组所有者过度协调。

对于您的实现,将此起点作为基础,并添加整个演练和Azure架构中心指南中讨论的但未直接实现的其他安全措施。例如,启用JIT和条件访问策略,如果适用于您的工作负载,请使用加密主机功能等。

有关您架构的其他考虑事项列表,请参阅我们的附加考虑事项文档。

成本

这个参考实现在前30天内空闲时每天大约需要95美元;随着时间的推移,您可以预期它会增加,因为一些Microsoft Defender for Cloud工具有免费试用期,日志也会继续累积。起始成本的最大贡献者是Azure防火墙、AKS节点池(虚拟机规模集)和Log Analytics。虽然一些成本通常是集群操作员成本,如节点池VMSS、Log Analytics、增量Microsoft Defender for Cloud成本;其他成本可能会在多个业务单位或应用程序之间分摊,如Azure防火墙。

一些客户会选择通过在其组织内托管多租户集群来分摊集群成本,通过工作负载多样性最大化密度。对于受监管的工作负载,不建议这样做。受监管的环境通常会优先考虑合规性和安全性(隔离)而不是成本(多样化密度)。

最后的想法

Kubernetes是一个非常灵活的平台,为基础设施和应用程序操作员提供了许多选择来实现其业务和技术目标。在您的旅程中的某些点上,您需要考虑何时依赖Azure平台功能、CNCF OSS解决方案、ISV解决方案、支持渠道,以及需要哪些操作流程。我们鼓励将此参考实现作为您在自己团队内开始架构对话的地方;根据您的具体要求进行调整,并最终提供一个让您的客户和审计员都满意的解决方案。

相关文档

贡献

请查看我们的贡献指南

本项目采用了Microsoft开源行为准则。有关更多信息,请参阅行为准则常见问题或联系opencode@microsoft.com获取任何其他问题或意见。

来自Microsoft模式与实践,Azure架构中心的 :heart:。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号