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

目录

    • 环境准备
    • 入站和出站要求
    • 方案:从工作室访问工作区
    • 方案:从工作室使用 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.rhkb.cn/news/190491.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构线性表——栈

前言:哈喽小伙伴们,今天我们将一起进入数据结构线性表的第四篇章——栈的讲解,栈还是比较简单的哦,跟紧博主的思路,不要掉队哦。 目录 一.什么是栈 二.如何实现栈 三.栈的实现 栈的初始化 四.栈的操作 1.数据入栈…

Kafka中遇到的错误:

1、原因:kafka是一个去中心化结果的,所以在启动Kafka的时候,每一个节点上都需要启动。 启动的命令:kafka-server-start.sh -daemon /usr/local/soft/kafka_2.11-1.0.0/config/server.properties

力扣刷题-二叉树-二叉树的层序遍历(相关题目总结)

思路 层序遍历一个二叉树。就是从左到右一层一层的去遍历二叉树。这种遍历的方式和我们之前讲过的都不太一样。 需要借用一个辅助数据结构即队列来实现,队列先进先出,符合一层一层遍历的逻辑,而用栈先进后出适合模拟深度优先遍历也就是递归的…

【ruoyi】微服务关闭登录验证码

登录本地的nacos服务,修改:配置管理-配置列表-ruoyi-gateway-dev.yml 将验证码的enabled设置成false,即可

5+干湿结合的佳作,可另外添加分析升级

今天给同学们分享一篇生信文章“PCTAIRE Protein Kinase 1 (PCTK1) Suppresses Proliferation, Stemness,and Chemoresistance in Colorectal Cancer through the BMPR1B-Smad1/5/8 Signaling Pathway”,这篇文章发表在Int J Mol Sci期刊上,影响因子为5.…

计算机网络:概述

0 学时安排及讨论题目 0.1讨论题目: CSMA/CD协议交换机基本原理ARP协议及其安全子网划分IP分片路由选择算法网络地址转换NATTCP连接建立和释放再论网络体系结构 0.2 本节主要内容 计算机网络在信息时代中的作用 互联网概述 互联网的组成 计算机网络在我国的发展 …

2024 款:最新前端技术趋势

Hello,大家好,我是 Sunday。 上一次的时候聊了 那么些已经落后的前端开发技术 。但是光知道什么技术落后了是不够的,咱们还得知道 前端最新的技术趋势是什么。所以,今天这篇文章,咱们就来聊一聊,2023 最新…

Android T 实现简易的 USB Mode Select 需求

Android T 实现 USB Mode Select 需求 一、实现效果 二、主要实现思路 在手机连接 USB 发生/取消通知的同时,控制弹窗 Dialog 的显示/消失。 三、主要代码实现 连接 USB 发送/取消的主要实现是在 UsbDeviceManager.java 类中。类路径如下: system/f…

SAP实现文本框多行输入(类cl_gui_textedit)

参考文章:https://blog.csdn.net/SAPmatinal/article/details/130882962 先看效果,在输入框先来一段《赤壁赋》 然后点击 ‘保存输出’按钮,就能把输入内容从表里读取并输出来 源代码: *&-------------------------------…

【云备份项目总结】客户端篇

项目总结 整体回顾util.hppdata.hppcloud.hpp 代码 客户端的代码与服务端的代码实现有很多相似之处,我们也只编写一个简单的客户端代码。 整体回顾 客户端要实现的功能是:对指定文件夹中的文件自动进行备份上传。但是并不是所有的文件每次都需要上传&am…

css style、css color 转 UIColor

你能看过来,就说明这个问题很好玩!IT开发是一个兴趣,更是一个挑战!兴趣使你工作有热情。挑战使让你工作充满刺激拉满的状态!我们日复一日年复一年的去撸代码,那些普普通通的功能代码,已经厌倦了…

AI 绘画 | Stable Diffusion 高清修复、细节优化

前言 在 Stable Diffusion 想要生成高清分辨率的图片。在文生图的功能里,需要设置更大的宽度和高度。在图生图的功能里,需要设置更大的重绘尺寸或者重绘尺寸。但是设置完更大的图像分辨率,需要更大显存,1024*1024的至少要电脑的空…

Python 框架学习 Django篇 (九) 产品发布、服务部署

我们前面编写的所有代码都是在windows上面运行的,因为我们还处于开发阶段 当我们完成具体任务开发后,就需要把我们开发的网站服务发布给真正的用户 通常来说我们会选择一台公有云服务器比如阿里云ecs,现在的web服务通常都是基于liunx操作系统…

11-13 周一 同济子豪兄CNN卷积神经网络学习记录

11-13 周一 同济子豪兄CNN卷积神经网络学习记录 时间版本修改人描述2023年11月13日14:02:14V0.1宋全恒新建文档2023年11月13日19:05:29V0.2宋全恒完成 大白话讲解卷积神经网络的学习 简介 为了深入理解CNN,进行B站 同济子豪兄深度学习之卷积神经网络的学习. 主要内…

Halcon WPF 开发学习笔记(3):WPF+Halcon初步开发

文章目录 前言在MainWindow.xaml里面导入Halcon命名空间WPF简单调用Halcon创建矩形简单调用导出脚本函数 正确显示匹配效果 前言 本章会简单讲解如何调用Halcon组件和接口,因为我们是进行混合开发模式。即核心脚本在平台调试,辅助脚本C#直接调用。 在M…

实验一 Anaconda安装和使用(Python程序设计实验报告)

实验一 Anaconda安装和使用 一、实验环境 Python集成开发环境IDLE/Anaconda 二、实验目的 1.掌握Windows下Anaconda的安装和配置。 2. 掌握Windows下Anaconda的简单使用,包括IDLE、Jupyter Notebook、Spyder工具的使用。 3. 掌握使用pip管理Python扩展库…

【Python大数据笔记_day04_Hadoop】

分布式和集群 分布式:多台服务器协同配合完成同一个大任务(每个服务器都只完成大任务拆分出来的单独1个子任务) 集群:多台服务器联合起来独立做相同的任务(多个服务器分担客户发来的请求) 注意:集群如果客户端请求量(任务量)多,多个服务器同时处理不同请求(不同任务),如果请求量…

【入门Flink】- 08Flink时间语义和窗口概念

Flink-Windows 是将无限数据切割成有限的“数据块”进行处理,这就是所谓的“窗口”(Window)。 注意:Flink 中窗口并不是静态准备好的,而是动态创建——当有落在这个窗口区间范围的数据达到时,才创建对应的窗…

IDEA 关闭SpringBoot启动Logo/图标

一、环境 1、SpringBoot 2.6.4 Maven POM格式 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.4</version><relativePath/></parent> 2、IDE…

OpenCV:图像噪点消除与滤波算法

人工智能的学习之路非常漫长&#xff0c;不少人因为学习路线不对或者学习内容不够专业而举步难行。不过别担心&#xff0c;我为大家整理了一份600多G的学习资源&#xff0c;基本上涵盖了人工智能学习的所有内容。点击下方链接,0元进群领取学习资源,让你的学习之路更加顺畅!记得…