启用 Azure 专用链接作为标准部署

本文介绍如何使用 Azure 专用链接来实现用户与其 Databricks 工作区之间的专用连接,以及 Databricks 工作区基础结构中经典计算平面上的群集与控制平面上的核心服务之间的专用连接。

注意

标准部署中的前端连接简介

要为没有公共 Internet 连接的客户端支持与 Azure Databricks Web 应用程序的专用前端连接,必须添加浏览器身份验证专用终结点,以支持对 Azure Databricks Web 应用程序的单一登录 (SSO) 登录回调。 通常,这些用户连接将通过一个 VNet 处理到本地网络和 VPN 的连接,这称为传输 VNet。

提示

如果仅实现后端专用链接连接,则不需要传输 VNet 或浏览器身份验证专用终结点,并且可以跳过本节的其余内容。

浏览器身份验证专用终结点是具有子资源类型 browser_authentication 的专用连接。 它托管来自传输 VNet 的专用连接,该连接允许 Microsoft Entra ID(以前称为 Azure Active Directory)在登录到正确的 Azure Databricks 控制平面实例后重定向用户。

  • 如果计划允许从你的用户客户端传输网络连接到公共 Internet,则建议添加浏览器身份验证专用终结点,但这不是必需的操作
  • 如果计划允许从你的客户端传输网络连接到公共 Internet,则必须添加浏览器身份验证专用终结点。

在共享同一专用 DNS 区域的 Azure 区域中的所有工作区之间共享一个浏览器身份验证专用终结点。 另请注意,某些企业 DNS 解决方案实际上会将你限制为一个区域性专用终结点来进行浏览器身份验证。

重要

Databricks 强烈建议为每个区域创建名为“专用 Web 身份验证工作区”的工作区,以托管 Web 身份验证专用网络设置。 这解决了删除一个工作区可能影响该区域中其他工作区的问题。 有关更多上下文和详细信息,请参阅步骤 4:创建专用终结点以支持用于 Web 浏览器访问的 SSO

网络流和网络对象图

下图显示了专用链接标准部署的典型实现中的网络流:

Azure 专用链接网络流。

下图说明了网络对象体系结构:

Azure 专用链接网络对象体系结构。

若要将此标准部署与专用链接简化部署进行比较,请参阅网络流和网络对象图

步骤 1:创建资源组

  1. 在 Azure 门户中,转到资源组边栏选项卡。
  2. 单击“创建资源组”,为工作区创建资源组。 设置 Azure 订阅、区域和资源组名称。 单击“查看并创建”,然后单击“创建”。
  3. 重复上一步骤,为专用链接资源(例如专用链接终结点和区域)创建资源组。 该区域不需要与工作区区域匹配。 使用与计划用于传输 VNet 的区域匹配的 Azure 区域。 如果工作区区域和传输 VNet 区域不匹配,则在区域之间传输数据会产生额外的成本。

步骤 2:创建或准备工作区 VNet

你可能已拥有要使用的 VNet,也可以专门为 Azure Databricks 创建新的 VNet。

有关 VNet 和工作区所需的两个子网的 IP 范围的要求,请参阅在 Azure 虚拟网络中部署 Azure Databricks(VNet 注入)一文。

用于 Azure Databricks 的 VNet 和子网 IP 范围定义了一次可以使用的最大群集节点数。 请谨慎选择这些值,以匹配你自己的组织网络需求和预期一次性用于 Azure Databricks 的最大群集节点数。 请参阅地址空间和最大群集节点数

例如,可以创建具有以下值的 VNet:

  • IP 范围:首先删除默认 IP 范围,然后添加 IP 范围 10.28.0.0/23
  • 创建子网 public-subnet,范围为 10.28.0.0/25
  • 创建子网 private-subnet,范围为 10.28.0.128/25
  • 创建子网 private-link,范围为 10.28.1.0/27

步骤 3:预配 Azure Databricks 工作区和专用终结点

部署具有以下设置的新的 Azure Databricks 工作区:

若要部署具有这些设置的工作区,你有多个选项,包括Azure 门户中的用户界面、自定义模板(可通过 Azure CLI 或 PowerShell 在 UI 中应用)或 Terraform。 若要使用自定义模板创建已启用专用链接的工作区,请使用此模板

无论选择哪种方法,在创建新工作区时,请设置以下值:

  • 公用网络访问(用于前端专用链接)(在模板中为 publicNetworkAccess):控制专用链接的前端用例的设置。
    • 如果将此项设置为 Enabled(默认值),那么尽管你可以使用配置工作区的 IP 访问列表限制通过已批准源网络访问特定 IP 范围,但公共 Internet 上的用户和 REST API 客户端仍可访问 Azure Databricks。
    • 如果将此项设置为 Disabled,则不允许用户从公共 Internet 访问。 如果设置为“已禁用”,则只能使用专用链接连接访问前端连接,而不能从公共 Internet 进行访问。 IP 访问列表对专用链接连接无效。
    • 如果你只想使用后端专用链接(不使用前端专用链接),则必须将公用网络访问设置为 Enabled
  • 必需的 NSG 规则(用于后端专用链接)(在模板中为 requiredNsgRules):可能值:
    • 所有规则(默认值):此值在模板中为 AllRules。 这指示工作区计算平面需要一个网络安全组,其中包含允许从计算平面到控制平面的公共 Internet 上的连接的 Azure Databricks 规则。 如果不使用后端专用链接,请使用此设置。
    • 无 Azure Databricks 规则:此值在模板中为 NoAzureDatabricksRules:如果要使用后端专用链接,请使用此值,这意味着工作区计算平面无需网络安全组规则即可连接到 Azure Databricks 控制平面。 如果要使用后端专用链接,请使用此设置。
  • 启用安全群集连接(无公共 IP/NPIP)(在模板中为 enableNoPublicIp):始终设置为“是”(true),从而启用安全群集连接

重要

如果在创建工作区期间未定义这些专用链接配置设置,则可以稍后在正在运行的工作区上添加或更新这些值。 请参阅在现有工作区上启用或禁用 Azure 专用链接

公用网络访问(在模板中为 publicNetworkAccess)和必需的 NSG 规则(在模板中为 requiredNsgRules)这两个设置共同定义了受支持的专用链接类型。

下表显示了两个主要专用链接用例(即前端和后端)支持的方案。

方案 将公用网络访问设置为此值 将必需的 NSG 规则设置为此值 创建这些终结点
无前端或后端专用链接 已启用 所有规则 不适用
建议的配置:前端和后端专用链接。 前端连接已锁定,需要专用链接。 已禁用 NoAzureDatabricksRules 一个用于后端的终结点(必需)。 一个用于前端的终结点(必需)。 此外,每个区域有一个浏览器身份验证专用终结点。
前端和后端专用链接。 混合前端连接允许专用链接或公共 Internet(通常会使用配置工作区的 IP 访问列表)。 如果使用专用链接进行本地用户访问,但需要允许特定的 Internet CIDR 范围,请使用此混合方法。 这些附加范围可用于 Azure 服务(如 SCIM 或 Azure 机器学习),或者用于提供对 JDBC、云自动化或管理工具的外部访问。 Enabled NoAzureDatabricksRules 一个用于后端的终结点(必需)。 一个用于前端的终结点(可选)。 此外,每个区域有一个浏览器身份验证专用终结点。
仅前端专用链接。 前端连接已锁定,需要专用链接(已禁用公用网络访问)。 无后端专用链接。 此方案不受支持。 此方案不受支持。 此方案不受支持。
仅前端专用链接。 混合前端连接允许专用链接或公共 Internet(也许会使用配置工作区的 IP 访问列表)。 无后端专用链接。 已启用 所有规则 一个用于前端的终结点(可选)。 此外,每个区域有一个浏览器身份验证专用终结点。
仅后端专用链接。 前端使用公共 Internet(也许会使用配置工作区的 IP 访问列表)。 无前端专用链接。 已启用 NoAzureDatabricksRules 一个用于后端的终结点(必需)。

设置以下工作区配置设置:

  • 将“定价层”设置为“高级”(在模板中,此值为 premium
  • 如果要启用任何后端连接,请将“启用无公共 IP”(安全群集连接)设置为“是”(在模板中,此值为 true)。
  • 将“网络”>“在自己的虚拟网络(VNet)中部署 Azure Databricks 工作区”设置为“是”(在模板中,此值为 true

注意

通常,需要在创建新工作区时启用专用链接。 但是,如果你的一个现有工作区从未具有专用链接前端或后端访问,或者如果你对“公用网络访问”和“必需的 NSG 规则”使用了默认值(分别为“已启用”和“所有规则”),那么你可以选择稍后添加前端专用链接。 但是,公用网络访问将仍处于启用状态,因此只有部分配置选项可供使用。

可通过两种方法创建工作区:

在 Azure 门户 UI 中创建工作区和专用终结点

在创建新的 Azure Databricks 工作区时,Azure 门户会自动包含两个专用链接字段(公用网络访问和必需的 NSG 规则)。

  1. 使用你自己的 VNet(VNet 注入)创建工作区。 若要配置子网并调整其大小,请按照在 Azure 虚拟网络中部署 Azure Databricks(VNet 注入)中的工作区过程进行操作,但不要按“创建”。

    设置以下字段:

    1. 将“定价层”设置为 premium,否则你不会在 UI 中看到专用链接字段。
    2. 将“网络”>“使用安全群集连接(无公共 IP)部署 Azure Databricks 工作区”设置为“是”。
    3. 将“网络”>“在自己的虚拟网络(VNet)中部署 Azure Databricks 工作区”设置为“是”。
    4. 根据在上一步中创建的 VNet 设置子网。 有关详细信息,请参阅有关 VNet 注入的文章。
    5. 根据步骤 3:预配 Azure Databricks 工作区和专用终结点的表中的方案设置专用链接工作区字段“公用网络访问”和“必需的 Nsg 规则”。

    以下屏幕截图显示了专用链接连接最重要的四个字段。

    Azure 门户的工作区 UI。

  2. 创建用于后端连接的专用终结点:

    1. 查找上一屏幕截图中显示的字段下方的“专用终结点”部分。 如果未看到这么内容,则可能未将“定价层”设置为“高级”。

      Azure 门户的专用终结点列表,显示为空。

    2. 单击“+ 添加”。

      Azure 门户显示创建工作区中的“创建专用终结点”边栏选项卡。

      用于创建专用终结点的 Azure 门户边栏选项卡

      从工作区中创建专用终结点时,此对象类型的某些 Azure 字段不会显示,因为它们是自动填充且不可编辑的。 某些字段是可见的,但不需要编辑:

      • “Azure Databricks 子资源”字段可见,并会自动填充值“databricks_ui_api”。 该子资源值表示工作区的当前 Azure Databricks 控制平面。 此子资源名称值用于专用终结点以实现后端和前端连接。

      • 设置资源组、VNet 和子网后,如果你使用 Azure 创建的内置 DNS 而不是自定义 DNS,那么专用 DNS 区域会自动填充一个值。

        重要

        Azure 可能不会自动选择你想要使用的专用 DNS区域。 请查看“专用 DNS 区域”字段的值,并根据需要对其进行修改。

    3. 设置“位置”以匹配工作区区域。 请注意,对于后端专用终结点,区域和工作区区域必须匹配,即使对于前端专用终结点连接,区域不需要相匹配。

    4. 将“虚拟网络”设置为工作区 VNet。

    5. 将子网设置为工作区中的特定于专用链接的子网。 有关信息,请参阅网络要求

    6. 对于内置 Azure DNS 的典型用法,请将“与专用 DNS 区域集成”设置为“是”。 这些说明的其余部分假定你选择了“是”。

      如果组织维护其自己的自定义 DNS,你可能希望将此项设置为“否”,但在继续操作之前,请查看这篇关于 DNS 配置的 Azure 文章。 如有疑问,请联系 Azure Databricks 帐户团队。

    7. 单击“确定”以创建专用终结点并返回到工作区创建边栏选项卡。

    8. 只能直接从工作区创建流中创建一个专用终结点。 若要从传输 VNet 中创建单独的前端专用终结点,则需要创建一个额外的专用终结点,但需要在部署工作区后执行此操作。

      若要完成工作区的创建,请单击“查看 + 创建”,然后单击“创建”。

      等待工作区部署完成,然后单击“转到资源”。 这是 Azure Databricks 工作区的 Azure 门户对象。 请考虑将此资源固定到 Azure 仪表板,以便轻松访问它。

  3. 创建一个额外的前端专用终结点,以将传输 VNet 连接到 Azure Databricks 控制平面:

    1. 在 Azure 门户中的工作区对象中,单击“网络”。
    2. 单击“专用终结点连接”选项卡。
    3. 单击“+ 专用终结点”。
    4. 将资源组设置为用于前端连接的资源组。
    5. 对于“区域”,前端专用终结点 必须与传输 VNet 位于同一区域,但可以与工作区或控制平面位于不同的区域。

使用自定义模板创建工作区,并可选择添加前端专用终结点

如果不想使用标准 Azure 门户 UI 创建工作区,可以使用模板来部署工作区。 可以将模板与以下内容结合使用:

专用链接的一体化部署 ARM 模板创建以下资源:

  • 网络安全组

  • 资源组

  • VNet,包括工作区的子网(两个标准子网)和专用链接的子网(额外的子网)

  • Azure Databricks 工作区

  • 具有专用 DNS 区域的后端专用链接终结点

    备注

    该模板不会从传输 VNet 中创建前端终结点。 创建工作区后,可以手动添加该终结点。

  1. 可以直接从模板的主页部署模板。

  2. 若要直接部署它,请单击“在 Azure 上部署”。 若要查看源,请单击“在 GitHub 上浏览”。

    在这两种情况下,为模板设置以下参数值:

    • pricingTier 设置为 premium。 如果将此项保留为 standard,Azure 门户将隐藏特定于专用链接的配置字段。
    • enableNoPublicIp 设置为 true
    • 根据步骤 3:预配 Azure Databricks 工作区和专用终结点中的表设置 publicNetworkAccessrequiredNsgRules
    • networkSecurityGroup 设置为工作区 NSG 的 ID。
  3. 等待工作区部署。

  4. 导航到表示工作区的新 **Azure Databricks 服务资源。 这是 Azure Databricks 工作区的 Azure 门户对象。 请考虑将此资源固定到 Azure 仪表板,以便轻松访问它。

  5. (仅前端专用链接)创建到传输 VNet 的前端连接:

    1. 在左侧导航中,单击“设置”>“网络”。
    2. 单击“专用终结点连接”选项卡。
    3. 单击“+ 专用终结点”。
    4. 将资源组设置为用于前端连接的资源组。
    5. 对于“区域”,前端专用终结点 必须与传输 VNet 位于同一区域,但可以与工作区或控制平面位于不同的区域。

步骤 4:创建专用终结点以支持用于 Web 浏览器访问的 SSO

重要

如果不实现前端专用链接,请跳过此步骤。 此外,如果区域中的所有工作区都支持专用链接前端连接,并且客户端网络(传输 VNet)允许公共 Internet 访问,则此步骤所述的配置为建议但可选

针对 Azure Databricks Web 应用程序的用户身份验证使用 OAuth 作为 Microsoft Entra ID(前 Azure Active Directory)SSO 实现的一部分。 在身份验证过程中,用户浏览器连接到 Azure Databricks 控制平面。 此外,OAuth 流需要从 Microsoft Entra ID 进行网络回调重定向。 如果配置了前端专用链接,在没有其他配置的情况下,SSO 网络重定向将失败。 这意味着传输 VNet 中的用户无法向 Azure Databricks 进行身份验证。 请注意,此问题也存在于通过前端连接进行的 Web 应用程序 UI 用户登录,但在 REST API 连接中不存在,因为 REST API 身份验证不使用 SSO 回调。

要支持 Web 浏览器身份验证,如果你的客户端网络(传输 VNet不允许对公共 Internet 的访问,则你必须创建浏览器身份验证专用终结点以支持单一登录 (SSO) 身份验证回调。 浏览器身份验证专用终结点是具有名为 browser_authentication 的子资源的专用终结点。 创建浏览器身份验证专用终结点会导致 Azure Databricks 在 SSO 登录期间自动为 Microsoft Entra ID 的回调配置 DNS 记录。 默认情况下,DNS 更改是在与工作区 VNet 关联的专用 DNS 区域中进行的。

对于具有多个工作区的组织,请务必了解正确配置的网络配置正是每个专用 DNS 区域的每个 Azure Databricks 区域的一个浏览器身份验证专用终结点。 浏览器身份验证专用终结点为区域中共享相同专用 DNS 区域的所有专用链接工作区配置专用 Web 身份验证。

例如,如果你在 China East 2 区域中有 10 个共享相同专用 DNS 区域的生产工作区,那么你将有一个支持这些工作区的浏览器身份验证专用终结点。

重要

  • 如果有人删除托管该区域的浏览器身份验证专用终结点的工作区,则会中断该区域中依赖于该浏览器身份验证专用终结点和相关 DNS 配置进行 SSO 回调的任何其他工作区的用户 Web 身份验证。
  • 为了降低删除工作区的风险,并鼓励对生产工作区使用标准工作区配置,Databricks 强烈建议为每个区域创建一个专用 Web 身份验证工作区。
  • 对于非生产部署,可以通过省略其他专用 Web 身份验证工作区来简化实现。 在这种情况下,Web 身份验证终结点将连接到该区域中的其他工作区之一。

专用 Web 身份验证工作区是在 Azure Databricks 工作区所在的同一区域中创建的工作区,其唯一用途是托管从特定传输 VNet 到该区域中实际生产 Azure Databricks 工作区的浏览器身份验证专用终结点连接。 在所有其他方面,专用 Web 身份验证工作区不用于任何操作,例如不要将其用于运行作业或其他工作负载。 它不需要除浏览器身份验证专用终结点以外的任何实际用户数据或传入网络连接。 可以将它配置为没有用户访问权限。 通过将工作区设置“公用网络访问”设置为“已禁用”,并且不为工作区创建任何前端专用终结点,用户将无权登录到工作区。

若要直观显示专用 Web 身份验证工作区如何与其他对象配合使用以实现专用链接连接,请参阅本文前面的关系图

专用 Web 身份验证工作区用作用于区域中所有工作区的回调服务,以在登录期间进行用户 SSO。 登录到常规工作区后,在下一次登录之前不会使用专用 Web 身份验证工作区。

无论你是否选择创建专用 Web 身份验证工作区,都必须在区域中选择一个将托管浏览器身份验证专用终结点目标的工作区。 在 Azure 门户中,选择一个包含浏览器身份验证专用终结点的 Azure Databricks 工作区对象。 在运行时,实际的网络访问是从你的传输 VNet 到 Microsoft Entra ID。 使用 Microsoft Entra ID 成功登录后,用户的 Web 浏览器会重定向到正确的控制平面实例。

提示

如果你有多个共享一个专用 DNS 配置的工作区,Databricks 强烈建议使用专用 Web 身份验证工作区配置。 可以在以下任一条件下选择省略专用 Web 身份验证工作区:

  • 区域中只有一个工作区,并且你确信以后不会添加更多工作区。
  • 你确信不需要删除任何工作区。
  • 非生产部署。

在上述任一情况下,请省略专用 Web 身份验证工作区,并转而选择某个生产工作区来托管浏览器身份验证专用终结点。 但是,请注意存在的风险,即最终删除该工作区后,将立即阻止 Azure 区域中具有前端专用链接支持的其他工作区的用户身份验证。

若要创建专用终结点以支持 SSO,请执行以下操作:

  1. 建议(可选)步骤:创建一个专用 Web 身份验证工作区以托管 Web 身份验证服务。

    1. 创建用于托管专用 Web 身份验证工作区的资源组。 为已在其中部署 Azure Databricks 工作区的每个区域创建一个资源组。

    2. 为已在其中部署 Azure Databricks 工作区的每个区域创建一个专用 Web 身份验证工作区。

      • 可以使用 Azure 门户、Azure CLI、Powershell 或 Terraform 创建新的 Azure Databricks 工作区。
      • 将层设置为“高级”。
      • 将工作区名称设置为 WEB_AUTH_DO_NOT_DELETE_<region> 以确保它不会被删除。
      • 将“必需的 NSG 规则”(requiredNsgRules) 设置为值 NoAzureDatabricksRules
      • 将“安全群集连接(NPIP)”(disablePublicIp) 设置为“已启用”。
      • 在其他生产工作区所在的同一区域中创建工作区。
      • 使用 VNet 注入。 创建或使用与用作主工作区 VNet 的 VNet 不同的 VNet。
      • 将“公用网络访问”(publicNetworkAccess) 设置为“已禁用”。
      • 请勿在此工作区中放置任何 Azure Databricks 工作负载。
      • 请勿添加除浏览器身份验证专用终结点以外的任何专用终结点。 例如,请勿创建任何具有子资源 databricks_ui_api 的专用终结点,这将启用不必要的与工作区的前端或后端连接。

      有关使用 VNet 注入部署工作区的详细信息,请参阅在 Azure 虚拟网络中部署 Azure Databricks(VNet 注入)

      若要创建工作区,可以使用标准的一体化 ARM 模板,并遵循上面列出的针对工作区配置的要求。

    3. 创建专用 Web 身份验证工作区后,对其设置锁以防止工作区被删除。 导航到 Azure 门户中的 Azure Databricks 服务实例。 在左侧导航栏中,单击“锁”。 单击“+添加”。 将“锁类型”设置为“删除”。 对锁进行命名。 单击“确定”。

      锁定工作区。

  2. 在 Azure 门户中,导航到表示工作区的 Azure Databricks 服务实例。

    • 如果要使用专用 Web 身份验证工作区,请转到表示专用 Web 身份验证工作区的 Azure Databricks 服务实例对象。
    • 如果不使用专用 Web 身份验证工作区,请选择一个将托管 Web 身份验证专用终结点的工作区。 请记住,删除该工作区将删除该区域中使用专用链接前端连接的所有其他工作区所需的 DNS 记录。 在 Azure 门户中,打开此工作区的“Azure Databricks 服务实例”边栏选项卡。
  3. 转到“设置”>“网络”>“专用终结点连接”。

  4. 单击“+ 添加”按钮,为此工作区创建专用终结点。

  5. Azure 门户显示创建工作区流中的“创建专用终结点”边栏选项卡。

    创建专用终结点。

  6. 在“资源”步骤中,将“目标子资源”字段设置为“browser_authentication”。

    请注意,“资源类型”和“资源”字段会自动引用你正在编辑的 Azure Databricks 服务工作区实例。

    设置浏览器身份验证子资源

  7. 在“虚拟网络”步骤中:

    设置专用终结点 VNet。

    • 将“虚拟网络”设置为传输 VNet。
    • 将“子网”设置为传输 VNet 中的特定于专用链接的子网。 此子网不得是用于 VNet 注入的标准子网之一。 如果尚未创建该子网,请立即在另一个浏览器窗口中执行此操作。 有关信息,请参阅网络要求
  8. 在“DNS”步骤中:

    设置专用终结点 DNS。

    • 对于内置 Azure DNS 的典型用法,请将“与专用 DNS 区域集成”设置为“是”。

      如果组织维护其自己的自定义 DNS,你可以将“与专用 DNS 区域集成”设置为“否”,但在继续操作之前,请阅读这篇关于 DNS 配置的 Azure 文章。 如有疑问,请联系 Azure Databricks 帐户团队。

      本文的其余说明假定你选择了“是”。

    • 验证是否已将“资源组”字段设置为正确的资源组。 它可能已预填充为正确的资源组,但不能保证这一点。 将其设置为与前端专用终结点相同的 VNet。

      重要

      这是会出现错误配置的常见步骤,因此请谨慎执行此步骤。

  9. 单击“确定”以创建专用终结点。

  10. 如果你集成了内置 Azure DNS,现在可以确认 DNS 是通过由你创建的浏览器身份验证专用终结点自动配置的。 例如,如果你查看专用 DNS 区域,将看到一个或多个名称以 .pl-auth 结尾的新的 A 记录。 这些记录表示区域中每个控制平面实例的 SSO 回调。 如果该区域有多个 Azure Databricks 控制平面实例,则会有多条 A 记录。

    确认 DNS 配置。

自定义 DNS

如果使用自定义 DNS,必须确保配置适当的 DNS 配置以支持 SSO 身份验证回调。 要获取指导,请联系 Azure Databricks 客户团队。

如果你使用的是前端专用终结点,并且用户从已启用自定义 DNS 的传输 VNet 访问 Azure Databricks 工作区,那么你必须启用工作区的专用终结点 IP 地址才能使用工作区 URL 访问工作区。

可能需要配置 Azure 的条件转发,或在自定义 DNS(本地或内部 DNS)中为工作区 URL 创建 DNS A 记录。 有关如何启用对已启用专用链接服务的访问的详细说明,请参阅 Azure 专用终结点 DNS 配置

例如,如果直接将资源 URL 映射到内部 DNS 中的前端专用终结点 IP 地址,则需要两个条目:

  • 一条 DNS A 记录将每工作区 URL (adb-1111111111111.15.databricks.azure.cn) 映射到前端专用终结点 IP 地址。

  • 一条或多条 DNS A 记录将 Microsoft Entra ID OAuth 流回复 URL 映射到前端专用终结点 IP 地址,例如 chinaeast2.pl-auth.databricks.azure.cn。 由于一个区域可能具有多个控制平面实例,因此你可能需要添加多条 A 记录,每条记录对应一个控制平面实例。

    注意

    如果使用的是自定义 DNS,请联系 Azure Databricks 客户团队,来获取一组必须用于你所在区域的控制平面实例域。 某些区域有多个控制平面实例。

除工作区专用终结点访问所需的单个 A 记录之外,还必须为每个区域配置至少一组 OAuth (browser_authentication) DNS 记录。 这提供了跨 OAuth 访问该区域中所有工作区的专用客户端访问权限,因为控制平面的 browser_authentication 专用终结点在该区域中的工作区之间共享。

或者,如果允许访问公用 Internet,并且由于通用 DNS 而导致为所有业务部门共享单个用户到工作区专用终结点 IP 地址成为一个问题,那么你可以允许 OAuth 流量通过公用网络流出。

准备好这些配置后,你应该能够访问 Azure Databricks 工作区并启动工作负载的群集。

步骤 5:对工作区进行用户 SSO 身份验证测试

必须对新工作区进行身份验证测试。 对于首次身份验证尝试,请从 Azure 门户内启动工作区。 在工作区对象上,有一个“启动工作区”按钮,此按钮很重要。 单击此按钮后,Azure Databricks 会尝试登录到工作区并预配初始工作区管理员用户帐户。 请务必进行身份验证测试,以确保工作区正常工作。

  1. 单击“启动工作区”按钮。

  2. 测试来自传输 VNet 或与其对等互连的网络位置的网络访问。 例如,如果本地网络有权访问传输 VNet,则可以从本地网络检查用户 SSO。 确认从测试网络到传输子网的网络访问。

    • 如果启用了前端专用链接,则需要测试是否从传输 VNet 成功执行了身份验证。 如果你已使用 ExpressRoute 或 VPN 将本地网络连接到传输 VNet,并且作为用户,你位于可连接到传输 VNet 的可路由位置,则可通过从当前网络登录来进行 Azure Databricks 身份验证测试。

    如果你不位于可访问传输子网的网络位置,则可通过在传输子网或可访问它的网络位置中创建虚拟机来测试连接。 例如,使用 Windows 10 虚拟机:

    1. 转到 Azure 门户中的虚拟机边栏选项卡
    2. 在测试 VNet 和子网中创建 Windows 10 虚拟机。
    3. 使用 RDP 客户端(如 Microsoft 远程桌面)连接到该虚拟机。
  3. 在 VM 或其他测试计算机中,使用 Web 浏览器连接到 Azure 门户并启动工作区。

    1. 在 Azure 门户中,找到 Azure Databricks 工作区对象。
    2. 单击“启动工作区”以启动一个窗口标签页,该标签页使用用于登录到 Azure 门户的用户 ID 登录到 Azure Databricks。
    3. 确认登录成功。

身份验证故障排除

错误:如果看到消息“配置的隐私设置禁止通过当前网络访问工作区 <your-workspace-id>。 请联系管理员以了解详细信息。”

此错误可能意味着:

  • 你正通过公共 Internet(而不是从专用链接连接)连接到工作区。
  • 你已将工作区配置为不支持公用网络访问。

查看本部分前面的步骤。

错误:“浏览器失败,错误代码为 DNS_PROBE_FINISHED_NXDOMAIN”

此错误意味着用户登录 Azure Databricks Web 应用程序失败,因为它找不到目标区域中 Azure Databricks 控制平面实例的适当 DNS 配置。 找不到指向 <control-plane-instance-short-name>.pl-auth 名称的DNS 记录。 你可能错误地配置了浏览器身份验证专用终结点。 仔细回顾步骤 4:创建专用终结点以支持用于 Web 浏览器访问的 SSO 这部分内容。 如有疑问,请联系 Azure Databricks 客户团队。

如果添加了后端专用链接连接,请务必测试其是否正常运行。 仅登录到 Azure Databricks Web 应用程序并不会测试后端连接。

重要

如果你使用或打算使用 VNet 周围的网络安全组或防火墙来控制流出量,则必须在专用终结点子网上为流出量打开端口 443、6666、3306 和 8443-8451 以连接到 Azure Databricks 控制平面(包括安全群集连接中继)。

  1. 如果尚未登录到 Azure Databricks 工作区,请使用工作区 URL 或通过 Azure 门户的 Azure Databricks 服务实例中的“启动工作区”按钮再次登录。

  2. 在左侧导航中,单击“计算”

  3. 单击“创建群集”,键入群集名称,然后单击“创建群集”。 有关创建群集的详细信息,请参阅计算配置参考

    等待群集成功启动。 此过程可能需要几分钟时间。 刷新页面以获取最新状态。

    如果无法启动,请在群集页上单击“事件日志”,并查看最新条目。 对于典型的专用链接配置错误,事件日志在等待 10-15 分钟后会包含类似于以下内容的错误:

    Cluster terminated. Reason: Control Plane Request Failure
    

    如果收到此错误,请仔细重新查看本文中的说明。 如有疑问,请联系 Azure Databricks 客户团队。

如何删除具有专用终结点的 Azure Databricks 工作区

重要

如果使用的是推荐的可选部署样式,该样式使用专用 Web 身份验证工作区,则一定不要删除该工作区或与该工作区关联的浏览器身份验证专用终结点。 请参阅步骤 4:创建专用终结点以支持用于 Web 浏览器访问的 SSO

如果 Azure Databricks 工作区具有任何专用终结点,Azure 将阻止删除该工作区。

重要

在尝试删除 Azure Databricks 工作区之前,必须删除专用终结点。

  1. 在 Azure 门户中,打开表示工作区的 Azure Databricks 服务实例。
  2. 在左侧导航中,单击“设置”>“网络”。
  3. 单击“专用终结点连接”选项卡。
  4. 如果不使用专用 Web 身份验证工作区,请检查组织是否将此工作区用作 OAuth CNAME 链接以及将其与使用同一控制平面实例的其他工作区共享。 如果是这样,在删除可能依赖于此工作区中的 CNAME 的任何专用终结点之前,请配置其他工作区的网络对象,以确保 CNAME 仍指向另一个工作区的有效区域 A 记录。 请参阅步骤 4:创建专用终结点以支持用于 Web 浏览器访问的 SSO
  5. 对于每个专用终结点,请选择该行,然后单击“删除”图标。 单击“是”以确认删除 。

完成后,即可从 Azure 门户中删除该工作区。

查看待审批或批准挂起的专用终结点

如果为传输 VNet 创建专用终结点的 Azure 用户对工作区不具有所有者/参与者权限,则对工作区具有所有者/参与者权限的单独用户必须手动批准专用终结点创建请求,然后才能启用该终结点。

连接状态包括:

  • 已批准:终结点已获得批准,无需执行进一步操作。
  • 挂起:终结点需要获得对工作区具有所有者/参与者权限的用户的批准。
  • 已断开:由于删除了此连接的相关对象,因此终结点已断开连接。
  • 已拒绝:终结点被拒绝。

检查连接状态:

  1. 在 Azure 门户中,导航到包含最近创建的一个或多个专用终结点的工作区。

  2. 单击“网络”

  3. 单击“专用终结点连接”选项卡。

  4. 在终结点列表中,查看“连接状态”列。

    • 如果它们都具有连接状态值“已批准”,则无需执行任何操作来批准专用终结点。
    • 如果任一终结点的值为“挂起”,则需要获得对工作区具有所有者/参与者权限的人员的批准。
  5. 如果你对工作区具有所有者/参与者权限:

    1. 选择挂起的一个或多个终结点行。

    2. 如果批准连接,请单击“批准”按钮。

      如果不批准连接,请单击“拒绝”按钮。

    如果你没有工作区的所有者/参与者权限,请联系工作区管理员以批准连接。