为从经典计算进行存储访问配置 Azure 虚拟网络服务终结点策略

本页介绍如何使用 Azure 虚拟网络服务终结点策略筛选来自经典计算平面的出站流量,确保仅连接到特定的 Azure 存储帐户。

什么是服务终结点和服务终结点策略?

服务终结点和策略协同工作,以创建相互批准的专用连接。

  • Azure 虚拟网络服务终结点:若要保护发到 Azure 存储的流量,请在虚拟网络的子网上启用服务终结点。 这会通过 Microsoft Azure 主干网络创建与 Azure 存储服务的安全直接连接,使流量远离公共 Internet。
  • Azure 虚拟网络服务终结点策略:将服务终结点策略应用到与服务终结点相同的子网。 此策略充当终结点顶部的筛选器,允许仅将连接限制为你定义的特定 Azure 存储帐户。 此组合可防止数据外泄到未经授权的存储帐户。

他们的工作原理是什么?

下图概述了如何配置服务终结点和服务终结点策略:

服务终结点概述关系图。

  1. 创建 Azure 虚拟网络服务策略。 请参阅 “创建服务终结点策略”。
  2. 将需要访问的存储帐户添加到您的策略中。 例如,默认工作区和 Unity 目录存储帐户。 不需要将使用专用终结点的存储帐户添加到策略。
  3. 将服务策略附加到工作区子网。 请参阅 将策略附加到工作区子网
  4. Microsoft.Storage Azure 虚拟网络服务终结点连接到工作区子网。 子网的服务终结点策略应用于服务终结点。
  5. 无法访问未批准的存储,因为它不受策略允许。

服务终结点路由来自 Azure Databricks 工作区的所有网络流量,允许连接到策略中定义的存储帐户,并阻止所有未经授权的尝试。

服务终结点的优点

  • 路由优先级和安全性:服务终结点通过 Azure 主干创建到 Azure 服务的高优先级直接路由路径。 此优化路由会替代大多数用户定义的路由(UDR),从而帮助防止流量被无意中强制通过网络虚拟设备(NVA)或重新定向至互联网。 此行为增强了安全态势,有助于防止数据外泄。
  • 成本优化:由于发到 Azure 服务的流量保留在 Azure 主干中,因此可以避免与通过 NAT 网关或网络虚拟设备出口相关的费用。

有关更多详细信息,请参阅 Azure 虚拟网络服务终结点Azure 存储的虚拟网络服务终结点策略

服务终结点策略的优点

  • 全局访问:虽然服务终结点策略是区域资源,但它中的规则可以面向任何区域、订阅或租户中的 Azure 存储帐户。 这样,区域策略就可以管理全局存储访问。
  • 累加策略:可以将多个策略与单个子网相关联。 策略分配是累加性的,这意味着子网可从所有附加策略获取对所有允许的存储帐户的组合集的访问权限。 这可用于对不同的访问要求进行建模。

最佳做法

对于每个 Azure Databricks 工作区,请配置一个面向其根 DBFS 存储帐户和任何关联的 Unity 目录外部位置的服务终结点策略。 还必须将此 /services/Azure/Databricks 服务别名添加到此策略,以允许访问 Azure Databricks 基本存储。 若要应用不同的规则集,可以为特定环境(如开发和生产)创建其他策略。

重要

建议查看用户定义的路由(UDR)配置,以验证它是否适用于子网上配置的服务终结点。 UDR 可能会影响路由,例如存储服务标记,如果配置不当,可能会绕过服务终结点。 服务终结点策略控制允许哪些存储帐户;UDR 不直接与策略交互。

要求

注释

默认情况下,在 2025 年 7 月 14 日或之后创建的工作区支持创建服务终结点策略。 对于在此日期之前创建的工作区,请联系 Databricks 帐户团队请求访问权限。

Azure Databricks 工作区必须满足以下要求:

配置服务终结点策略

将服务终结点策略附加到工作区的公共子网之前,请为经典计算资源使用服务终结点访问的所有存储帐户创建策略规则。 任何没有相应策略规则的存储帐户都将被阻止。

创建服务终结点策略

  1. 在 Azure 门户中,搜索 服务终结点策略 并选择“ 创建服务终结点策略”。

  2. 在“基本信息”选项卡上:

    • 选择与工作区 VNet 匹配的 订阅区域
    • 输入策略的描述性 名称 ,例如 databricks-workspace-prod-chinaeast2
    • 单击“ 下一步:策略定义”。
  3. “策略定义 ”选项卡上,添加 Azure Databricks 托管存储:

    • 单击“ + 添加别名”。
    • 选择 /services/Azure/Databricks
    • 单击 添加

    注释

    别名 /services/Azure/Databricks 仅允许访问 Databricks 管理所需的存储帐户。 它不会向该区域中的所有存储帐户授予访问权限。

  4. 添加自己的存储帐户:

    • 单击“ + 添加 资源”。
    • 对于 “范围”,请选择 “单个帐户”。
    • 逐个添加工作区的默认 DBFS 存储帐户、Unity 目录存储帐户和任何其他必需的存储帐户。
    • 可以随时添加或删除策略中的存储帐户。
  5. 单击“查看 + 创建”,然后单击“创建”

将策略附加到工作区子网

服务终结点策略可以同时附加到工作区的公共子网和专用子网,但只有公共子网与存储通信。

  1. 在 Azure 门户中,转到工作区的 VNet。
  2. “设置”下的边栏中,单击“ 子网”。
  3. 选择公共子网。
  4. 在子网设置中,滚动到 “服务终结点 ”部分。
  5. “服务 ”下拉菜单中选择 Microsoft.Storage
  6. 滚动到 “服务终结点策略 ”部分。
  7. 从“ 策略 ”下拉菜单中,选择之前创建的策略。
  8. 单击“ 保存”。

注释

子网仅支持一种存储服务终结点类型。 Microsoft.Storage 终结点仅可访问该子网所属区域中的存储帐户。 如果工作区所在区域在其他区域具有辅助项目 Blob 存储,请改为选择跨区域 Microsoft.Storage.Global 终结点,因为该终结点可连接到任何区域中的存储帐户。 若要检查区域是否在另一个区域中使用次要项目存储,请参阅 元存储、项目 Blob 存储、系统表存储、日志 Blob 存储和事件中心终结点 IP 地址

Validation

若要验证配置,请执行以下操作:

  • 在工作区中启动 Azure Databricks 群集。
  • 运行读取或写入策略中包含的存储帐户的工作负荷。 作将成功。
  • 尝试访问策略中不包含的存储帐户。 对策略中未定义的存储帐户的任何请求都将失败,并出现授权错误。