Azure 机器学习 - 使用受保护工作区时的网络流量流

news2025/1/12 2:55:29

目录

    • 环境准备
    • 入站和出站要求
    • 方案:从工作室访问工作区
    • 方案:从工作室使用 AutoML、设计器、数据集和数据存储
    • 方案:使用计算实例和计算群集
    • 方案:使用联机终结点
        • 入站通信
        • 出站通信
    • 方案:使用 Azure Kubernetes 服务
    • 方案:使用 Azure 机器学习管理的 Docker 映像

当 Azure 机器学习工作区和关联的资源在 Azure 虚拟网络中受保护时,资源之间的网络流量会发生改变。 在没有虚拟网络的情况下,网络流量将通过公共 Internet 或在 Azure 数据中心内部流动。 引入虚拟网络 (VNet) 后,你可能还想要强化网络安全性。 例如,阻止 VNet 与公共 Internet 之间的入站和出站通信。

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。

file

环境准备

本文假设采用以下配置:

  • 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 结合使用。

file

方案:从工作室使用 AutoML、设计器、数据集和数据存储

Azure 机器学习工作室的以下功能使用数据事件探查:

  • 数据集:从工作室探索数据集。
  • 设计器:可视化模块输出数据。
  • AutoML:查看数据预览/配置文件并选择目标列。
  • 标记

数据事件探查依赖于 Azure 机器学习托管服务能够访问工作区的默认 Azure 存储帐户。 该托管服务并不存在于你的 VNet 中,因此无法直接访问 VNet 中的存储帐户。 工作区使用服务主体来访问存储。

提示

可以在创建工作区时提供服务主体。 如果你不这样做,系统将为你创建一个与工作区同名的服务主体。

若要允许访问存储帐户,请将存储帐户配置为允许工作区的“资源实例”或选择“允许受信任服务列表中的 Azure 服务访问此存储帐户” 。 此设置允许托管服务通过 Azure 数据中心网络访问存储。

接下来,将工作区的服务主体添加到存储帐户专用终结点的“读取者”角色。 此角色用于验证工作区和存储子网信息。 如果它们相同,则允许访问。 最后,服务主体还需要对存储帐户拥有“Blob 数据参与者”访问权限。

有关详细信息,请参阅如何在虚拟网络中保护工作区的“Azure 存储帐户”部分。

![Diagram of traffic between client, data profiling, and storage]

file

方案:使用计算实例和计算群集

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,则必须允许其他出站流量。 有关详细信息,请参阅配置入站和出站网络流量。

file

方案:使用联机终结点

托管联机终结点的入站和出站通信安全性是分开配置的。

入站通信

可以在终结点上使用 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 机器学习计算群集来生成映像。 有关详细信息,请参阅如何在虚拟网络中保护工作区。

file

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1198629.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《红蓝攻防对抗实战》十二.内网穿透之利用ICMP协议进行隧道穿透

内网穿透之利用ICMP协议进行隧道穿透 一.前言二.前文推荐三.利用ICMP协议进行隧道穿透1.ICMPsh获取反弹shell2.PingTunnel 搭建隧道 四.本篇总结 一.前言 本文介绍了利用ICMP协议进行隧道穿透的方法。ICMP协议不需要开放端口,可以将TCP/UDP数据封装到ICMP的Ping数据…

算法通关村第八关-青铜挑战二叉树的经典题目

大家好我是苏麟 , 今天来说二叉树的经典题目 二叉树的双指针 所谓的双指针就是定义了两个变量,在二叉树中有时候也需要至少定义两个变量才能解决问题,这两个指针可能针对一棵树,也可能针对两棵树,我们姑且也称之为“双指针”吧。…

【中国知名企业高管团队】系列65:方太FOTILE

今天华研荟为您介绍另一个行业的知名企业和高管团队信息——厨房电器这个细分领域,也产生了许多大的公司,而且这些头部公司都集中在一起,是当地重要的一个产业集群。 首先介绍细分领域的、号称做高端的方太厨电FOTILE。 一、关于方太集团FO…

使用 Azure 机器学习实现图像分类

图像分类是计算机视觉领域中一个重要的任务。随着深度学习的发展,利用深度神经网络对图像进行分类已经成为一种主流方法。而Azure机器学习平台提供了丰富的工具和功能,使我们能够轻松地搭建和训练图像分类模型,并将其部署到实际应用中。本文将…

Pinme POS无代码开发集成营销系统,实现广告推广自动化

无代码开发平台的优势 无代码开发平台如集简云是一款超级软件连接器,无需开发,无需代码知识就可以轻松打通千款软件之间的数据连接,构建自动化与智能化的业务流程。这种方式无需花费数周甚至数个月的时间做软件集成开发,最快20分…

Linux学习教程(第二章 Linux系统安装)2

第二章 Linux系统安装 四、使用U盘安装Linux系统 前面章节介绍了如何通过虚拟机 VMware 安装 Linux 系统,而实际开发中,我们更多的是要将 Linux 系统直接安装到电脑上。 直接在电脑上安装 Linux 系统的常用方法有 2 种,分别是用光盘安装和用…

Linux常用命令——bzless命令

在线Linux命令查询工具 bzless 增强.bz2压缩包查看器 补充说明 bzless命令是增强“.bz2”压缩包查看器,bzless比bzmore命令功能更加强大。 语法 bzless(参数)参数 文件:指定要分屏显示的.bz2压缩包。 在线Linux命令查询工具

Xmind常用快捷键

Xmind 是什么? Xmind 是一款全功能的思维导图和头脑风暴软件。像大脑的瑞士军刀一般,助你理清思路,捕捉创意。 全功能:提供9种专业的的思维导图结构,丰富的模板和配色,精美的贴纸和插画,还有演…

国企业务变革-管理变革-IT支撑

(1)业务变革 国家-国资委-央国企这条链,有一主一副两个战略嘱托: 一个是:做大,并且做强-自主可控产业链供应链。 一个是:支撑国家一带一路战略落地 一、做大,做强-自主可控产业链供应…

HTML跳转锚点

跳转锚点适用于本页面和其他页面的任意标签的跳转以及JavaScript的运行 使用方法即给标签加上独一无二的id属性&#xff0c;再使用a标签跳转 如果是其他页面的标签只需加上其他页面的路径&#xff0c;eg.href"其他页面的路径#zp1" id属性的最好不要使用数字开头 <…

Seata之TCC模式解读

目录 基本介绍 起源 概述 案例流程分析 TCC注意事项 空回滚 幂等 悬挂 具体使用 LocalTCC TwoPhaseBusinessAction 小结 基本介绍 起源 关于TCC的概念&#xff0c;最早是由Pat Helland于2007年发表的一篇名为《Life beyond Distributed Transactions:an Apost…

DL Homework 7

目录 一、用自己的语言解释以下概念 局部感知、权值共享 池化&#xff08;子采样、降采样、汇聚&#xff09;。会带来那些好处和坏处&#xff1f; 全卷积网络 低级特征、中级特征、高级特征 多通道。N输入&#xff0c;M输出是如何实现的&#xff1f; 11的卷积核有什么作用 二、…

跨域:利用CORS实现跨域访问

跨域知识点&#xff1a;跨域知识点 iframe实现跨域的四种方式&#xff1a;iframe实现跨域 JSONP和WebSocket实现跨域&#xff1a;jsonp和websocket实现跨域 目录 cors介绍 简介 两种请求 简单请求 基本流程 withCredentials 属性 非简单请求 预检请求 预检请求的回应 …

Xilinx DDR3 MIG系列——ddr3控制器的时钟架构

本节目录 一、ddr3控制器的时钟架构 1、PLL输入时钟——系统时钟system_clk 2、PLL输入时钟——sync_pulse、mem_refclk、freq_refclk、MMCM1的输入时钟 3、MMCM1的输入时钟和输出时钟 4、MMCM2的输入时钟和输出时钟一、ddr3控制器的时钟架构 对于FPGA开发来说,调用IP或者移植…

Milvus Cloud ——Agent 的展望

Agent 的展望 目前,LLM Agent 大多是处于实验和概念验证的阶段,持续提升 Agent 的能力才能让它真正从科幻走向现实。当然,我们也可以看到,围绕 LLM Agent 的生态也已经开始逐渐丰富,大部分工作都可以归类到以下三个方面进行探索: Agent模型 AgentBench[4] 指出了不同的 L…

JavaWeb Day08 Mybatis-入门

目录 ​编辑​编辑​编辑 一、快速入门程序 ①准备工作 ②引入Mybatis相关依赖&#xff0c;配置Mybatis ③编写SQL&#xff08;注解/XML&#xff09; ④单元测试 ⑤相关代码 1.pom.xml 2. application.properties 3.User.java 4. UserMapper.java 5.Test.java ⑥配置…

优化编辑距离以测量文本相似度

一、说明 编辑距离是一种文本相似度度量&#xff0c;用于测量 2 个单词之间的距离。它有许多方面应用&#xff0c;如文本自动完成和自动更正。 对于这两种用例中的任何一种&#xff0c;系统都会将用户输入的单词与字典中的单词进行比较&#xff0c;以找到最接近的匹配项&#x…

关系型数据库Redis安装与写入数据

文章目录 安装和初步选择数据库创建键值对数据类型 安装和初步 安装 Redis是开源的跨平台非关系型数据库&#xff0c;特点是占用资源低、查询速度快。 首先&#xff0c;在Github上下载最新发布的Redis-xxxx.zip压缩文件&#xff0c;下载之后解压&#xff0c;并将解压后的路径…

1366 - Incorrect string value: ‘\xE5\xB9\xBF\xE5\x85\xB0...‘ for column编码错误

1366 - Incorrect string value: ‘\xE5\xB9\xBF\xE5\x85\xB0…’ for column ‘campus_name’ at row 1 > 查询时间: 0s 原因是数据库创建的时候使用的默认编码latin1&#xff0c;导致表和字段的编码格式都是这种编码&#xff0c;显然这种编码不支持中文。 自己修改了数据库…

论文阅读:PVT v2: Improved Baselines with Pyramid Vision Transformer

来源&#xff1a;PVTv1 和PVTv2 链接&#xff1a;https://arxiv.org/pdf/2102.12122.pdf 链接&#xff1a;https://arxiv.org/pdf/2106.13797.pdf PVTv2是在PVTv1基础上&#xff0c;所以先介绍PVTv1 Pyramid Vision Transformer: A Versatile Backbone for Dense Prediction…