Azure 机器学习 - 使用受保护工作区时的网络流量流
目录
- 环境准备
- 入站和出站要求
- 方案:从工作室访问工作区
- 方案:从工作室使用 AutoML、设计器、数据集和数据存储
- 方案:使用计算实例和计算群集
- 方案:使用联机终结点
- 入站通信
- 出站通信
- 方案:使用 Azure Kubernetes 服务
- 方案:使用 Azure 机器学习管理的 Docker 映像
当 Azure 机器学习工作区和关联的资源在 Azure 虚拟网络中受保护时,资源之间的网络流量会发生改变。 在没有虚拟网络的情况下,网络流量将通过公共 Internet 或在 Azure 数据中心内部流动。 引入虚拟网络 (VNet) 后,你可能还想要强化网络安全性。 例如,阻止 VNet 与公共 Internet 之间的入站和出站通信。
关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。

环境准备
本文假设采用以下配置:
- Azure 机器学习工作区使用专用终结点来与 VNet 通信。
- 工作区使用的 Azure 存储帐户、密钥保管库和容器注册表也使用专用终结点来与 VNet 通信。
- 客户端工作站使用 VPN 网关或 Express Route 来访问 VNet。
入站和出站要求
| 方案 | 所需的入站配置 | 所需的出站配置 | 其他配置 |
|---|---|---|---|
| [从工作室访问工作区] | NA |
- Microsoft Entra ID
- Azure Front Door
- Azure 机器学习服务
| 可能需要使用自定义 DNS 服务器。 有关详细信息,请参阅 将工作区与自定义 DNS 结合使用。 |
| [从工作室使用 AutoML、设计器、数据集和数据存储] | NA | NA |
- 工作区服务主体配置
- 允许从受信任的 Azure 服务进行访问
有关详细信息,请参阅如何在虚拟网络中保护工作区。 |
| [使用计算实例和计算群集]|
- 端口 44224 上的 Azure 机器学习服务
- 端口 29876-29877 上的 Azure Batch Management 服务
|
- Microsoft Entra ID
- Azure Resource Manager
- Azure 机器学习服务
- Azure 存储帐户
- Azure Key Vault
| 如果使用防火墙,请创建用户定义的路由。 有关详细信息,请参阅配置入站和出站流量。 |
| [使用 Azure Kubernetes 服务] | NA | 有关 AKS 的出站配置的信息,请参阅如何保护 Kubernetes 推理。 | |
| [使用 Azure 机器学习管理的 Docker 映像]| NA |
- Microsoft 容器注册表
viennaglobal.azurecr.io全局容器注册表
| 如果工作区的 Azure 容器注册表位于 VNet 后面,请将工作区配置为使用计算群集来生成映像。 有关详细信息,请参阅如何在虚拟网络中保护工作区。 |
重要
Azure 机器学习使用多个存储帐户。 每个帐户存储不同的数据,并具有不同的用途:
-
你的存储:你的 Azure 订阅中的 Azure 存储帐户用于存储你的数据和项目,例如模型、训练数据、训练日志和 Python 脚本。 例如,工作区的默认存储帐户在你的订阅中。 Azure 机器学习计算实例和计算群集通过端口 445 (SMB) 和 443 (HTTPS) 访问此存储中的文件和 blob 数据 。
使用计算实例或计算群集时,存储帐户将装载为使用 SMB 协议的文件共享。 计算实例和群集使用此文件共享来存储数据、模型、Jupyter 笔记本、数据集等。访问存储帐户时,计算实例和群集使用专用终结点。
-
Microsoft 存储:Azure 机器学习计算实例和计算群集依赖于 Azure Batch,并且访问位于 Microsoft 订阅中的存储。 此存储仅用于管理计算实例/群集。 你的任何数据都不会存储在这里。 计算实例和计算群集使用端口 443 (HTTPS) 访问此存储中的 blob、表和队列数据 。
机器学习还会在 Azure Cosmos DB 实例中存储元数据。 默认情况下,此实例托管在 Microsoft 订阅中,由 Microsoft 管理。 可以选择在 Azure 订阅中使用 Azure Cosmos DB 实例。 有关详细信息,请参阅使用 Azure 机器学习进行数据加密。
方案:从工作室访问工作区
备注
本部分中的信息专用于从 Azure 机器学习工作室使用工作区。 如果你使用 Azure 机器学习 SDK、REST API、CLI 或 Visual Studio Code,则本部分中的信息不适用。
从工作室访问工作区时,网络流量的流如下所示:
- 为了向资源进行身份验证,将使用 Azure Active Directory。
- 对于管理和部署操作,将使用 Azure 资源管理器。
- 对于 Azure 机器学习特定的任务,将使用 Azure 机器学习服务
- 为了访问 Azure 机器学习工作室 (https://ml.azure.com),将使用 Azure FrontDoor。
- 对于大多数存储操作,流量将流经工作区默认存储的专用终结点。 使用 AutoML、设计器、数据集和数据存储]部分介绍了例外情况。
- 此外,还需要配置一个 DNS 解决方案,以便能够解析 VNet 中的资源名称。 有关详细信息,请参阅 将工作区与自定义 DNS 结合使用。

方案:从工作室使用 AutoML、设计器、数据集和数据存储
Azure 机器学习工作室的以下功能使用数据事件探查:
- 数据集:从工作室探索数据集。
- 设计器:可视化模块输出数据。
- AutoML:查看数据预览/配置文件并选择目标列。
- 标记
数据事件探查依赖于 Azure 机器学习托管服务能够访问工作区的默认 Azure 存储帐户。 该托管服务并不存在于你的 VNet 中,因此无法直接访问 VNet 中的存储帐户。 工作区使用服务主体来访问存储。
提示
可以在创建工作区时提供服务主体。 如果你不这样做,系统将为你创建一个与工作区同名的服务主体。
若要允许访问存储帐户,请将存储帐户配置为允许工作区的“资源实例”或选择“允许受信任服务列表中的 Azure 服务访问此存储帐户” 。 此设置允许托管服务通过 Azure 数据中心网络访问存储。
接下来,将工作区的服务主体添加到存储帐户专用终结点的“读取者”角色。 此角色用于验证工作区和存储子网信息。 如果它们相同,则允许访问。 最后,服务主体还需要对存储帐户拥有“Blob 数据参与者”访问权限。
有关详细信息,请参阅如何在虚拟网络中保护工作区的“Azure 存储帐户”部分。
![Diagram of traffic between client, data profiling, and storage]

方案:使用计算实例和计算群集
Azure 机器学习计算实例和计算群集是由 Microsoft 托管的托管服务。 它们构建于 Azure Batch 服务的基础之上。 它们虽然存在于 Microsoft 托管环境中,但也会注入到你的 VNet 中。
创建计算实例或计算群集时,还会在 VNet 中创建以下资源:
-
具有所需出站规则的网络安全组。 这些规则允许从 Azure 机器学习(在端口 44224 上使用 TCP)和 Azure Batch 服务(在端口 29876-29877 上使用 TCP)进行入站访问。
重要
如果使用防火墙来阻止从 Internet 访问 VNet,则必须配置该防火墙以允许此流量。 例如,可以使用 Azure 防火墙创建用户定义的路由。 有关详细信息,请参阅配置入站和出站网络流量。
-
具有公共 IP 的负载均衡器。
还允许对以下服务标记进行出站访问。 对于每个标记,请将 region 替换为计算实例/群集的 Azure 区域:
Storage.region- 此出站访问用于连接到 Azure Batch 服务管理的 VNet 中的 Azure 存储帐户。Keyvault.region- 此出站访问用于连接到 Azure Batch 服务管理的 VNet 中的 Azure 密钥保管库帐户。
来自计算实例或群集的数据访问将通过 VNet 存储帐户的专用终结点进行。
如果在计算实例上使用 Visual Studio Code,则必须允许其他出站流量。 有关详细信息,请参阅配置入站和出站网络流量。

方案:使用联机终结点
托管联机终结点的入站和出站通信安全性是分开配置的。
入站通信
可以在终结点上使用 public_network_access 标志来保护与联机终结点评分 URL 的入站通信。 将标志设置为 disabled 可确保联机终结点仅通过 Azure 机器学习工作区的专用终结点接收来自客户端虚拟网络的流量。
Azure 机器学习工作区的 public_network_access 标志还控制联机终结点的可见性。 如果此标志为 disabled,则只能从包含工作区的专用终结点的虚拟网络访问评分终结点。 如果此标志为 enabled,则可以从虚拟网络和公用网络访问评分终结点。
出站通信
通过为 Azure 机器学习工作区启用托管虚拟网络隔离,可以在工作区级别保护来自部署的出站通信。 启用此设置会导致 Azure 机器学习为工作区创建托管虚拟网络。 工作区托管虚拟网络中的任何部署都可以使用虚拟网络的专用终结点进行出站通信。
用于保护出站通信的旧网络隔离方法通过禁用部署的 egress_public_network_access 标志来工作。 强烈建议改用工作区托管虚拟网络来保护部署的出站通信。 与旧方法不同,在部署中使用工作区托管虚拟网络时,部署的 egress_public_network_access 标记不再适用。 相反,出站通信将由为工作区的托管虚拟网络设置的规则控制。
方案:使用 Azure Kubernetes 服务
有关 Azure Kubernetes 服务所需的出站配置的信息,请参阅如何保护推理的连接要求部分。
备注
Azure Kubernetes 服务负载均衡器不是 Azure 机器学习创建的负载均衡器。 若要将模型作为仅在 VNet 上可用的受保护应用程序来托管,请使用 Azure 机器学习创建的内部负载均衡器。 若要允许公共访问,请使用 Azure 机器学习创建的公共负载均衡器。
如果模型需要额外的入站或出站连接(例如连接到外部数据源),请使用网络安全组或防火墙来允许流量。
方案:使用 Azure 机器学习管理的 Docker 映像
Azure 机器学习提供可用于训练模型或执行推理的 Docker 映像。 如果你不指定自己的映像,则会使用 Azure 机器学习提供的映像。 这些映像托管在 Microsoft Container Registry (MCR) 上。 它们还托管在名为 viennaglobal.azurecr.io 的异地复制的 Azure 容器注册表上。
如果你提供自己的 Docker 映像(例如,在你提供的 Azure 容器注册表上),则不需要使用 MCR 或 viennaglobal.azurecr.io 进行出站通信。
提示
如果 Azure 容器注册表在 VNet 中受保护,则 Azure 机器学习无法使用它来生成 Docker 映像。 在这种情况下,必须指定一个 Azure 机器学习计算群集来生成映像。 有关详细信息,请参阅如何在虚拟网络中保护工作区。

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。
相关文章:
Azure 机器学习 - 使用受保护工作区时的网络流量流
目录 环境准备入站和出站要求方案:从工作室访问工作区方案:从工作室使用 AutoML、设计器、数据集和数据存储方案:使用计算实例和计算群集方案:使用联机终结点入站通信出站通信 方案:使用 Azure Kubernetes 服务方案&am…...
强化学习中蒙特卡罗方法
一、蒙特卡洛方法 这里将介绍一个学习方法和发现最优策略的方法,用于估计价值函数。与前文不同,这里我们不假设完全了解环境。蒙特卡罗方法只需要经验——来自实际或模拟与环境的交互的样本序列的状态、动作和奖励。从实际经验中学习是引人注目的&#x…...
Pytorch从零开始实战09
Pytorch从零开始实战——YOLOv5-Backbone模块实现 本系列来源于365天深度学习训练营 原作者K同学 文章目录 Pytorch从零开始实战——YOLOv5-Backbone模块实现环境准备数据集模型选择开始训练可视化模型预测总结 环境准备 本文基于Jupyter notebook,使用Python3.…...
Milvus Cloud ——Agent 的展望
Agent 的展望 目前,LLM Agent 大多是处于实验和概念验证的阶段,持续提升 Agent 的能力才能让它真正从科幻走向现实。当然,我们也可以看到,围绕 LLM Agent 的生态也已经开始逐渐丰富,大部分工作都可以归类到以下三个方面进行探索: Agent模型 AgentBench[4] 指出了不同的 L…...
EM@比例恒等式@分式恒等式
文章目录 比例恒等式(分式恒等式)分式等式链例 比例恒等式(分式恒等式) 设 a b c d \frac{a}{b}\frac{c}{d} badc(0)令这个比值为 k k k,则 a k b akb akb(0-1), c k d ckd ckd(0-2),以下恒等式在表达式有意义的情形下成立(例如分母不为0) 合比定理: a b b c d d \f…...
使用米联客FPGA开发板进行光口开发时遇到的问题总结
使用的开发板型号:米联客MA703FA, 实物图如下 FPGA型号为a35t 米联客提供的开发板资料中的FPGA型号为a100,所以要想使用开发板例程必须进行FPGA的重新选择。如下图 通过对开发板原理图的分析,例程代码不用做任何修改就可使用&am…...
【chat】 1:Ubuntu 20.04.3 编译安装moduo master分支
muduo 基于reactor反应堆模型的多线程C++网络库大佬的官方仓库有cpp17分支看了下cmakelist文件里面还是要依赖不少库,比如boost protobuf而且cpp17 似乎 是2021年的master 是2022更新的那么还是选择master吧。ubuntu版本 Ubuntu 20.04.3 root@k8s-master-2K4G:~# uname -a Lin…...
C#基于inpoutx64读写ECRAM硬件信息
inpoutx64.dll分享路径: 链接:https://pan.baidu.com/s/1rOt0xtt9EcsrFQtf7S91ag 提取码:7om1 1.InpOutManager: using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServi…...
图论13-最小生成树-Kruskal算法+Prim算法
文章目录 1 最小生成树2 最小生成树Kruskal算法的实现2.1 算法思想2.2 算法实现2.2.1 如果图不联通,直接返回空,该图没有mst2.2.2 获得图中的所有边,并且进行排序2.2.2.1 Edge类要实现Comparable接口,并重写compareTo方法 2.2.3 取…...
免费博客搭建笔记
title: 免费博客搭建笔记 tags: 博客搭建 本次是对自己在网上学习github搭建一个 👇个人免费静态网站的总结当然不是很完美👇 Bow to the new king iYANG (yangsongl1n.github.io) 接着我会从我的写笔记的个人习惯来逐步介绍如何搭建这个网站 1.写笔…...
网络运维Day10
文章目录 SHELL基础查看有哪些解释器使用usermod修改用户解释器BASH基本特性 shell脚本的设计与运行编写问世脚本脚本格式规范执行shell脚本方法一方法二实验 变量自定义变量环境变量位置变量案例 预定义变量 变量的扩展运用多种引号的区别双引号的应用单引号的应用反撇号或$()…...
@Cacheable 注解的 @CacheManager 示例
pom.xml 依赖包: <dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-redis</artifactId></dependency><dependency><groupId>redis.clients</groupId><artifactId>jed…...
springboot二维码示例
pom.xml依赖 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.16</version></dependency><dependency><groupId>com.google.zxing</groupId><artifactId>…...
nacos做服务配置和服务器发现
一、创建项目 1、创建一个spring-boot的项目 2、创建三个模块file、system、gateway模块 3、file和system分别配置启动信息,并且创建一个简单的控制器 server.port9000 spring.application.namefile server.servlet.context-path/file4、在根目录下引入依赖 <properties&g…...
KCC@广州与 TiDB 社区联手—广州开源盛宴
10月21日,KCC广州与 TiDB 社区联手,在海珠区保利中悦广场 29 楼召开了一次难忘的开源盛宴。这不仅仅是 KCC广州的又一次线下见面,更代表着与 TiDB 社区及广州技术社区的首次深度合作。 活动的策划与组织由 KCC广州负责人 - 惠世冀、PingCAP 的…...
CSS3 分页、框大小、弹性盒子
一、CSS3分页: 网站有很多个页面,需要使用分页来为每个页面做导航。示例: <style> ul.pagination { display: inline-block; padding: 0; margin: 0; } ul.pagination li {display: inline;} ul.pagination li a { color: black; f…...
GEE问题——GEE中循环的使用map()函数,以提取指定范围内的逐日的二氧化氮平均浓度为例
问题: 我有一个简单的代码,可以帮助计算德克萨斯州每个县的对流层二氧化氮平均浓度。目前,我可以将其导出为我指定的任何日期范围的 csv 表,但我想 1) 提取每天平均值,例如 3 个月(2020 年 3 月至 2020 年 5 月,约 90 天)--手动多次运行肯定不是办法,而且我的编码技…...
短信验证码实现(阿里云)
如果实现短信验证,上教程,这里用的阿里云短信服务 短信服务 (aliyun.com) 进入短信服务后开通就行,可以体验100条免费,刚好测试用 这里由自定义和专用,测试的话就选择专用吧,自定义要审核, Se…...
如何对element弹窗进行二次封装
方式一使用$refs 个人比较喜欢用这种的 通过$refs打开的同时 还能给弹窗组件传参 一些框架使用的也是这种方式 父组件 <template><div><el-button type"text" click"handleDialogOpen">打开嵌套表单的 Dialog</el-button><Dia…...
【微服务专题】手写模拟SpringBoot
目录 前言阅读对象阅读导航前置知识笔记正文一、工程项目准备1.1 新建项目1.1 pom.xml1.2 业务模拟 二、模拟SpringBoot启动:好戏开场2.1 启动配置类2.1.1 shen-base-springboot新增2.1.2 shen-example客户端新增启动类 三、run方法的实现3.1 步骤一:启动…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
ubuntu22.04有线网络无法连接,图标也没了
今天突然无法有线网络无法连接任何设备,并且图标都没了 错误案例 往上一顿搜索,试了很多博客都不行,比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动,重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...
