category
在本文中,您将了解如何为Azure机器学习计划网络隔离以及我们的建议。本文适用于希望设计网络体系结构的IT管理员。
推荐的体系结构(托管网络隔离模式)[Managed Network Isolation pattern]
使用托管虚拟网络为网络隔离提供了更简单的配置。它自动保护您的工作区和托管虚拟网络中的托管计算资源。您可以为工作区所依赖的其他Azure服务(如Azure存储帐户)添加专用端点连接。根据您的需要,您可以允许所有出站流量到公共网络,也可以只允许您批准的出站流量。Azure机器学习服务所需的出站流量已自动为托管虚拟网络启用。我们建议使用工作区托管网络隔离作为内置的无摩擦网络隔离方法。我们有两种模式:允许互联网出站模式或只允许批准的出站模式。
允许internet出站模式
如果您想让机器学习工程师自由访问互联网,请使用此选项。您可以创建其他专用端点出站规则,让它们访问您在Azure上的专用资源。
为internet出站配置的托管网络隔离图。
仅允许已批准的出站模式
如果您想最大限度地降低数据泄露风险并控制机器学习工程师可以访问的内容,请使用此选项。您可以使用专用终结点、服务标记和FQDN来控制出站规则。
为配置的受管网络隔离关系图只允许已批准的出站。
推荐的体系结构(使用Azure VNet)
如果您有特定要求或公司策略阻止您使用托管虚拟网络,则可以使用Azure虚拟网络进行网络隔离。
下图是我们建议的架构,使所有资源都是私有的,但允许从VNet进行出站互联网访问。此图描述了以下体系结构:
- 将所有资源放在同一区域。
- 一个集线器VNet【hub VNet】,它包含您的防火墙。
- 轮辐VNet【spoke VNet】,它包含以下资源:
- 训练子网【training subnet】包含用于训练ML模型的计算实例和集群。这些资源配置为不使用公共IP。
- 记分子网【scoring subnet】包含一个AKS群集。
- “pe”子网【'pe' subnet】包含连接到工作区的专用端点以及工作区使用的专用资源(存储、密钥保管库、容器注册表等)
- 托管在线端点【Managed online endpoints 】使用工作区的专用端点来处理传入的请求。专用端点还用于允许托管在线端点部署访问专用存储。
此体系结构平衡了您的网络安全性和ML工程师的生产力。
推荐的网络体系结构图。
您可以使用不带托管在线端点或AKS的模板自动创建此环境。如果您没有用于AI模型评分的现有AKS集群,则托管在线端点是解决方案。有关更多信息,请参阅如何保护在线端点文档。如果您有用于AI模型评分的现有AKS集群,那么带有Azure机器学习扩展的AKS就是解决方案。有关更多信息,请参阅如何附加kubernetes文档。
正在删除防火墙要求
如果你想删除防火墙要求,你可以使用网络安全组和Azure虚拟网络NAT来允许从你的私人计算资源出站互联网。
不带防火墙的推荐网络体系结构图。
使用公共工作区
如果您同意Microsoft Entra身份验证和有条件访问的授权,则可以使用公共工作区。公共工作区具有一些功能,可以在您的私人存储帐户中显示数据,我们建议使用私人工作区。
推荐的防止数据泄露的架构
此图显示了使所有资源私有化并控制出站目的地以防止数据泄露的建议架构。当在生产中对您的敏感数据使用Azure机器学习时,我们建议使用此体系结构。此图描述了以下体系结构:
- 将所有资源放在同一区域。
- 一个集线器VNet,它包含您的防火墙。
- 除了服务标签,防火墙还使用FQDN来防止数据泄露。
- 轮辐VNet,它包含以下资源:
- 训练子网包含用于训练ML模型的计算实例和集群。这些资源配置为不使用公共IP。此外,还提供了服务端点和服务端点策略,以防止数据泄露。
- 记分子网包含一个AKS群集。
- “pe”子网包含连接到工作区的专用端点以及工作区使用的专用资源(存储、密钥保管库、容器注册表等)
- 托管在线端点使用工作区的专用端点来处理传入的请求。专用端点还用于允许托管在线端点部署访问专用存储。
具有数据泄露保护配置的推荐网络图。
下表列出了所需的出站Azure服务标记和具有数据泄露保护设置的完全限定域名(FQDN):
Outbound service tag | Protocol | Port |
---|---|---|
AzureActiveDirectory |
TCP | 80, 443 |
AzureResourceManager |
TCP | 443 |
AzureMachineLearning |
UDP | 5831 |
BatchNodeManagement |
TCP | 443 |
Outbound FQDN | Protocol | Port |
---|---|---|
mcr.microsoft.com |
TCP | 443 |
*.data.mcr.microsoft.com |
TCP | 443 |
ml.azure.com |
TCP | 443 |
automlresources-prod.azureedge.net |
TCP | 443 |
使用公共工作区
如果您同意Microsoft Entra身份验证和有条件访问的授权,则可以使用公共工作区。公共工作区具有一些功能,可以在您的私人存储帐户中显示数据,我们建议使用私人工作区。
了解细节的关键注意事项
Azure机器学习同时拥有IaaS和PaaS资源
Azure机器学习的网络隔离涉及平台即服务(PaaS)和基础设施即服务(IaaS)组件。PaaS服务,如Azure机器学习工作区、存储、密钥库、容器注册表和监视器,可以使用私有链接进行隔离。IaaS计算服务,如用于AI模型训练的计算实例/集群,以及用于AI模型评分的Azure Kubernetes服务(AKS)或托管在线端点,可以注入到您的虚拟网络中,并使用Private Link与PaaS服务进行通信。下图是此体系结构的一个示例。
IaaS和PaaS组件图。
在此图中,计算实例、计算集群和AKS集群位于您的虚拟网络中。它们可以使用专用端点访问Azure机器学习工作区或存储。您可以使用Azure存储和Azure密钥保管库的服务端点,而不是专用端点。其他服务不支持服务端点。
所需的入站和出站配置
Azure Machine Learning对您的虚拟网络有几个必需的入站和出站配置。如果您有独立的虚拟网络,则使用网络安全组可以直接进行配置。但是,您可能具有轮辐式或网状网络架构、防火墙、网络虚拟设备、代理和用户定义的路由。在任何一种情况下,请确保网络安全组件允许入站和出站。
通过防火墙出站的轮辐网络图。
在这个图中,您有一个轮辐式网络体系结构。轮辐VNet具有用于Azure机器学习的资源。集线器VNet有一个防火墙,可以控制从虚拟网络出站的互联网。在这种情况下,您的防火墙必须允许出站访问所需的资源,并且轮辐VNet中的计算资源必须能够到达您的防火墙。
提示
在图中,计算实例和计算集群配置为不使用公共IP。如果您转而使用具有公共IP的计算实例或集群,则需要允许使用网络安全组(NSG)和用户定义的路由从Azure机器学习服务标签入站,以跳过防火墙。此入站流量将来自Microsoft服务(Azure机器学习)。但是,我们建议使用无公共IP选项来删除此入站要求。
专用链路资源的DNS解析及其在计算实例中的应用
如果你有自己的DNS服务器托管在Azure或本地,你需要在DNS服务器中创建一个条件转发器。条件转发器向Azure DNS发送所有启用私有链接的PaaS服务的DNS请求。有关更多信息,请参阅DNS配置场景和Azure机器学习特定的DNS配置文章。
数据泄露保护
我们有两种类型的出境;只读和读/写。只读出站不能被恶意行为者利用,但读/写出站可能会被利用。在我们的案例中,Azure Storage和Azure Frontdoor(Frontdoor.frontend服务标签)是读/写的出站。
您可以使用我们的数据泄露预防解决方案来减轻这种数据泄露风险。我们使用带有Azure机器学习别名的服务端点策略,只允许出站到Azure机器学习管理的存储帐户。您不需要打开出站到防火墙上的存储。
具有渗出保护配置的网络图。
在该图中,计算实例和集群需要访问Azure机器学习管理的存储帐户才能获得设置脚本。您可以使用带有Azure机器学习别名的服务端点策略,只允许存储访问Azure机器学习存储帐户,而不是将出站打开到存储。
下表列出了所需的出站Azure服务标记和具有数据泄露保护设置的完全限定域名(FQDN):
Outbound service tag | Protocol | Port |
---|---|---|
AzureActiveDirectory |
TCP | 80, 443 |
AzureResourceManager |
TCP | 443 |
AzureMachineLearning |
UDP | 5831 |
BatchNodeManagement |
TCP | 443 |
Outbound FQDN | Protocol | Port |
---|---|---|
mcr.microsoft.com |
TCP | 443 |
*.data.mcr.microsoft.com |
TCP | 443 |
ml.azure.com |
TCP | 443 |
automlresources-prod.azureedge.net |
TCP | 443 |
托管在线端点
入站和出站通信的安全性是为受管理的在线端点单独配置的。
入站通信
Azure机器学习使用专用端点来保护与托管在线端点的入站通信。将终结点的public_network_access标志设置为禁用,以阻止对其进行公共访问。禁用此标志时,您的终结点只能通过Azure机器学习工作区的专用终结点访问,并且无法从公共网络访问。
出站通信
为了确保从部署到资源的出站通信的安全,Azure Machine Learning使用工作区管理的虚拟网络。需要在工作空间管理的VNet中创建部署,以便它可以使用工作空间管理虚拟网络的专用端点进行出站通信。
下面的体系结构图显示了通信是如何通过专用端点流到托管在线端点的。来自客户端虚拟网络的传入评分请求通过工作区的专用端点流到受管理的在线端点。从部署到服务的出站通信是通过从工作区的托管虚拟网络到这些服务实例的专用端点来处理的。
图显示了通过工作区专用端点的入站通信和通过工作区管理的VNet的专用端点的出站通信。
有关详细信息,请参阅使用托管在线端点进行网络隔离。
主网络中的专用IP地址缺点
Azure机器学习需要私人IP;每个计算实例、计算集群节点和专用端点一个IP。如果你使用AKS,你还需要许多IP。与本地网络连接的集线器轮辐网络可能没有足够大的专用IP地址空间。在这种情况下,您可以为Azure机器学习资源使用独立的、非对等的VNet。
由专用端点而非对等连接的网络图。
在这个图中,您的主VNet需要私有端点的IP。您可以为具有大地址空间的多个Azure机器学习工作区提供轮辐VNet。这种体系结构的一个缺点是将专用端点的数量增加了一倍。
网络策略执行
如果您希望通过自助服务工作区和计算资源创建来控制网络隔离参数,则可以使用内置策略。
其他次要考虑事项
VNet后面ACR的图像构建计算设置
如果你把你的Azure容器注册表(ACR)放在你的私有端点后面,你的ACR就无法构建你的docker镜像。您需要使用计算实例或计算集群来构建图像。有关更多信息,请参阅如何设置图像构建计算文章。
启用工作室UI和启用了专用链接的工作区
如果您计划使用Azure机器学习工作室,则需要额外的配置步骤。这些步骤是为了防止出现任何数据泄露情况。有关更多信息,请参阅Azure虚拟网络文章中的如何使用Azure机器学习工作室。
接下来的步骤
For more information on using a managed virtual network, see the following articles:
For more information on using an Azure Virtual Network, see the following articles:
- 登录 发表评论
- 10 次浏览
最新内容
- 2 days 18 hours ago
- 2 days 20 hours ago
- 2 days 20 hours ago
- 5 days 12 hours ago
- 5 days 19 hours ago
- 5 days 20 hours ago
- 5 days 20 hours ago
- 5 days 20 hours ago
- 1 week 3 days ago
- 1 week 3 days ago