独立环境体系结构继承 强化的连接 基线,并添加了两个要求:专用工作区访问和所需的外部防火墙。 工作区仅可通过 VPN 或入站 专用链接 访问,绝不通过公共互联网。 所有经典计算出站流量都会经过防火墙,以接受检查和执行策略。
此体系结构具有:
- 完全网络隔离:所有流量都流经专用连接。
- 专用工作区访问:仅限通过 VPN 或入站专用链接访问。 工作区无法从公共 Internet 访问。
- 所需的出口检查:防火墙检查所有经典计算出站流量。
- 数据外泄防护:网络层控制阻止未经授权的数据传输。
在以下情况下使用此体系结构:
- 工作区访问必须通过私有方式进行,例如通过 VPN 或入站专用链接。
- 处理高度管控行业的数据,例如金融服务、医疗保健、政府。
- 合规性框架需要出口控制(例如 SOC 2、HIPAA、PCI DSS 和 FedRAMP)。
- 实现企业零信任安全框架。
- 数据外泄防护是一项要求。
先决条件
- 带有 VNet 注入工作区的 Microsoft Azure Databricks 高级层。
- 现有的 VPN 基础设施或入站 专用链接 连接。
- 防火墙或网络虚拟设备(NVA)。
体系结构概述
隔离环境架构通过专用连接路由所有流量,并经过防火墙检查:
| 流量类型 | 路径 |
|---|---|
| 用户访问权限 | 用户 → VPN 或入站专用链路 → 工作区 |
| 经典计算 → 控制 | 计算 → Classic 专用链接 → Azure Databricks 控制平面 |
| 经典计算→云 | 计算 → 服务终结点或 UDR → Azure 服务 |
| 无服务器 → 您的资源 | 无服务器计算 → NCC 专用终结点 → 你的 Azure 资源 |
| 经典计算→出口 | 计算 → 外部防火墙(必需) → 受检互联网 |
所需组件
Inbound
工作区仅可通过专用连接访问:VPN、入站专用链接,或两者兼有,具体取决于您现有的基础架构。 客户通常选择一个,而不是堆叠它们。
专用访问设置(禁用公共访问)
这是真正用于阻止公共入站访问的门控控制机制。 如果没有,工作区仍接受 Internet 流量,即使配置了专用链接。 专用链接成为其他路径,而不是唯一的路径。
在 Azure 门户中将工作区的 Public Network Access 设置为 Disabled。 这会阻止对工作区 UI 和 API 的公共入口。
工作区入口控件
通过 基于上下文的入口(CBI)(建议的入口策略框架)配置工作区入口。 CBI 规则将网络源(IP 范围)、标识、身份验证机制和访问范围合并为单个允许/拒绝模型,因此网络源属性执行与独立 IP 访问列表功能相同的作业,等等。
配置级别:
- 账户级 CBI 策略:适用于与该策略关联的所有工作区。 请参阅 管理基于上下文的入口策略。
最佳做法:
- 先从宽泛的范围开始,再根据实际使用情况进行细化。
- 记录 IP 范围,并注明其用途和到期日期。
- 通过已知良好的 IP 范围维护管理员访问权限。
- 每季度审查一次,并删除过时的区间。
Warning
如果配置不当,入口策略和 IP 访问列表可能会锁定工作区。 始终通过已知良好的 IP 范围维护管理员访问权限。
OpenSharing 收件人访问控制
OpenSharing 使用在收件人对象上配置的自身 IP 访问列表。 这与工作区 IP 访问列表是分开的,也不属于基于上下文的入口控制范围。 仅适用于 Databricks 到 Open 共享(仅限非 Azure Databricks 接收方)。
自定义 DNS
配置专用 DNS 以将Azure Databricks终结点解析为专用 IP 地址。
Azure创建专用终结点时自动创建专用 DNS 区域。
出境
无服务器出口控制(网络策略和 NCC 专用终结点)继承自 强化连接 基线。 这种架构使外部防火墙在 Hardened 模式中原本是可选的,但要对经典计算出站流量进行完整检查,则外部防火墙是必需的。
外部防火墙(必需)
使所有出站流量都通过防火墙,以进行检查、记录日志并执行策略。 选项包括:
- Azure 防火墙或第三方网络虚拟设备(NVA)。
Tip
使用适用于 Azure Databricks 项目构件存储的服务终结点策略来绕过防火墙,从而降低数据传输成本。 仅制品存储一项,每个集群节点的下载量就可高达 11 GB。
有关防火墙规则必须允许的所需 Azure Databricks 终结点,请参阅 Azure Databricks 服务和资产的 IP 地址和域。
Tip
为了最大限度地加强管控,请考虑托管一个用于 Python、R 和 Maven 软件包的私有软件包仓库(例如 JFrog Artifactory 或 Sonatype Nexus)。 这消除了允许访问公共包索引(如 PyPI)的防火墙规则的需求。
Warning
Azure Databricks 控制平面与 SCC 中继连接使用 TLS,并采用证书锁定。 不要在群集与Azure Databricks控制平面之间的流量上启用 TLS 检查(解密和重新加密)。 这样做会导致群集发生故障。 配置防火墙规则以允许目标 FQDN 或 IP 进行这些连接,而无需 TLS 拦截。 有关所需终结点,请参阅 Azure Databricks 服务和资产的 IP 地址和域。
Important
配置不正确的防火墙规则可能会中断Azure Databricks功能。 在非生产环境中全面测试。
数据外泄保护
配置网络策略和防火墙控制以防止未经授权的数据外泄:
- 通过 网络策略进行无服务器出口控制。
- 通过防火墙/NVA 进行经典计算出口。
- 已批准的数据目标的专用终结点规则。
有关实现指南 ,请参阅数据外泄保护 。
经典计算基线
经典计算基线继承自 托管安全性,云服务终结点继承自 强化连接。 此体系结构不需要其他经典计算组件。
基线包括 VNet 注入、安全群集连接(SCC)和经典专用链接。 云服务终结点包括用户定义的路由(UDR)、服务终结点和客户管理的存储帐户的专用终结点。
数据访问的出口方法
可通过两种方法处理来自计算资源的出站数据访问:
具有防火墙的 NAT 网关:为出站连接部署 NAT 网关,并通过防火墙路由流量进行检查。 此方法允许控制对外部包存储库和 API 的访问,并保持对流量模式的可见性。 必须访问外部资源但需要检查和日志记录时,请使用此方法。
无 NAT 网关(完全专用):完全删除 NAT 网关,以消除来自计算资源的所有公共通信。 所有数据访问仅通过专用终结点和VP 终结点进行。 此方法通过消除通过公共出口路径外泄数据的可能性,具有最高级别的安全性。 当你的组织禁止来自计算资源的任何公共 Internet 通信时,请使用此方法。
Implementation
从已部署的强化连接基线开始。 以下阶段将添加专用工作区访问和定义此体系结构所需的外部防火墙。
阶段 1:入站控制
- 配置入站专用链接,以便用户私下路由对 Microsoft Azure Databricks UI 和 API 的访问权限,而不是通过公共 IP 进行路由。 请参阅 配置入站专用链接。
- 在 Azure 门户中将工作区的 Public Network Access 设置为 Disabled。 这是实际阻止公共入口的内容。 如果没有它,即使已配置入站专用链接(专用链接),工作区仍会接受来自 Internet 的流量。
- 通过 VPN 或专用链接测试用户访问,以确认经过身份验证的用户只能通过专用网络路径访问工作区,并阻止公共访问。
阶段 2:外部防火墙(必需)
- 在中心 VNet 中部署 Azure 防火墙或第三方网络虚拟设备 (NVA),并通过 VNet 对等互连或虚拟中心将工作区 VNet 连接到该中心 VNet。
- 在工作区子网中配置用户定义的路由(UDR),并将默认路由配置为防火墙,以便来自Azure Databricks计算的出站流量流经中心防火墙。 请参阅 Azure Databricks 的用户定义路由设置。
- 配置 Azure 防火墙 应用程序和网络规则,以仅允许 Azure Databricks 所需的终结点(请参阅 Azure Databricks 服务和资产的 IP 地址和域),且不对控制平面和 SCC 中继流量进行 TLS 拦截。
阶段 3:验证
- 通过查看Azure 防火墙日志和诊断来验证出口控制,以根据策略检查和限制Azure Databricks流量。
- 确认没有将公共 IP 地址分配给工作区 VNet 中的群集节点或其他Azure Databricks托管的计算资源。
- 验证所有控制、数据和传入流量是否按设计通过配置的专用链接终结点和中心防火墙流动。
Azure Databricks Terraform SRA提供基础结构即代码模板作为此部署模式的起点。
验证
部署体系结构后,运行以下检查以确认完整的网络隔离、专用连接和出口控制是否按配置工作。
| 检查 | 预期结果 |
|---|---|
| 可通过 VPN 访问工作区 | 是 |
| 无需 VPN 即可访问工作区 | 否 |
| 使用 SCC 启动群集 | 是,没有公共 IP |
| 通过专用连接访问数据 | 是 |
| 未经防火墙批准阻止的出口 | 是 |
| DNS 解析到私有 IP 地址 | 是 |
故障排除
如果验证检查失败或工作负荷无法连接到所需的终结点,请使用以下云特定的表来诊断常见问题。
| 問题 | 原因 | 解决方案 |
|---|---|---|
| 群集无法启动 | 防火墙阻止了 SCC、Azure Databricks 控制平面或存储帐户所需的终结点,或者其专用终结点配置错误(NSG 规则、路由) | 查看防火墙日志并添加 Azure Databricks 基础架构规则;验证专用终结点 NSG 规则是否允许来自群集子网的流量;检查 UDR |
| DNS 解析失败 | 专用 DNS配置错误 | 验证专用 DNS 区域和 VNet 链接 |
| 存储访问失败 | 专用终结点或路由问题 | 检查专用终结点配置和路由表 |
| 包安装失败 | PyPI 被防火墙阻止 | 将 PyPI 添加到防火墙允许列表 |
日常维护
- 防火墙规则:定期查看和更新出口允许列表。
- DNS 管理:添加工作区时更新记录。
- 终结点监视:跟踪专用终结点运行状况和数据传输成本。
- 网络策略:为新批准的数据源添加专用终结点。
- 删除防火墙:如果防火墙操作开销过高或合规性要求放宽,可以删除防火墙组件并保留专用连接和 VPN 访问。
- 降级为加固连接:如果对专用工作区的访问成为影响工作效率的障碍。
后续步骤
| 资源 | Description |
|---|---|
| 数据外泄保护 | 用于合并网络和 Unity 目录控件的详细参考体系结构,以防止数据外泄。 |
| 网络 | Azure Databricks的网络选项和概念。 |