答案1
我也有同样的问题,也有同样的担忧。对你的问题的简短回答是“这个 VNET 到底要做什么,因为它是一个孤儿院。“ 没什么
@Ken W MSFT 的详细回答非常详细、有价值且完美。而且您已经知道了。
您的安全团队受以下事实的驱动:Microsoft 内置策略以及 Azure 密钥保管库和 Azure 安全基准的安全基线均建议您永远不要从公共互联网访问 AKV,因此只能通过私有链接或服务端点访问它,如上文详细说明,但这一切都假设您拥有 VNET 和 VM IaaS,这是不是你的情况。
它确实需要有人以更广阔的视野看待问题,而不是在没有理解建议含义的情况下盲目遵循建议。
我这样说虽然我愿意犯错并且接受挑战,但是我也见过这样的困境,因为我作为云解决方案架构师和云安全架构师在两个世界中工作和生活。
因此,为了满足您的安全要求,您可以执行以下两个选项之一:
将您的 PaaS 应用程序更改为 IaaS,在 VNET 中的子网中拥有一个 VM,并按照上述说明进行属性配置。
将托管计划提升为隔离,并将您的应用服务与 VNET 集成,并让 VNET 访问 AKV 其他资源
如图所示关联
这是您的安全团队推荐的安全指南。但它比您的解决方案要昂贵得多。
指导:在独立定价层中使用应用服务时,也称为应用服务环境 (ASE),您可以直接部署到 Azure 虚拟网络中的子网中。使用网络安全组通过阻止虚拟网络中资源的入站和出站流量来保护 Azure 应用服务环境,或限制对应用服务环境中的应用的访问。默认情况下,网络安全组包含优先级最低的隐式拒绝规则,并要求您添加显式允许规则。根据最低特权网络方法为网络安全组添加允许规则。用于托管应用服务环境的底层虚拟机不可直接访问,因为它们位于 Microsoft 管理的订阅中。通过启用 Web 应用程序防火墙 (WAF) 的 Azure 应用程序网关路由流量来保护应用服务环境。将服务终结点与应用程序网关结合使用,以保护应用的入站发布流量。
答案2
通过将 Key Vault 添加到 VNET,您可以应用 NSG 规则。这将允许您有效地阻止对 Internet 的访问。众所周知,网络安全采用分层方法,这是另一层。默认情况下,Key Vault 确实有访问策略,但这些策略并未启用,它们仅在身份级别阻止访问。我不知道您的安全性需要什么,但我与受监管行业的客户打交道,在网络级别阻止访问非常常见。
有两种方法可以将 PaaS 服务注入 Azure 中的 Vnet。
服务端点
虚拟网络 (VNet) 服务终结点通过 Azure 主干网络上的优化路由提供与 Azure 服务的安全直接连接。终结点允许您将关键 Azure 服务资源仅保护到您的虚拟网络。服务终结点使 VNet 中的专用 IP 地址能够到达 Azure 服务的终结点,而无需 VNet 上的公共 IP 地址。
私人链接
Azure Private Link 使您能够通过虚拟网络中的私有终结点访问 Azure PaaS 服务(例如,Azure 存储和 SQL 数据库)和 Azure 托管的客户拥有/合作伙伴服务。
虚拟网络与服务之间的流量通过 Microsoft 主干网络传输。不再需要将服务公开到公共互联网。您可以在虚拟网络中创建自己的专用链接服务并将其交付给客户。使用 Azure Private Link 的设置和使用在 Azure PaaS、客户拥有和共享合作伙伴服务之间是一致的。