Azure 专用链接创建与 Azure Databricks 工作区的专用安全连接,确保网络流量不会公开到公共 Internet。
有三种类型的专用链接连接:
- 前端(用户到工作区): 保护用户及其工具(如 Web 应用、API 或 BI 工具)到 Azure Databricks 工作区的连接。
- 后端(计算到控制平面): 保护从 Azure Databricks 群集到其运行所需的核心 Azure Databricks 服务的连接。
- Web 身份验证: 让用户在使用专用网络时通过单一登录(SSO)登录到 Web 应用。 它创建一个特殊的专用终结点来处理来自 Microsoft Entra ID 的身份验证回调,否则在专用环境中会失败。 只有前端专用连接才需要 Web 身份验证。
注意
为了获得最大的安全性,请实现 前端和后端连接 ,以阻止对工作区的所有公共网络访问。
体系结构概述
本文档中所述的体系结构表示 Azure 专用链接的标准实现模式。 它旨在充当基础框架,而不是通用解决方案,因为最佳配置完全取决于网络拓扑。 可能需要调整此模型的关键因素包括:
- 现有的中心辐射型或中转 VNet 设计。
- 自定义 DNS 转发和解析策略。
- 特定的防火墙和网络安全组 (NSG) 规则。
- 跨区域或多云连接要求。
所需的虚拟网络 (VNet)
专用连接使用两个不同的虚拟网络。
- 中转 VNet:此虚拟网络作为用户连接的枢纽。 它包含客户端访问工作区和基于浏览器的 SSO 身份验证所需的前端专用终结点。
- 工作区 VNet:这是专门为托管 Azure Databricks 工作区和后端专用终结点而创建的虚拟网络。
子网分配和大小调整
规划每个 VNet 中的子网以支持专用连接和部署。
中转 VNet 子网:
- 专用终结点子网:为所有前端专用终结点分配 IP 地址。
- 浏览器身份验证工作区子网:建议使用两个专用子网(一个主机或公共子网和一个容器或专用子网)来部署浏览器身份验证工作区。
工作区 VNet 子网:
- 工作区子网:Azure Databricks 工作区部署本身需要两个子网(一个主机或公共子网和一个容器或专用子网)。
- 后端专用终结点子网:为后端专用连接托管专用终结点需要额外的子网。
大小取决于你的单个实现需求,但你可以使用以下指南:
| VNet | 子网用途 | 建议的 CIDR 范围 |
|---|---|---|
| 交通 | 专用终结点子网 | /26 to /25 |
| 交通 | 浏览器身份验证工作区 |
/28 或 /27 |
| Workspace | 后端专用终结点子网 | /27 |
Azure Databricks 专用终结点
Azure Databricks 使用两种不同的专用终结点来完全私有化流量。 了解其不同的角色以正确实现它们。
-
工作区终结点 (
databricks_ui_api):这是用于保护传入和传出工作区的核心流量的主要专用终结点。 它处理前端和后端的连接。 -
Web 身份验证终结点(
browser_authentication):这是一个专用的附加终结点,仅用于在专用连接上通过 Web 浏览器实现单点登录(SSO)。 前端连接和端到端连接需要用到它。
对于 Web 身份验证终结点,请注意以下事项:
- SSO 回调要求:使用专用链接进行客户端访问时,用户 Web 登录必须使用此终结点。 它安全地处理来自 Microsoft Entra ID 的单点登录(SSO)身份验证回调,否则这些回调将在专用网络上被阻止。 创建此终结点时,Azure Databricks 会自动配置必要的专用 DNS 记录。 此过程不会影响 REST API 身份验证。
-
部署规则:每个 Azure 区域和专用 DNS 区域只能存在一个
browser_authentication终结点。 此单一终结点为共享相同 DNS 配置的区域中的所有工作区提供服务。 - 生产最佳做法:若要防止中断,请在每个生产区域中创建专用的“专用 Web 身份验证工作区”。 其唯一目的是托管此关键终结点。 为此工作区禁用“公用网络访问”,并验证没有为其创建其他前端专用终结点。 如果删除此主机工作区,则该区域中所有其他工作区的 Web 登录失败。
- 替代配置:对于更简单的部署,可以在现有工作区上托管终结点,而不是创建专用工作区。 这适用于非生产环境,或者如果你确信区域中只有一个工作区。 但是,请注意,删除主机工作区会立即中断依赖于主机工作区的任何其他工作区的身份验证。
前端专用连接
下图演示了前端专用连接的网络流。 前端连接使用 databricks_ui_api 专用终结点和 browser_authentication 通过传输 VNet 的专用终结点来保护从用户及其工具到其 Azure Databricks 工作区的连接。
请参阅 配置与 Azure Databricks 的专用连接。
后端专用连接
下图演示了后端专用连接的网络流。 后端专用连接通过工作区 VNet 使用 databricks_ui_api 专用终结点来确保 Azure Databricks 集群与其运行所需核心 Azure Databricks 服务间连接的安全性。
请参阅 配置与 Azure Databricks 的后端专用连接。
关键注意事项
在配置专用连接之前,请记住以下几点:
- 如果在专用终结点启用了网络安全组策略,必须在部署专用终结点的子网上的网络安全组中允许端口 443、6666、3306 和 8443-8451 的入站安全规则。
- 若要在网络与其服务之间创建连接,可能需要将 Azure 门户 URL 添加到允许列表。 请参阅在防火墙或代理服务器上允许 Azure 门户 URL。
选择正确的专用链接实现
使用本指南确定最适合你的需求的实现。
| 注意事项 | 前端混合 | 仅后端 | 端到端私密 |
|---|---|---|---|
| 主要安全目标 | 保护用户访问 | 保护群集流量 | 最大隔离(保护所有内容) |
| 用户连接 | 公共(互联网) | 公共或专用 | 仅限专用 |
| 群集与控制平面的连接 | 公共(标准安全路径) | 私密(必需) | 私密(必需) |
| 先决条件 | 高级计划 | 高级计划、VNet 注入、SCC | 高级计划、VNet 注入、SCC |
| 工作区网络访问设置 | 已启用公共访问 | 已启用公共访问 | 已禁用公共访问 |
| 所需的 NSG 规则 | 所有规则 | NoAzureDatabricksRules | NoAzureDatabricksRules |
| 所需的专用终结点 | 前端(databricks_ui_api),浏览器身份验证 | 后端(databricks_ui_api) | 所有三个(前端、后端、浏览器身份验证) |
| 相对成本 | 每个终结点的成本 + 数据传输 | 每个终结点的成本 + 数据传输 | 最高成本(多个终结点 + 数据传输) |