本页提供有关配置前端专用连接的说明,该连接可保护用户与其 Azure Databricks 工作区之间的连接。
- 若要启用与 Azure Databricks 的后端专用连接,请参阅 Azure 专用链接概念。
为什么选择前端连接?
无论是使用无服务器计算还是经典计算,用户都必须连接到 Azure Databricks。 组织出于多种原因选择连接到 Azure Databricks,其中包括:
- 增强的安全性: 通过限制对专用终结点的所有访问和禁用公共访问,可以最大程度地减少攻击面,并验证所有用户与 Azure Databricks 的交互是通过安全的专用网络进行的。
- 合规性要求: 许多组织具有严格的合规性要求,要求所有数据和管理平面流量都保留在专用网络边界中,即使是对于 Azure Databricks 等 SaaS 服务也是如此。
- 简化的网络体系结构(适用于特定用例): 如果仅使用无服务器计算,或者与 Azure Databricks 的主要交互是通过 Web UI 或 REST API 进行的,并且无需立即 从 Azure Databricks(需要后端连接)与数据源建立专用连接,则仅前端设置简化了整个网络设计。
- 数据外泄防护: 通过防止公共访问并通过专用终结点强制所有流量,可以降低数据外泄的风险,确保只能从经过身份验证的网络环境访问流量。
连接模型
可以通过以下两种方式之一配置专用连接:
- 无公共访问权限:此配置禁用对工作区的所有公共访问。 所有用户流量都必须源自通过专用终结点连接的 VNet。 实现完全流量私有化需要此模型。 对于完全流量私有化,还需要一个后端专用链接连接。 请参阅 Azure 专用链接概念。
- 混合访问:专用链接处于活动状态,但公共访问仍通过基于上下文的入口控件和 IP 访问列表启用。 基于上下文的入口控件允许基于标识、请求类型和网络源限制访问。 这样,便可以安全地允许从受信任的公共源(例如静态公司 IP)进行访问,同时仍使用Private Link 进行专用连接。
本指南介绍如何实现建议的 “无公共访问 ”模型。 我们使用标准中心辐射型网络拓扑来实现此目的。
体系结构概述
此模型使用中转 VNet:
- Transit VNet:这是一个主要的虚拟网络,其中包含客户端访问工作区和进行浏览器身份验证所需的所有专用终结点。 您的浏览器身份认证工作区也已连接到此 VNet。
在您开始之前
查看以下先决条件和建议:
要求
- 工作区位于 高级计划中。
- Azure Databricks 工作区已通过 VNet 注入进行部署。 请参阅 在 Azure 虚拟网络中部署 Azure Databricks (VNet 注入)
- 必须具有 Azure 权限才能创建专用终结点和管理 DNS 记录。
网络配置
- 为以下内容配置的中转 VNet:
- 它充当连接到 Azure 网络的所有用户/客户端流量的主要传输点。
- 它为本地或其他外部网络提供集中式连接。
- 它管理共享服务,并包含出站 Internet 流量的主要路由(出口)。
- 专用子网必须存在于工作区的 VNet 中,专门用于私人终结点。 如果不存在,请创建它。
- 专用 DNS 区域由 Azure DNS 管理。
最佳做法
Azure Databricks 建议采用以下方法来实现一个可复原且易于管理的设置:
- 体系结构:网络必须遵循Microsoft推荐的中心辐射型体系结构。 请参阅 Azure 中的中心辐射型网络拓扑。
-
独立身份验证工作区:为了提高复原能力,请在传输 VNet 中创建单独的浏览器身份验证工作区。 此专用工作区应托管浏览器身份验证专用终结点,以防删除其他工作区时出现单一故障点。 请参阅 步骤 3:创建
browser_authentication专用终结点。
为现有工作区配置专用连接
在开始之前,必须停止所有计算资源,例如群集、池或经典 SQL 仓库。 无法运行工作区计算资源,或者升级尝试失败。 Azure Databricks 建议规划升级的停机时间。
在 “工作区 ”页上,选择“ 计算”。
选择每个活动计算群集,然后在右上角单击“ 终止”。
步骤 1:验证已启用公共访问的 VNet 注入工作区
- 在 Azure 门户中转到你的 Azure Databricks 工作区。
- 在工作区概述部分中,验证 Azure Databricks 工作区是否使用自己的虚拟网络:
- 在 “设置”下,选择“ 网络 ”选项卡。确认以下设置:
- 已启用安全群集连接(无公共 IP)。
- 允许公用网络访问已启用。
- 在 “设置”下,选择“ 网络 ”选项卡。确认以下设置:
步骤 2:创建 databricks_ui_api 专用终结点
- 在工作区的 “网络 ”选项卡中,选择 “专用终结点连接”。
- 单击
专用终结点。
- 选择终结点的资源组,提供一个名称,如下所示
my-workspace-fe-pe。 验证区域是否与工作区匹配。 - 单击“ 下一步:资源”。
- 将 目标子资源 设置为
databricks_ui_api。 - 单击“ 下一步:虚拟网络”。
- 选择传输 VNet。 中转 VNet 是您网络架构中一个单独、先前已存在的 VNet,负责管理和保护出流量,并且通常包含中央防火墙。
- 选择托管专用终结点的子网。
- 单击“ 下一步 ”,验证 与专用 DNS 区域集成 是否设置为 “是”。 它应自动选择
privatelink.databricks.azure.cn区域。
注意
将专用 DNS 区域链接到您的中转 VNet,并为了更好地管理,将其与其他专用 DNS 区域分开,放置在单独的资源组中。
步骤 3:创建 browser_authentication 专用终结点
创建用于浏览器身份验证的专用终结点,以支持通过专用网络路径进行 SSO。 Azure Databricks 建议将此终结点托管在专用 Web 身份验证工作区上。
创建资源组
- 在 Azure 门户中,导航到并选择 “资源组”。
- 单击“+ 创建”。
- 为资源组提供 名称 ,例如
web-auth-rg-chinaeast2。 - 对于 区域,请选择与部署生产环境 Databricks 工作空间的同一 Azure 区域。
- 单击“查看 + 创建”,然后单击“创建”。
创建 VNet
- 在 Azure 门户中,搜索并选择“虚拟网络”。
- 单击“+ 创建”。
- 在“ 基本信息 ”选项卡上,选择刚刚创建的 资源组 ,并为 VNet 提供描述性 名称,例如
web-auth-vnet-chinaeast2。 - 验证 区域 是否与资源组匹配。
- 在 “IP 地址 ”选项卡上,为 VNet 定义 IP 地址空间,
10.20.0.0/16例如。 系统还会提示你创建初始子网。 - 选择 “查看 + 创建”,然后选择 “创建”。
创建和保护专用 Web 身份验证工作区
- 在 Azure 门户中,搜索并选择 Azure Databricks。 单击“+ 创建”。
- 在“ 基本信息 ”选项卡上,配置以下内容:
- 选择刚刚创建的 资源组 。
- 为工作区指定描述性名称,例如
WEB_AUTH_DO_NOT_DELETE_<region>。 - 选择与资源组和 VNet 相同的区域。
- 单击“ 下一步:网络 ”并配置以下内容:
- 使用安全群集连接(无公共 IP)部署 Azure Databricks 工作区:选择“ 是”。
- 在自己的虚拟网络(VNet)中部署 Azure Databricks 工作区:选择“ 是”。
- 虚拟网络:选择刚刚创建的 VNet。 系统会提示你定义子网范围。
- 公用网络访问:选择 “已禁用”。
- 所需的 NSG 规则:选择 NoAzureDatabricksRules。
- 单击“查看 + 创建”,然后单击“创建”。
创建工作区后,必须防止其意外删除。
- 在 Azure 门户中,导航到刚刚创建的工作区。
- 转到 “设置” 并选择“ 锁定”。
- 单击“ + 添加”。
- 将 锁定类型 设置为 “删除 ”并提供描述性 锁定名称。
- 单击 “确定” 。
注意
- 不要在此工作区中运行任何 Databricks 工作负荷,例如群集、作业。
- 请勿添加任何专用终结点,除了
browser_authentication。 具体而言,不要为此工作区创建databricks_ui_api终结点。
步骤 4:配置和验证 DNS
部署专用终结点后,必须验证 DNS 是否正确将 Azure Databricks URL 解析为其新的专用 IP 地址。
验证专用 DNS 区域记录:
- 在 Azure 门户中,搜索并导航到名为
privatelink.databricks.azure.cn。 - 验证是否存在以下
A记录,并指向终结点的专用 IP 地址:-
工作区 UI/API 记录:
-
名称:唯一的工作区 ID,例如
adb-xxxxxxxxxxxxxxxx.x -
值:专用终结点的
databricks_ui_api专用 IP 地址。
-
名称:唯一的工作区 ID,例如
-
浏览器身份验证记录:
-
名称:选择描述性名称,例如
pl-auth.<your_region>。 -
值:专用终结点的
browser_authentication专用 IP 地址。
-
名称:选择描述性名称,例如
-
工作区 UI/API 记录:
- 在 Azure 门户中,搜索并导航到名为
步骤 5:验证专用网络访问
确认可以通过专用网络连接访问工作区。
从连接的网络
如果本地网络已通过 VPN 或 ExpressRoute 连接到 Azure VNet,则测试很简单:
- 在计算机上打开 Web 浏览器,直接转到 Azure Databricks 工作区 URL 以登录。 成功登录可确认专用连接是否正常工作。
使用测试虚拟机
如果无法从当前位置访问工作区 VNet,请创建一个临时虚拟机(“跳转框”)以从以下位置进行测试:
- 创建 VM: 在 Azure 门户中,创建 Windows 虚拟机。 将其放置在与配置前端专用终结点相同的传输虚拟网络中的子网中。
- 连接到 VM: 使用远程桌面客户端连接到新 VM。
- 从 VM 进行测试: 连接到 VM 后,打开 Web 浏览器,转到 Azure 门户,找到 Azure Databricks 工作区。
- 启动工作区: 单击“ 启动工作区”。 成功登录确认你专用 VNet 的访问正在正常运作。
使用 nslookup 验证 DNS
通过 VPN 或 Azure ExpressRoute 连接到配置的 VNet 内部的虚拟机或本地网络。 计算机必须能够使用 Azure 的专用 DNS。
打开命令提示符或终端,并用于
nslookup验证 DNS 解析。# Verify the workspace URL resolves to a private IP nslookup adb-xxxxxxxxxxxxxxxx.x.databricks.azure.cn # Expected output: # Server: <your-dns-server> # Address: <your-dns-server-ip> # # Name: adb-xxxxxxxxxxxxxxxx.x.privatelink.databricks.azure.cn # Address: 10.10.1.4 <-- This should be the private IP of your 'databricks_ui_api' endpoint # Aliases: adb-xxxxxxxxxxxxxxxx.x.databricks.azure.cn
自定义 DNS 配置
将专用前端终结点与你自己的自定义 DNS 配合使用时,必须验证工作区 URL 和 SSO(单一登录)身份验证 URL 是否正确解析为专用终结点的 IP 地址。
建议:条件转发
最可靠的方法是将 DNS 服务器配置为将所有 Databricks 域的查询转发到 Azure 的内部 DNS。
- 为 Azure DNS 服务器设置以下域的条件转发:
*.databricks.azure.cn*.privatelink.databricks.azure.cn*.databricksapps.com
- 验证 VNet 是否已链接到 Azure 专用 DNS 区域。
这允许 Azure 自动将所有必要的主机名(包括 SSO 和工作区 URL)解析到您的专用终结点的 IP 地址。
替代方法:手动A记录
如果条件转发不是选项,则必须手动创建 DNS A 记录。
-
工作区 URL: 创建将
A每个工作区 URL(例如adb-1111111111111.15.databricks.azure.cn)映射到专用终结点 IP 地址的记录。 -
SSO 身份验证 URL:创建将区域 SSO URL(例如
A)映射到chinaeast2.pl-auth.databricks.azure.cn专用终结点 IP 地址的记录。
某些 Azure 区域使用多个控制平面实例进行 SSO。 可能需要创建多个 A 用于身份验证的记录。 请联系 Azure Databricks 帐户团队,获取区域域的完整列表。