Povolení back-endových a front-endových připojení služby Azure Private Link

Tento článek shrnuje použití služby Azure Private Link k povolení privátního připojení mezi uživateli a jejich pracovními prostory Databricks a také mezi clustery v klasické výpočetní rovině a základními službami v řídicí rovině v infrastruktuře pracovního prostoru Databricks.

Tato funkce nemění síťový přístup pro bezserverové sklady SQL. Existuje však samostatná funkce pro řízení síťového přístupu ze služby SQL Warehouse ke zdrojům dat. Viz Konfigurace privátního připojení z bezserverového výpočetního prostředí.

Přehled

Private Link poskytuje privátní připojení z virtuálních sítí Azure a místních sítí ke službám Azure bez vystavení provozu do veřejné sítě. Azure Databricks podporuje následující typy připojení Private Link:

  • Front-end Private Link, označovaný také jako uživatel pracovního prostoru: Připojení služby Private Link front-end umožňuje uživatelům připojit se k webové aplikaci Azure Databricks, rozhraní REST API a Databricks Připojení ROZHRANÍ API přes koncový bod rozhraní virtuální sítě. Front-endové připojení také používá integrace JDBC/ODBC a Power BI. Síťový provoz pro front-endové připojení Private Link mezi tranzitní virtuální sítí a řídicí rovinou Azure Databricks pracovního prostoru prochází páteřní sítí Microsoftu.
  • Back-end Private Link, označovaný také jako rovina výpočetních prostředků k řídicí rovině: Clustery Databricks Runtime ve virtuální síti spravované zákazníkem se připojují k základním službám pracovního prostoru Azure Databricks (řídicí rovina) v cloudovém účtu Azure Databricks. To umožňuje privátní připojení z clusterů ke koncovému bodu přenosového přenosu zabezpečeného připojení clusteru a koncovému bodu rozhraní REST API.
  • Privátní koncový bod ověřování prohlížeče: Pokud chcete podporovat privátní front-endová připojení k webové aplikaci Azure Databricks pro klienty, kteří nemají připojení k veřejnému internetu, musíte přidat privátní koncový bod ověřování prohlížeče pro podporu zpětného volání pro jednotné přihlašování do webové aplikace Azure Databricks z Microsoft Entra ID (dříve Azure Active Directory). Pokud povolíte připojení z vaší sítě k veřejnému internetu, doporučujeme přidat privátní koncový bod ověřování prohlížeče, ale nevyžaduje se. Privátní koncový bod ověřování prohlížeče je privátní připojení s typem browser_authenticationdílčího prostředku .

Pokud implementujete službu Private Link pro front-endová i back-endová připojení, můžete volitelně vázat privátní připojení pro pracovní prostor, což znamená, že Azure Databricks odmítne všechna připojení přes veřejnou síť. Pokud odmítnete implementovat oba typy připojení front-endu nebo back-endu, nemůžete tento požadavek vynutit.

Většina tohoto článku se zabývá vytvořením nového pracovního prostoru, ale v existujícím pracovním prostoru můžete službu Private Link povolit nebo zakázat. Viz Povolení nebo zakázání služby Azure Private Link v existujícím pracovním prostoru.

Terminologie

Následující tabulka popisuje důležitou terminologii.

Terminologie Popis
Azure Private Link Technologie Azure, která poskytuje privátní připojení z virtuálních sítí Azure a místních sítí ke službám Azure bez vystavení provozu do veřejné sítě.
Služba Azure Private Link Služba, která může být cílem připojení Private Link. Každá instance řídicí roviny Azure Databricks publikuje službu Azure Private Link.
Privátní koncový bod Azure Privátní koncový bod Azure umožňuje privátní připojení mezi virtuální sítí a službou Private Link. Pro front-endové a back-endové připojení je cílem privátního koncového bodu Azure řídicí rovina Azure Databricks.

Obecné informace oprivátních

Volba standardního nebo zjednodušeného nasazení

Existují dva typy nasazení Služby Private Link, které Azure Databricks podporuje, a musíte zvolit jednu:

  • Standardní nasazení (doporučeno):: Pro lepší zabezpečení doporučuje Služba Databricks použít samostatný privátní koncový bod pro připojení front-endu od samostatné tranzitní virtuální sítě. Můžete implementovat připojení private linku front-end i back-end nebo jenom back-endové připojení. K zapouzdření uživatelského přístupu použijte samostatnou virtuální síť, která je oddělená od virtuální sítě, kterou používáte pro výpočetní prostředky v klasické výpočetní rovině. Vytvořte samostatné koncové body Služby Private Link pro back-endový a front-endový přístup. Postupujte podle pokynů v tématu Povolení služby Azure Private Link jako standardního nasazení.
  • Zjednodušené nasazení: Některé organizace nemůžou standardní nasazení používat z různých důvodů zásad sítě, jako je zakázání více než jednoho privátního koncového bodu nebo zakázání samostatných přenosových virtuálních sítí. Můžete také použít zjednodušené nasazení služby Private Link. Žádná samostatná virtuální síť odděluje přístup uživatelů od virtuální sítě, kterou používáte pro výpočetní prostředky v klasické výpočetní rovině. Místo toho se pro uživatelský přístup používá tranzitní podsíť ve virtuální síti výpočetní roviny. Existuje pouze jeden koncový bod private linku. Obvykle se konfiguruje připojení front-endu i back-endu. Volitelně můžete nakonfigurovat pouze back-endové připojení. V tomto typu nasazení nelze použít pouze front-endová připojení. Postupujte podle pokynů v části Povolení služby Azure Private Link jako zjednodušeného nasazení.

Požadavky

Předplatné Azure

Váš pracovní prostor Azure Databricks musí být na úrovni Premium nebo Enterprise.

Síťová architektura pracovního prostoru Azure Databricks

  • Váš pracovní prostor Azure Databricks musí pomocí injektáže virtuální sítě přidat jakékoli připojení Private Link (dokonce i připojení pouze front-end).
  • Pokud implementujete připojení Private Link back-endu, váš pracovní prostor Azure Databricks musí používat zabezpečené připojení ke clusteru (SCC / žádná veřejná IP adresa / NPIP).
  • Potřebujete virtuální síť, která splňuje požadavky injektáže virtuální sítě.
    • Jak je popsáno v článku o injektáži hlavní virtuální sítě, musíte definovat dvě podsítě (označované v uživatelském rozhraní jako veřejná podsíť a privátní podsíť). Rozsahy IP adres virtuální sítě a podsítě, které používáte pro Azure Databricks, definují maximální počet uzlů clusteru, které můžete použít najednou. Tyto hodnoty vyberte pečlivě.
    • Pokud chcete implementovat privátní propojení front-end, back-end Private Link nebo obojí, potřebuje vaše virtuální síť pracovního prostoru třetí podsíť, která obsahuje koncový bod služby Private Link a jeho rozsah IP adres, se nesmí překrývat s rozsahem podsítí vašeho jiného pracovního prostoru. Tento článek se týká této třetí podsítě jako podsítě privátního koncového bodu. Příklady a snímky obrazovky předpokládají název private-linkpodsítě . To může být tak malé jako rozsah /27CIDR . Nedefinujte žádná pravidla NSG pro podsíť, která obsahuje privátní koncové body.
    • Pokud k vytváření objektů používáte uživatelské rozhraní, musíte před vytvořením pracovního prostoru Azure Databricks vytvořit síť a podsítě ručně. Pokud chcete použít šablonu, vytvoří šablona, kterou Azure Databricks poskytuje, virtuální síť a odpovídající podsítě, včetně těchto dvou běžných podsítí a dalších pro privátní koncové body.
  • Pokud k řízení výchozího přenosu dat používáte skupinu zabezpečení sítě nebo bránu firewall, musíte povolit porty 443, 6666, 3306 a 8443-8451 v podsíti privátního koncového bodu pro odchozí přenos dat pro připojení k řídicí rovině Azure Databricks, včetně zabezpečeného přenosu připojení ke clusteru. Pokud máte v privátním koncovém bodu povolené zásady skupin zabezpečení sítě, musíte také povolit porty 443, 6666 a 8443-8451 pro příchozí přenos dat ve skupině zabezpečení sítě v podsíti, ve které je nasazený privátní koncový bod.

Architektura sítě připojení front-endu

Aby uživatelé měli přístup k pracovnímu prostoru z vaší místní sítě, musíte přidat privátní připojení z této sítě k síti Azure. Před konfigurací služby Private Link přidejte toto připojení. Podrobnosti se liší podle toho, jestli zvolíte standardní nasazení Private Linku nebo zjednodušené nasazení.

  • Pro standardní nasazení byste vytvořili nebo použili existující tranzitní virtuální síť, někdy označovanou jako virtuální síť bastionu nebo virtuální síť centra. Tato virtuální síť musí být dostupná z místního uživatelského prostředí pomocí ExpressRoute nebo připojení brány VPN. Pro front-end Private Link doporučuje Databricks vytvořit samostatnou virtuální síť pro připojení k řídicí rovině místo sdílení virtuální sítě pracovního prostoru. Mějte na paměti, že tranzitní virtuální síť a její podsíť můžou být ve stejné oblasti, zóně a skupině prostředků jako virtuální síť pracovního prostoru a její podsítě, ale nemusí se shodovat. Vytvořte skupinu prostředků pro samostatnou tranzitní virtuální síť a pro tento privátní koncový bod použijte jinou privátní zónu DNS. Pokud používáte dva samostatné privátní koncové body, nemůžete zónu DNS sdílet.
  • Pro zjednodušené nasazení vytvoříte ve virtuální síti pracovního prostoru tranzitní podsíť. V tomto nasazení nemá podsíť přenosu samostatný privátní koncový bod. Podsíť přenosu ve virtuální síti pracovního prostoru používá jeden privátní koncový bod pro back-endová i front-endová připojení.

Uživatelská oprávnění Azure

Jako uživatel Azure musíte mít dostatečná oprávnění ke čtení a zápisu pro:

  • Zřízení nového pracovního prostoru Azure Databricks
  • Vytvořte koncové body Služby Azure Private Link ve virtuální síti pracovního prostoru a také (pro front-endové využití) vaší tranzitní virtuální sítě.

Pokud uživatel, který vytvořil privátní koncový bod pro tranzitní virtuální síť, nemá oprávnění vlastníka nebo přispěvatele k pracovnímu prostoru, musí žádost o vytvoření privátního koncového bodu ručně schválit samostatný uživatel s oprávněními vlastníka nebo přispěvatele pro tento pracovní prostor.

Ve stávajícím pracovním prostoru můžete povolit Private Link. Upgrade vyžaduje, aby pracovní prostor používal injektáž virtuální sítě, zabezpečené připojení ke clusteru a cenovou úroveň Premium. Přechod na zabezpečené připojení ke clusteru a na cenovou úroveň Premium můžete provést v rámci aktualizace.

Můžete použít šablonu ARM nebo azurerm poskytovatele Terraformu verze 3.41.0+. Pomocí webu Azure Portal můžete použít vlastní šablonu a upravit parametr v uživatelském rozhraní. V samotné instanci pracovního prostoru Azure Databricks ale není k dispozici žádná podpora uživatelského rozhraní webu Azure Portal.

Pokud se s upgradem něco nepovede, můžete krok aktualizace pracovního prostoru zopakovat, ale místo toho nastavte pole tak, aby zakázala službu Private Link.

I když se tato část zaměřuje na povolení služby Private Link v existujícím pracovním prostoru, můžete ji zakázat v existujícím pracovním prostoru pomocí stejného volání aktualizace pracovního prostoru pomocí šablony ARM nebo aktualizace Terraformu. Podrobnosti najdete v kroku 4: Použití aktualizace pracovního prostoru.

Krok 1: Přečtěte si požadavky a dokumentaci na této stránce

Než se pokusíte upgradovat na Službu Private Link, měli byste si přečíst důležité koncepty a požadavky:

  1. Než budete pokračovat, přečtěte si tento článek, včetně konceptů a požadavků.
  2. Určete, jestli chcete použít standardní nebo zjednodušené nasazení.
  3. Na stránce pro standardní nasazení nebo zjednodušené nasazení (podle toho, který přístup používáte), pečlivě zkontrolujte stránku včetně různých scénářů. Vyhledejte scénář, který odpovídá vašemu případu použití. Poznamenejte si, pro které hodnoty chcete použít publicNetworkAccess , a requiredNsgRules. Pro doporučenou konfiguraci front-endu i back-endu Private Linku s uzamčeným připojením front-endu použijte nastavení publicNetworkAccess=Disabled a requiredNsgRules=NoAzureDatabricksRules

Krok 2: Zastavení všech výpočetních prostředků

Před pokusem o tento upgrade je nutné zastavit všechny výpočetní prostředky, jako jsou clustery, fondy nebo klasické služby SQL Warehouse. Není možné spustit žádné výpočetní prostředky pracovního prostoru nebo pokus o upgrade selže. Databricks doporučuje naplánovat načasování upgradu na dobu výpadku.

Důležité

Během aktualizace se nepokoušejte spustit žádné výpočetní prostředky. Pokud Azure Databricks zjistí, že se spustily výpočetní prostředky (nebo se stále spouští), Azure Databricks je po aktualizaci ukončí.

Krok 3: Vytvoření podsítě a privátních koncových bodů

  1. Přidejte do virtuální sítě pracovního prostoru podsíť pro privátní koncové body back-endu.

  2. Otevřete článek pro standardní nasazení nebo zjednodušené nasazení (podle toho, jaký přístup používáte).

    Podle pokynů na této stránce vytvořte privátní koncové body, které odpovídají vašemu typu nasazení.

  3. Před aktualizací pracovního prostoru vytvořte všechny privátní koncové body pro podporu back-endu.

  4. Pro přístup k uživatelskému rozhraní vytvořte privátní koncový bod s podsourcem databricks_ui_api pro podporu jednotného přihlašování z vaší tranzitní virtuální sítě. Pokud máte více než jednu tranzitní virtuální síť, která přistupuje k pracovnímu prostoru pro front-endový přístup, vytvořte více privátních koncových bodů s podsourcem databricks_ui_api.

Krok 4: Použití aktualizace pracovního prostoru

Místo vytvoření nového pracovního prostoru je potřeba použít aktualizaci pracovního prostoru.

Je nutné aktualizovat publicNetworkAccess parametry na requiredNsgRules hodnoty, které jste zvolili v předchozím kroku.

Použijte jednu z těchto metod:

Použití aktualizované šablony ARM pomocí webu Azure Portal

Poznámka:

Pokud má vaše spravovaná skupina prostředků vlastní název, musíte šablonu odpovídajícím způsobem upravit. Další informace získáte od týmu účtu Azure Databricks.

  1. Zkopírujte následující kód JSON šablony ARM upgradu:

    {
       "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
       "contentVersion": "1.0.0.0",
       "parameters": {
           "location": {
               "defaultValue": "[resourceGroup().location]",
               "type": "String",
               "metadata": {
                   "description": "Location for all resources."
               }
           },
           "workspaceName": {
               "type": "String",
               "metadata": {
                   "description": "The name of the Azure Databricks workspace to create."
               }
           },
           "apiVersion": {
               "defaultValue": "2023-02-01",
               "allowedValues": [
                "2018-04-01",
                   "2020-02-15",
                   "2022-04-01-preview",
                   "2023-02-01"
               ],
               "type": "String",
               "metadata": {
                   "description": "2018-03-15 for 'full region isolation control plane' and 2020-02-15 for 'FedRAMP certified' regions"
               }
           },
           "publicNetworkAccess": {
               "defaultValue": "Enabled",
               "allowedValues": [
                   "Enabled",
                   "Disabled"
               ],
               "type": "String",
               "metadata": {
                   "description": "Whether the workspace allows access from the public Internet"
               }
           },
           "requiredNsgRules": {
               "defaultValue": "AllRules",
               "allowedValues": [
                   "AllRules",
                   "NoAzureDatabricksRules"
               ],
               "type": "String",
               "metadata": {
                   "description": "The security rules that are applied to the security group of the Vnet"
               }
           },
           "enableNoPublicIp": {
               "defaultValue": true,
               "type": "Bool"
           },
           "pricingTier": {
               "defaultValue": "premium",
               "allowedValues": [
                   "premium",
                   "standard",
                   "trial"
               ],
               "type": "String",
               "metadata": {
                   "description": "The pricing tier of workspace."
               }
           },
           "privateSubnetName": {
               "defaultValue": "private-subnet",
               "type": "String",
               "metadata": {
                   "description": "The name of the private subnet."
               }
           },
           "publicSubnetName": {
               "defaultValue": "public-subnet",
               "type": "String",
               "metadata": {
                   "description": "The name of the public subnet."
               }
           },
           "vnetId": {
               "type": "String",
               "metadata": {
                   "description": "The virtual network Resource ID."
               }
           }
       },
       "variables": {
           "managedResourceGroupName": "[concat('databricks-rg-', parameters('workspaceName'), '-', uniqueString(parameters('workspaceName'), resourceGroup().id))]",
           "managedResourceGroupId": "[subscriptionResourceId('Microsoft.Resources/resourceGroups', variables('managedResourceGroupName'))]"
        },
        "resources": [
           {
               "type": "Microsoft.Databricks/workspaces",
               "apiVersion": "[parameters('apiVersion')]",
               "name": "[parameters('workspaceName')]",
               "location": "[parameters('location')]",
               "sku": {
                   "name": "[parameters('pricingTier')]"
               },
               "properties": {
                   "ManagedResourceGroupId": "[variables('managedResourceGroupId')]",
                   "publicNetworkAccess": "[parameters('publicNetworkAccess')]",
                   "requiredNsgRules": "[parameters('requiredNsgRules')]",
                   "parameters": {
                       "enableNoPublicIp": {
                           "value": "[parameters('enableNoPublicIp')]"
                       },
                       "customVirtualNetworkId": {
                           "value": "[parameters('vnetId')]"
                       },
                       "customPublicSubnetName": {
                           "value": "[parameters('publicSubnetName')]"
                       },
                       "customPrivateSubnetName": {
                           "value": "[parameters('privateSubnetName')]"
                       }
                   }
               }
           }
       ]
    }
    
    1. Přejděte na stránku Vlastní nasazení webu Azure Portal.

    2. V editoru klikněte na Vytvořit vlastní šablonu.

    3. Vložte json pro zkopírovanou šablonu.

    4. Klikněte na Uložit.

    5. Pokud chcete povolit Službu Private Link, nastavte a requiredNsgRules nastavte publicNetworkAccess parametry podle vašeho případu použití.

      Chcete-li zakázat Službu Private Link, nastavte publicNetworkAccess hodnotu true a nastavte requiredNsgRules na AllRuleshodnotu .

    6. Pro jiná pole použijte stejné parametry, které jste použili k vytvoření pracovního prostoru, jako jsou předplatné, oblast, název pracovního prostoru, názvy podsítí, ID prostředku existující virtuální sítě.

      Důležité

      Název skupiny prostředků, název pracovního prostoru a názvy podsítí musí být identické s vaším existujícím pracovním prostorem, aby tento příkaz aktualizoval existující pracovní prostor a nevytvořil nový pracovní prostor.

    7. Klikněte na Zkontrolovat a vytvořit.

    8. Pokud neexistují žádné problémy s ověřením, klikněte na Vytvořit.

    Dokončení aktualizace sítě může trvat více než 15 minut.

Použití aktualizace pomocí Terraformu

U pracovních prostorů vytvořených pomocí Terraformu můžete pracovní prostor aktualizovat tak, aby používal službu Private Link.

Důležité

Musíte použít terraform-provider-azurerm verzi 3.41.0 nebo novější, proto podle potřeby upgradujte verzi poskytovatele Terraformu. Pokud některé z těchto nastavení změníte, pokusí se starší verze pracovní prostor znovu vytvořit.

Základní kroky jsou:

  1. Změňte následující nastavení pracovního prostoru:

    • public_network_access_enabled: Nastaveno na true (Povoleno) nebo false (Zakázáno)
    • network_security_group_rules_required: Nastavit na AllRules nebo NoAzureDatabricksRules.

    Dokončení aktualizace sítě může trvat více než 15 minut.

  2. Vytvořte privátní koncové body.

Podrobný průvodce povolením služby Private Link a vytvořením privátních koncových bodů:

Dokončení aktualizace sítě může trvat více než 15 minut.

Krok 5: Testování ověřování jednotného přihlašování uživatelů a připojení back-endu

Podrobnosti o postupu najdete na hlavní stránce nasazení:

  • Otestujte ověřování jednotného přihlašování uživatele k vašemu pracovnímu prostoru.
  • Testování připojení Private Link back-endu (vyžaduje se pro připojení back-endu)

Krok 6: Ověření aktualizace

  1. Na webu Azure Portal přejděte do instance služby Azure Databricks Service.
  2. V levém navigačním panelu pod Nastavení klepněte na položku Sítě.
  3. Ověřte, že hodnota povolit přístup k veřejné síti odpovídá hodnotě, kterou jste nastavili.
  4. Ověřte, že hodnota pro požadovaná pravidla NSG odpovídá hodnotě, kterou jste nastavili.

Obnovení při selhání

Pokud se aktualizace pracovního prostoru nezdaří, může být pracovní prostor označený jako stav selhání , což znamená, že pracovní prostor nemůže provádět výpočetní operace. Pokud chcete obnovit pracovní prostor, který selhal, zpět do stavu Aktivní , projděte si pokyny ve stavové zprávě operace aktualizace. Jakmile opravíte všechny problémy, znovu proveďte aktualizaci v pracovním prostoru, který selhal. Opakujte kroky, dokud se aktualizace úspěšně dokončí. Pokud máte dotazy, obraťte se na svůj tým účtů Azure Databricks.