练习 - 设置安全的 Azure 虚拟网络

已完成

Azure 虚拟网络 (VNet) 类似于传统网络,但具有 Azure 基础结构提供的附加优势。

通过 VNet,虚拟机 (VM) 和 ML 工作区等资源可以安全地相互通信、与其他网络通信,或与 Internet 通信。

机器学习工程师可以在各种场景中使用它们,例如将 VM 链接到本地存储的数据,限制对训练 API 的访问以便只有实验室的人员才能访问,或者向 Internet 公开推理终结点。

在本练习中,我们将创建一个 VNet,并使用它来安全访问在上一个练习中创建的工作区。 虽然本练习提供了保护工作区的机制,但这不是一个完整的解决方案。 有关完整说明,请参阅练习末尾链接的文档。

警告

本练习仅对保护 ML 工作区网络环境所涉及的过程进行基本介绍。 有关生产环境的完整分步流程,请遵循本练习末尾的链接。

警告

本练习将阻止访问受影响的工作区,不应在生产工作区上执行。

先决条件

  • 网络概念的基础知识。
  • Azure 帐户和订阅。
  • 在上一个练习中创建的资源组 Azure 机器学习工作区。

登录 Azure

登录 Azure 门户

创建 VNet

让我们为本练习创建一个 VNet:

  1. 在 Azure 门户中,选择门户左上角的“创建资源”。

  2. 在搜索框中,输入“虚拟网络”。 在搜索结果中,选择“虚拟网络”。

  3. 在“虚拟网络”页中选择“创建” 。

    Screenshot showing the virtual network page with a red box around create.

  4. 在“创建虚拟网络” 的“基本信息”选项卡中输入或选择以下信息 :

    Screenshot showing how to fill in the Azure Virtual Network form.

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 输入“MLResourceGroup”(或在上一个练习中创建的资源组的名称)
    实例详细信息
    名称 输入“MLVNet”。
    区域 选择“(US)美国东部”。
  5. 选择“IP 地址”选项卡,或选择页面底部的“下一步: IP 地址”按钮。

    提示

    如果屏幕中带有如下图所示的 IPv4 地址空间和默认子网设置,请跳到步骤 9。

    Screenshot showing Azure Virtual Network IP Addresses page.

  6. 在“IPv4 地址空间”中,选择现有地址空间,并将其更改为 10.1.0.0/16

  7. 选择“+ 添加子网”,然后为“子网名称”输入“default”,为“子网地址范围”输入“10.1.0.0/24”。

  8. 选择 添加

  9. 选择“查看 + 创建”选项卡,或选择“查看 + 创建”按钮。

  10. 选择“创建”并等待部署完成:

    Screenshot showing the deployment complete page from step 11.

重要

为简单起见,我们将为虚拟网络创建单个子网。 子网是 VNet 中的一系列 IP 地址。 为了组织需要并提高安全性,我们可以将 VNet 拆分为多个子网,例如,一个只有数据科学家才能使用的训练子网,以及一个公开可用的推理子网。

测试工作区访问权限

我们刚刚向资源组添加了 VNet,但它是否限制了对 ml-workspace 的访问?

我们可以使用 Azure 机器学习工作室来测试对工作区内容的访问。

提示

Azure 机器学习工作区是一个 Web 门户,包含用于模型训练、部署和资产管理的高级工具。

  1. 选择“主页”返回到主页

  2. 在最近的资源列表中选择“ml-workspace”:

    Screenshot showing the Azure portal with a red box around ml-workspace.

  3. 为你的工作区选择工作室 Web URL:

    Screenshot showing the studio web url to select.

  4. 将在新的选项卡或窗口中打开 Azure 机器学习工作室。 向下滚动,直到显示下面的选项卡(“运行”、“计算”、“模型”和“数据集”):

    Screenshot showing the workspace with no warnings.

上面的每个选项卡都表示一个“文件夹”,用于存储你和团队将在机器学习中使用的资源。

尽管你可能还没有任何对象(如上图所示),但应该没有警告或错误消息,这意味着对这些资源还没有网络访问限制。

对 ML 工作区的安全网络访问

到目前为止,我们已创建了两个独立的资源:

  • ML 工作区 (ml-workspace)
  • VNet (MLVNet)

我们现在必须连接这两个资源,以便工作区网络流量必须经过 VNet。 换句话说,我们希望工作区仅可用于连接到 MLVNet 虚拟网络的资源。

为此,我们需要为 ml-workspace 资源定义专用终结点

提示

专用终结点是一个网络接口,它使用 VNet 中的专用 IP 地址创建到资源的安全和专用连接。

创建专用终结点

  1. 转到“主页”,依次选择“资源组”、“MLResourceGroup”资源组、“ml_workspace”工作区:

    Screenshot showing the machine learning workspace page.

  2. 在左侧菜单中,选择“专用终结点连接”:

    Screenshot showing where to select private endpoint connections with a red box.

  3. 选择“专用终结点”,并使用以下值填写表单:

    Screenshot showing how to fill in the private endpoint form.

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 输入“MLResourceGroup”(或在上一个练习中创建的资源组的名称)
    实例详细信息
    名称 输入“MLPrivateEndpoint”。
    区域 选择“(US)美国东部”。
  4. 选择“下一页: 资源 >”按钮。

  5. 在“资源”选项卡中,使用以下值

    Screenshot showing how to fill in the resources form.

    设置
    项目详细信息
    订阅 选择订阅。
    资源类型 输入“Microsoft.MachineLearningService/workspaces”
    实例详细信息
    资源 * 选择“ml-workspace”。
    目标子资源 选择“amlworkspace”。
  6. 选择“下一页: 配置 >”按钮。

    保留建议的默认值:

    Screenshot showing how to fill in the configuration form.

    设置
    虚拟网络 * MLVNet
    子网 * 默认值 (10.1.0.0/24)
    与专用 DNS 区域集成
  7. 选择“评审 + 创建”以验证部署,然后选择“创建”以部署终结点(这可能需要一些时间):

    Screenshot showing the deployment complete page.

测试网络配置

我们可以通过测试是否仍有权访问工作区资源,确保工作区现在位于 VNet 中:

  1. 重新加载 Azure 机器学习工作室窗口(或再次打开工作室):

    Screenshot showing the workspace with warnings on the page.

  2. 如警告所示,现在阻止访问这些资源。 这是因为工作区现在位于 VNet 内,并且配置为阻止所有不是来自我们创建的默认子网内的请求(请记住,我们正在尝试从网络外围外部访问它)。

安全但无法访问

你刚刚保护了对 ML 工作区的网络访问。

请注意,无法以同样的方式访问它,组织中不属于子网的任何其他资源也无法访问。

打开内容以便资源可以连接,这需要一些战略规划!

建议阅读如何使用 VNet 保护工作区指南以获得更深入的参考。

总结

本单元介绍了以下主题:

  • 什么是虚拟网络及其一些用途
  • 创建 Azure 虚拟网络
  • 在虚拟网络中创建子网
  • 如何使用专用终结点来保护对机器学习工作区的网络访问
  • 使用 Azure 机器学习工作室访问工作区,并检查是否阻止访问资源