· · 1 分钟阅读

私有端点、VNet、NSG — Aspire 现在接管网络管理

Aspire 新的 Azure 企业网络支持让你可以直接在 AppHost 中建模 VNet、私有端点、NAT 网关、NSG 和网络安全边界,无需基础设施漂移。

Aspire Azure Networking Security .NET
这篇文章也有其他语言版本:English, Español, Català, Deutsch, Français, Português, Italiano, 日本語, 한국어, Русский, हिन्दी, Polski, Türkçe, العربية, Bahasa Indonesia, Nederlands

我见过这个场景太多次了。应用程序已经完成。演示很棒。然后安全清单出现了:将存储从公共互联网移除、在 VNet 内运行、为合作伙伴允许列表提供出站 IP、证明只有正确的子网与正确的服务通信。

此时应用程序模型和基础设施模型开始以令人痛苦的方式分离。

Aspire 新的 Azure 企业网络支持直接解决了这个问题。你在 AppHost 中将网络形态描述在使用它的资源旁边。

构建块

每个 Azure 网络概念的用途,提炼如下:

功能使用时机为何重要
虚拟网络需要私有地址空间时子网、私有端点和路由的网络边界
子网需要在 VNet 内分离工作负载时系统的每个部分获得自己的地址范围和策略面
委托子网平台服务(如 ACA)需要管理子网时允许服务安全地在 VNet 中放置受管基础设施
NAT 网关需要可预测的出站公共 IP 时用于允许列表和审计的稳定地址
私有端点希望 PaaS 资源可私密访问时在 VNet 内放置该服务的私有 IP,消除公共暴露
NSG需要子网级流量规则时每个子网的入站和出站流量显式允许/拒绝

在 AppHost 中描述它

这里的关键转变是你将网络与使用它的资源一起建模,而不是在随时间与应用模型产生偏离的单独 Bicep 文件中。

从 AppHost,你可以:

  • 使用 AddVirtualNetwork()AddSubnet() 创建 VNet 和子网
  • 为子网附加 NAT 网关以获得稳定的出站 IP
  • 为存储、Key Vault、SQL 和其他 PaaS 服务创建私有端点
  • 使用入站和出站安全规则定义 NSG
  • 配置网络安全边界以实现跨资源策略

结果是当你运行 azd up 时,基础设施与应用模型所说需要的内容相匹配。而不是手动维护的模板所说的。

为何对实际应用程序重要

一旦在 Aspire 中建模了网络,一些事情就会变得容易很多:

Key Vault 和存储的私有端点 — 你在这些资源上描述 WithPrivateEndpoint(),Aspire 处理 DNS 区域配置和端点附加。应用程序永远不会改变。

一致的出站 IP — 向相关子网添加 NAT 网关,应用程序的每个出站请求都通过一个已知的稳定 IP。合作伙伴可以将其加入允许列表。审计人员可以追踪它。

代码中的 NSG 规则 — 不再需要在门户中点击或维护 Bicep 代码段,你的安全规则与它们保护的资源一起存在于 AppHost 中。

这是不会让演示令人兴奋但会让生产系统可维护的集成类型。

总结

如果从一开始就与应用程序一起建模,网络安全在项目生命周期后期出现是一个已解决的问题。Aspire 的企业网络支持使这成为可能,而无需单独的基础设施轨道。

完整详情请参阅原始文章:Securing Azure apps with Aspire enterprise networking

分享:
在GitHub上查看此文章的源代码 ↗
← Aspire 13.3:Kubernetes 支持、浏览器日志和 Aspireify 技能
您的 AI 代理有一个身份问题(这是解决它的模板) →