category
您可以使用Azure机器学习管理的虚拟网络,而不是本文中的步骤。通过托管虚拟网络,Azure机器学习可以处理工作区的网络隔离工作和托管计算。您还可以为工作区所需的资源(如Azure存储帐户)添加专用端点。有关详细信息,请参见工作区管理的网络隔离。
使用Azure虚拟网络(VNet)保护Azure机器学习工作区资源和计算环境。本文使用一个示例场景向您展示如何配置一个完整的虚拟网络。
本文是关于保护Azure机器学习工作流的系列文章的一部分。请参阅本系列的其他文章:
- Use managed networks
- Secure the workspace resources
- Secure machine learning registries
- Secure the training environment
- Secure the inference environment
- Enable studio functionality
- Use custom DNS
- Use a firewall
- API platform network isolation
有关创建安全工作空间的教程,请参见教程:创建安全工作区或教程:使用模板创建安全工作区时。
先决条件
本文假设您熟悉以下文章:
- Azure虚拟网络
- IP网络
- 具有专用端点的Azure机器学习工作区
- 网络安全组(NSG)
- 网络防火墙
示例场景
在本节中,您将了解如何设置通用网络场景,以确保Azure机器学习与专用IP地址的通信安全。
下表比较了服务如何访问带有和不带有VNet的Azure机器学习网络的不同部分:
Scenario | Workspace | Associated resources | Training compute environment | Inferencing compute environment |
---|---|---|---|---|
No virtual network | Public IP | Public IP | Public IP | Public IP |
Public workspace, all other resources in a virtual network | Public IP | Public IP (service endpoint) - or - Private IP (private endpoint) |
Public IP | Private IP |
Secure resources in a virtual network | Private IP (private endpoint) | Public IP (service endpoint) - or - Private IP (private endpoint) |
Private IP | Private IP |
- 工作区-为您的工作区创建一个专用端点。专用端点通过几个专用IP地址将工作区连接到vnet。
- 公共访问-您可以选择启用安全工作区的公共访问。
- 关联资源-使用服务端点或专用端点连接到工作区资源,如Azure存储、Azure密钥库。对于Azure容器服务,请使用专用终结点。
- 服务端点向Azure服务提供虚拟网络的标识。一旦您在虚拟网络中启用了服务终结点,您就可以添加一个虚拟网络规则来保护Azure服务资源到您的虚拟网络。服务终结点使用公共IP地址。
- 专用端点是将您安全地连接到Azure Private Link提供的服务的网络接口。专用端点使用来自VNet的专用IP地址,有效地将服务带入VNet。
- 训练计算访问-使用公共或私有IP地址访问训练计算目标,如Azure机器学习计算实例和Azure机器学习计算机集群。
- 推理计算访问-使用私有IP地址访问Azure Kubernetes Services(AKS)计算集群。
接下来的部分将向您展示如何保护前面描述的网络场景。要保护您的网络安全,您必须:
- 确保工作区和相关资源的安全。
- 确保培训环境的安全。
- 保护推理环境。
- 可选:启用工作室功能。
- 配置防火墙设置。
- 配置DNS名称解析。
公共工作空间和安全资源
重要的虽然这是Azure Machine Learning支持的配置,但Microsoft不建议这样做。虚拟网络后面的Azure存储帐户中的数据可以在公共工作区中公开。在生产中使用此配置之前,您应该与您的安全团队一起验证它。
如果您想通过公共互联网访问工作区,同时确保虚拟网络中所有相关资源的安全,请使用以下步骤:
- 创建Azure虚拟网络。此网络保护工作区使用的资源。
- 使用以下选项之一创建可公开访问的工作区:
- 创建不使用虚拟网络的Azure机器学习工作区。有关详细信息,请参阅管理Azure机器学习的工作区。
或者 - 创建一个支持私有链接的工作区,以启用VNet和工作区之间的通信。然后启用对工作区的公共访问。
- 创建不使用虚拟网络的Azure机器学习工作区。有关详细信息,请参阅管理Azure机器学习的工作区。
- 通过使用服务终结点或专用终结点将以下服务添加到虚拟网络。还允许受信任的Microsoft服务访问这些服务:
Service | Endpoint information | Allow trusted information |
---|---|---|
Azure Key Vault | Service endpoint Private endpoint |
Allow trusted Microsoft services to bypass this firewall |
Azure Storage Account | Service and private endpoint Private endpoint |
Grant access to trusted Azure services |
Azure Container Registry | Private endpoint | Allow trusted services |
在工作区的Azure存储帐户的属性中,将您的客户端IP地址添加到防火墙设置中的允许列表中。有关详细信息,请参阅配置防火墙和虚拟网络。
保护工作区和相关资源
使用以下步骤来保护工作区和相关资源的安全。这些步骤允许您的服务在虚拟网络中进行通信。
- 创建Azure虚拟网络。此网络保护工作区和其他资源。然后创建一个启用了Private Link的工作区,以启用VNet和工作区之间的通信。
- 通过使用服务终结点或专用终结点将以下服务添加到虚拟网络。还允许受信任的Microsoft服务访问这些服务:
Service | Endpoint information | Allow trusted information |
---|---|---|
Azure Key Vault | Service endpoint Private endpoint |
Allow trusted Microsoft services to bypass this firewall |
Azure Storage Account | Service and private endpoint Private endpoint |
Grant access from Azure resource instances or Grant access to trusted Azure services |
Azure Container Registry | Private endpoint | Allow trusted services |
有关如何完成这些步骤的详细说明,请参阅保护Azure机器学习工作区。
局限性
在虚拟网络中保护工作区和相关资源有以下限制:
工作区和默认存储帐户必须在同一个VNet中。但是,允许同一VNet内的子网。例如,一个子网中的工作区和另一个子网的存储。
我们建议工作区的Azure密钥库和Azure容器注册表也位于同一VNet中。然而,这两种资源也可以在对等VNet中。
确保培训环境的安全
在本节中,您将学习如何保护Azure机器学习中的培训环境。您还将了解Azure机器学习如何完成培训工作,以了解网络配置如何协同工作。
要确保培训环境的安全,请使用以下步骤:
- 在虚拟网络中创建Azure机器学习计算实例和计算机集群以运行培训作业。
- 如果您的计算集群或计算实例使用公共IP地址,则必须允许入站通信,以便管理服务可以向您的计算资源提交作业。
提示
可以创建带有或不带有公共IP地址的计算集群和计算实例。如果使用公共IP地址创建,则会获得具有公共IP的负载平衡器,以接受来自Azure批处理服务和Azure机器学习服务的入站访问。如果使用防火墙,则需要配置用户定义路由(UDR)。如果在没有公共IP的情况下创建,您将获得一个专用链接服务,以接受来自Azure批处理服务和Azure机器学习服务的入站访问,而不使用公共IP。
有关如何完成这些步骤的详细说明,请参阅确保培训环境的安全。
培训工作提交示例
在本节中,您将了解Azure机器学习如何在服务之间安全通信以提交培训作业。此示例向您展示了所有配置如何协同工作以确保通信安全。
- 客户端将培训脚本和培训数据上载到使用服务或专用端点保护的存储帐户。
- 客户端通过专用端点向Azure机器学习工作区提交培训作业。
- Azure批处理服务从工作区接收作业。然后,它通过计算资源的公共负载均衡器将训练作业提交给计算环境。
- 计算资源接收作业并开始训练。计算资源使用存储在密钥库中的信息来访问存储帐户,以下载培训文件并上传输出。
局限性
Azure计算实例和Azure计算集群必须与工作区及其关联资源位于同一VNet、区域和订阅中。
保护推理环境
您可以为受管理的联机端点启用网络隔离,以保护以下网络流量:
- 入站评分请求。
- 与工作区、Azure容器注册表和Azure Blob存储的出站通信。
有关详细信息,请参阅启用受管联机端点的网络隔离。
可选:启用公共访问
您可以使用专用端点保护VNet后面的工作区,并且仍然允许通过公共互联网进行访问。初始配置与保护工作空间和相关资源相同。
使用专用端点保护工作区后,请使用以下步骤使客户端能够使用SDK或Azure Machine Learning studio进行远程开发:
- 启用对工作区的公共访问。
- 配置Azure存储防火墙以允许与通过公共互联网连接的客户端的IP地址进行通信。
可选:启用工作室功能
如果您的存储在VNet中,则必须使用额外的配置步骤才能在studio中启用全部功能。默认情况下,将禁用以下功能:
- 在工作室中预览数据。
- 在设计器中可视化数据。
- 在设计器中部署模型。
- 提交一个AutoML实验。
- 启动标签项目。
要启用完整的工作室功能,请参阅在虚拟网络中使用Azure机器学习工作室。
局限性
ML辅助数据标记不支持虚拟网络后面的默认存储帐户。相反,请使用除默认存储帐户之外的其他存储帐户进行ML辅助数据标签。
提示
只要它不是默认的存储帐户,数据标记所使用的帐户就可以在虚拟网络后面得到保护。
配置防火墙设置
配置防火墙以控制Azure机器学习工作区资源和公共互联网之间的流量。虽然我们推荐Azure防火墙,但您可以使用其他防火墙产品。
有关防火墙设置的详细信息,请参阅在防火墙后面使用工作区。
自定义DNS
如果需要为虚拟网络使用自定义DNS解决方案,则必须为工作区添加主机记录。
有关所需域名和IP地址的更多信息,请参阅如何将工作区与自定义DNS服务器一起使用。
Microsoft Sentinel
Microsoft Sentinel是一个可以与Azure机器学习集成的安全解决方案。例如,使用通过Azure机器学习提供的Jupyter笔记本电脑。有关更多信息,请参阅使用Jupyter笔记本查找安全威胁。
公共访问
如果您对公共端点满意,Microsoft Sentinel可以自动为您创建一个工作区。在此配置中,安全操作中心(SOC)分析师和系统管理员通过Sentinel连接到您工作区中的笔记本电脑。
有关此过程的信息,请参阅从Microsoft Sentinel创建Azure机器学习工作区
专用终结点
如果你想在VNet中保护你的工作区和相关资源,你必须首先创建Azure机器学习工作区。您还必须在与工作区相同的VNet中创建一个虚拟机“跳转框”,并启用Azure Bastion与之的连接。与公共配置类似,SOC分析师和管理员可以使用Microsoft Sentinel进行连接,但必须使用Azure Bastion执行某些操作才能连接到虚拟机。
有关此配置的更多信息,请参阅从Microsoft Sentinel创建Azure机器学习工作区
接下来的步骤
本文是关于保护Azure机器学习工作流的系列文章的一部分。请参阅本系列的其他文章:
- 登录 发表评论
- 13 次浏览
最新内容
- 2 days 16 hours ago
- 2 days 18 hours ago
- 2 days 18 hours ago
- 5 days 10 hours ago
- 5 days 17 hours ago
- 5 days 18 hours ago
- 5 days 18 hours ago
- 5 days 18 hours ago
- 1 week 3 days ago
- 1 week 3 days ago