Condividi tramite


Abilitare collegamento privato di Azure connessioni back-end e front-end

Questo articolo riepiloga l'uso di collegamento privato di Azure per abilitare la connettività privata tra gli utenti e le aree di lavoro di Databricks e anche tra cluster nel piano di calcolo classico e i servizi principali nel piano di controllo all'interno dell'infrastruttura dell'area di lavoro di Databricks.

Per modificare l'accesso alla rete per i data warehouse SQL serverless, vedere Configurare la connettività privata dall'ambiente di calcolo serverless.

Panoramica

collegamento privato fornisce connettività privata dalle reti virtuali di Azure e dalle reti locali ai servizi di Azure senza esporre il traffico alla rete pubblica. Azure Databricks supporta i tipi di connessione collegamento privato seguenti:

  • Collegamento privato front-end, noto anche come utente nell'area di lavoro: una connessione front-end collegamento privato consente agli utenti di connettersi all'applicazione Web di Azure Databricks, all'API REST e a Databricks Connessione API tramite un endpoint dell'interfaccia della rete virtuale. La connessione front-end viene usata anche dalle integrazioni JDBC/ODBC e Power BI. Il traffico di rete per una connessione front-end collegamento privato tra una rete virtuale di transito e il piano di controllo di Azure Databricks dell'area di lavoro attraversa la rete backbone Microsoft.
  • Back-end collegamento privato, noto anche come piano di calcolo per il controllo del piano: i cluster di Databricks Runtime in una rete virtuale gestita dal cliente (il piano di calcolo) si connettono ai servizi principali di un'area di lavoro di Azure Databricks (piano di controllo) nell'account cloud di Azure Databricks. Ciò consente la connettività privata dai cluster all'endpoint di inoltro della connettività del cluster sicuro e all'endpoint DELL'API REST.
  • Endpoint privato dell'autenticazione del browser: per supportare connessioni front-end private all'applicazione Web Azure Databricks per i client che non dispongono di connettività Internet pubblica, è necessario aggiungere un endpoint privato di autenticazione del browser per supportare i callback di accesso Single Sign-On (SSO) all'applicazione Web Azure Databricks da Microsoft Entra ID (in precedenza Azure Active Directory). Se si consentono le connessioni dalla rete a Internet pubblica, è consigliabile aggiungere un endpoint privato di autenticazione del browser, ma non obbligatorio. Un endpoint privato di autenticazione del browser è una connessione privata con tipo browser_authenticationdi risorsa secondaria.

Se si implementano collegamento privato per le connessioni front-end e back-end, è possibile richiedere facoltativamente la connettività privata per l'area di lavoro, il che significa che Azure Databricks rifiuta le connessioni sulla rete pubblica. Se si rifiuta di implementare entrambi i tipi di connessione front-end o back-end, non è possibile applicare questo requisito.

La maggior parte di questo articolo riguarda la creazione di una nuova area di lavoro, ma è possibile abilitare o disabilitare collegamento privato in un'area di lavoro esistente. Vedere Abilitare o disabilitare collegamento privato di Azure in un'area di lavoro esistente.

Terminologia

La tabella seguente descrive una terminologia importante.

Terminologia Descrizione
Collegamento privato di Azure Una tecnologia di Azure che fornisce connettività privata dalle reti virtuali di Azure e dalle reti locali ai servizi di Azure senza esporre il traffico alla rete pubblica.
servizio collegamento privato di Azure Servizio che può essere la destinazione di una connessione collegamento privato. Ogni istanza del piano di controllo di Azure Databricks pubblica un servizio collegamento privato di Azure.
Endpoint privato di Azure Un endpoint privato di Azure abilita una connessione privata tra una rete virtuale e un servizio collegamento privato. Per la connettività front-end e back-end, la destinazione di un endpoint privato di Azure è il piano di controllo di Azure Databricks.

Per informazioni generali sugli endpoint privati, vedere l'articolo Microsoft Che cos'è un endpoint privato?.

Scegliere la distribuzione standard o semplificata

Esistono due tipi di distribuzione collegamento privato supportati da Azure Databricks ed è necessario sceglierne uno:

  • Distribuzione standard (scelta consigliata): per una maggiore sicurezza, Databricks consiglia di usare un endpoint privato separato per la connessione front-end da una rete virtuale di transito separata. È possibile implementare sia connessioni front-end che back-end collegamento privato o solo la connessione back-end. Usare una rete virtuale separata per incapsulare l'accesso utente, separato dalla rete virtuale usata per le risorse di calcolo nel piano di calcolo classico. Creare endpoint collegamento privato separati per l'accesso back-end e front-end. Seguire le istruzioni in Abilitare collegamento privato di Azure come distribuzione standard.
  • Distribuzione semplificata: alcune organizzazioni non possono usare la distribuzione standard per diversi motivi dei criteri di rete, ad esempio non consentire più di un endpoint privato o discorare reti virtuali di transito separate. In alternativa, è possibile usare la distribuzione semplificata collegamento privato. Nessuna rete virtuale separata separa l'accesso utente dalla rete virtuale usata per le risorse di calcolo nel piano di calcolo classico. Viene invece usata una subnet di transito nella rete virtuale del piano di calcolo per l'accesso degli utenti. Esiste solo un singolo endpoint collegamento privato. In genere, sono configurati sia la connettività front-end che la connettività back-end. Facoltativamente, è possibile configurare solo la connessione back-end. Non è possibile scegliere di usare solo le connessioni front-end in questo tipo di distribuzione. Seguire le istruzioni in Abilitare collegamento privato di Azure come distribuzione semplificata.

Requisiti

Sottoscrizione di Azure

L'area di lavoro di Azure Databricks deve essere nel livello Premium o Enterprise.

Architettura di rete dell'area di lavoro di Azure Databricks

  • L'area di lavoro di Azure Databricks deve usare l'inserimento della rete virtuale per aggiungere qualsiasi connessione collegamento privato (anche una connessione solo front-end).
  • Se si implementa la connessione collegamento privato back-end, l'area di lavoro di Azure Databricks deve usare la connettività sicura del cluster (SCC/No Public IP/NPIP).If you implement the back-end collegamento privato connection, your Azure Databricks workspace must use secure cluster connectivity (SCC/ No Public IP/NPIP).
  • È necessaria una rete virtuale che soddisfi i requisiti dell'inserimento della rete virtuale.
    • Come descritto nell'articolo principale sull'inserimento della rete virtuale, è necessario definire due subnet , definite nell'interfaccia utente come subnet pubblica e subnet privata. Gli intervalli IP della rete virtuale e della subnet usati per Azure Databricks definiscono il numero massimo di nodi del cluster che è possibile usare contemporaneamente. Scegliere attentamente questi valori.
    • Per implementare collegamento privato front-end, collegamento privato back-end o entrambe, la rete virtuale dell'area di lavoro necessita di una terza subnet che contiene l'endpoint collegamento privato e il relativo intervallo di indirizzi IP non deve sovrapporsi all'intervallo delle altre subnet dell'area di lavoro. Questo articolo fa riferimento a questa terza subnet come subnet dell'endpoint privato. Esempi e screenshot presuppongono il nome private-linkdella subnet . Può essere piccolo come l'intervallo /27CIDR. Non definire regole del gruppo di sicurezza di rete per una subnet che contiene endpoint privati.
    • Se si usa l'interfaccia utente per creare oggetti, è necessario creare manualmente la rete e le subnet prima di creare l'area di lavoro di Azure Databricks. Se si vuole usare un modello, il modello fornito da Azure Databricks crea automaticamente una rete virtuale e le subnet appropriate, incluse le due subnet normali e un'altra per gli endpoint privati.
  • Se si usa un gruppo di sicurezza di rete o un firewall intorno alla rete virtuale, è necessario consentire le porte 443, 6666, 3306 e 8443-8451 nella subnet dell'endpoint privato per le connessioni in uscita per le connessioni al piano di controllo di Azure Databricks, incluso l'inoltro di connettività sicura del cluster.
  • Se nell'endpoint privato sono abilitati criteri di gruppi di sicurezza di rete, è necessario consentire anche le porte 443, 6666, 3306 e 8443-8451 per l'ingresso nel gruppo di sicurezza di rete nella subnet in cui viene distribuito l'endpoint privato.
  • Per connettersi tra la rete e il portale di Azure e i relativi servizi, potrebbe essere necessario aggiungere url portale di Azure all'elenco elementi consentiti. Vedere Consentire gli URL di portale di Azure nel firewall o nel server proxy

Architettura di rete della connessione front-end

Per consentire solo agli utenti collegamento privato di accedere all'area di lavoro dalla rete locale, è necessario aggiungere la connettività privata da tale rete alla rete di Azure. Aggiungere questa connettività prima di configurare collegamento privato. I dettagli variano a seconda che si scelga la distribuzione standard collegamento privato o la distribuzione semplificata.

  • Per la distribuzione standard, è necessario creare o usare una rete virtuale di transito esistente, talvolta denominata rete virtuale bastion o rete virtuale dell'hub. Questa rete virtuale deve essere raggiungibile dall'ambiente utente locale usando Expressroute o una connessione gateway VPN. Per le collegamento privato front-end, Databricks consiglia di creare una rete virtuale separata per la connettività al piano di controllo, anziché condividere la rete virtuale dell'area di lavoro. Si noti che la rete virtuale di transito e la relativa subnet possono trovarsi nella stessa area, zona e gruppo di risorse della rete virtuale dell'area di lavoro e delle relative subnet, ma non devono corrispondere. Creare un gruppo di risorse per la rete virtuale di transito separata e usare una zona DNS privata diversa per tale endpoint privato. Se si usano due endpoint privati separati, non è possibile condividere la zona DNS.
  • Per la distribuzione semplificata, si crea una subnet di transito nella rete virtuale dell'area di lavoro. In questa distribuzione la subnet di transito non dispone di un endpoint privato separato. La subnet di transito nella rete virtuale dell'area di lavoro usa un singolo endpoint privato per le connessioni back-end e front-end.

Autorizzazioni utente di Azure

Gli utenti di Azure devono disporre di autorizzazioni di lettura/scrittura sufficienti per:

  • Effettuare il provisioning di una nuova area di lavoro di Azure Databricks.
  • Creare collegamento privato di Azure endpoint nella rete virtuale dell'area di lavoro e anche (per l'utilizzo front-end) della rete virtuale di transito.

Se l'utente che ha creato l'endpoint privato per la rete virtuale di transito non dispone delle autorizzazioni di proprietario/collaboratore per l'area di lavoro, un utente separato con autorizzazioni di proprietario/collaboratore per l'area di lavoro deve approvare manualmente la richiesta di creazione dell'endpoint privato.

È possibile abilitare il collegamento privato in un'area di lavoro esistente. L'aggiornamento richiede che l'area di lavoro usi l'aggiunta di una rete virtuale, la connettività sicura del cluster e il piano tariffario Premium. È possibile aggiornare la connettività del cluster e passare al piano tariffario Premium durante l'aggiornamento.

È possibile usare un modello arm o azurerm un provider Terraform versione 3.41.0+. È possibile usare il portale di Azure per applicare un modello personalizzato e modificare il parametro nell'interfaccia utente. Tuttavia, non è disponibile alcun supporto dell'interfaccia utente del portale di Azure per questo aggiornamento nell'istanza dell'area di lavoro di Azure Databricks stessa.

Se si verifica un problema con l'aggiornamento ed è possibile ripetere il passaggio di aggiornamento dell'area di lavoro, ma impostare i campi per disabilitare collegamento privato.

Sebbene l'obiettivo di questa sezione sia abilitare collegamento privato in un'area di lavoro esistente, è possibile disabilitarlo in un'area di lavoro esistente usando la stessa chiamata di aggiornamento dell'area di lavoro con il modello di Resource Manager o un aggiornamento di Terraform. Per informazioni dettagliate, vedere il passaggio 4: Applicare l'aggiornamento dell'area di lavoro.

Passaggio 1: Leggere i requisiti e la documentazione in questa pagina

Prima di tentare un aggiornamento a collegamento privato sono presenti concetti e requisiti importanti da leggere:

  1. Leggere questo articolo, inclusi i concetti e i requisiti prima di procedere.
  2. Determinare se si vuole usare la distribuzione standard o la distribuzione semplificata.
  3. Nella pagina per la distribuzione standard o la distribuzione semplificata (a seconda dell'approccio usato), esaminare attentamente la pagina, inclusi i vari scenari. Trovare lo scenario corrispondente al caso d'uso. Annotare i valori che si intende usare per publicNetworkAccess e requiredNsgRules. Per la configurazione consigliata di front-end e back-end collegamento privato con connettività front-end bloccata, usare le impostazioni publicNetworkAccess=Disabled erequiredNsgRules=NoAzureDatabricksRules

Passaggio 2: Arrestare tutte le risorse di calcolo

Prima di tentare l'aggiornamento, è necessario arrestare tutte le risorse di calcolo, ad esempio cluster, pool o sql warehouse classici. Nessuna risorsa di calcolo dell'area di lavoro può essere in esecuzione o il tentativo di aggiornamento non riesce. Databricks consiglia di pianificare i tempi di inattività dell'aggiornamento.

Importante

Non tentare di avviare risorse di calcolo durante l'aggiornamento. Se Azure Databricks determina che le risorse di calcolo sono state avviate (o sono ancora in fase di avvio), Azure Databricks li termina dopo l'aggiornamento.

Passaggio 3: Creare subnet ed endpoint privati

  1. Aggiungere una subnet alla rete virtuale dell'area di lavoro per gli endpoint privati back-end.

  2. Aprire l'articolo per la distribuzione standard o la distribuzione semplificata (a qualsiasi approccio usato).

    Seguire le istruzioni in questa pagina per creare gli endpoint privati che corrispondono al tipo di distribuzione.

  3. Creare tutti gli endpoint privati per il supporto back-end prima di eseguire l'aggiornamento dell'area di lavoro.

  4. Per l'accesso all'interfaccia utente, creare un endpoint privato con sottorisorsa databricks_ui_api per supportare l'accesso SSO dalla rete virtuale di transito. Se si dispone di più reti virtuali di transito che accedono all'area di lavoro per l'accesso front-end, creare più endpoint privati con sottorisorsa databricks_ui_api.

Passaggio 4: Applicare l'aggiornamento dell'area di lavoro

Anziché creare una nuova area di lavoro, è necessario applicare l'aggiornamento dell'area di lavoro.

È necessario aggiornare i publicNetworkAccess parametri e requiredNsgRules ai valori scelti in un passaggio precedente.

Usare uno di questi metodi:

  • Usare portale di Azure'interfaccia utente (senza modello)

  • Applicare un modello di Resource Manager aggiornato usando portale di Azure

  • Applicare un aggiornamento con Terraform

    Usare portale di Azure'interfaccia utente (senza modello)

    1. Passare all'istanza del servizio Azure Databricks nel portale di Azure.

    2. Nel riquadro di spostamento a sinistra in Impostazioni fare clic su Rete.

    3. Impostare Consenti accesso alla rete pubblica e Regole NSG necessarie sui valori appropriati in base al caso d'uso. Vedere Passaggio 1: Leggere i requisiti e la documentazione in questa pagina.

      Nota

      Per abilitare collegamento privato di Azure, l'area di lavoro deve abilitare la connettività sicura del cluster (talvolta denominata Nessun indirizzo IP pubblico). Se non è ancora abilitato, allo stesso tempo dell'aggiornamento collegamento privato, è possibile scegliere di abilitare la connettività sicura del cluster impostando No Public IP (Nessun indirizzo IP pubblico) su True. Tuttavia, Azure Databricks consiglia di abilitare la connettività sicura del cluster come passaggio separato prima di abilitare collegamento privato in modo da poter convalidare separatamente l'esito positivo.

    4. Fare clic su Salva.

    Il completamento dell'aggiornamento di rete potrebbe richiedere più di 15 minuti.

Applicare un modello di Resource Manager aggiornato usando portale di Azure

Nota

Se il gruppo di risorse gestite ha un nome personalizzato, è necessario modificare di conseguenza il modello. Per altre informazioni, contattare il team dell'account di Azure Databricks.

  1. Copiare il codice JSON del modello arm di aggiornamento seguente:

    {
       "$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. Passare alla pagina di distribuzione portale di Azure personalizzata.

    2. Fare clic su Compila un modello personalizzato nell'editor.

    3. Incollare il codice JSON per il modello copiato.

    4. Fare clic su Salva.

    5. Per abilitare collegamento privato, impostare publicNetworkAccess i parametri e requiredNsgRules in base al caso d'uso.

      Per disabilitare collegamento privato, impostare su publicNetworkAccesstrue e impostare su requiredNsgRulesAllRules.

    6. Per altri campi, usare gli stessi parametri usati per creare l'area di lavoro, ad esempio sottoscrizione, area, nome dell'area di lavoro, nomi di subnet, ID risorsa della rete virtuale esistente.

      Importante

      Il nome del gruppo di risorse, il nome dell'area di lavoro e i nomi delle subnet devono essere identici all'area di lavoro esistente, in modo che questo comando aggiorni l'area di lavoro esistente anziché creare una nuova area di lavoro.

    7. Fare clic su Rivedi e crea.

    8. Se non sono presenti problemi di convalida, fare clic su Crea.

    Il completamento dell'aggiornamento di rete potrebbe richiedere più di 15 minuti.

Applicare un aggiornamento con Terraform

Per le aree di lavoro create con Terraform, è possibile aggiornare l'area di lavoro in modo da usare collegamento privato.

Importante

È necessario usare terraform-provider-azurerm la versione 3.41.0 o successiva, quindi aggiornare la versione del provider Terraform in base alle esigenze. Le versioni precedenti tentano di ricreare l'area di lavoro se si modifica una di queste impostazioni.

La procedura generale è la seguente:

  1. Modificare le impostazioni dell'area di lavoro seguenti:

    • public_network_access_enabled: impostato su true (abilitato) o false (disabilitato)
    • network_security_group_rules_required: impostato su AllRules o NoAzureDatabricksRules.

    Il completamento dell'aggiornamento di rete potrebbe richiedere più di 15 minuti.

  2. Creare gli endpoint privati.

Per una guida dettagliata su come abilitare collegamento privato e creare gli endpoint privati:

Il completamento dell'aggiornamento di rete potrebbe richiedere più di 15 minuti.

Passaggio 5: Testare l'autenticazione SSO dell'utente e la connettività back-end

Seguire la pagina di distribuzione principale per informazioni dettagliate su come:

  • Testare l'autenticazione SSO dell'utente nell'area di lavoro.
  • Testare la connessione collegamento privato back-end (necessaria per una connessione back-end)

Passaggio 6: Convalidare l'aggiornamento

  1. Passare all'istanza del servizio Azure Databricks nel portale di Azure.
  2. Nel riquadro di spostamento a sinistra in Impostazioni fare clic su Rete.
  3. Verificare che il valore di Consenti accesso alla rete pubblica corrisponda al valore impostato.
  4. Verificare che il valore per Le regole del gruppo di sicurezza di rete richiesto corrisponda al valore impostato.

Ripristino da errore

Se un aggiornamento dell'area di lavoro non riesce, l'area di lavoro potrebbe essere contrassegnata come stato Non riuscito , il che significa che l'area di lavoro non è in grado di eseguire operazioni di calcolo. Per ripristinare lo stato Attivo di un'area di lavoro non riuscita, esaminare le istruzioni nel messaggio di stato dell'operazione di aggiornamento. Dopo aver risolto eventuali problemi, ripetere l'aggiornamento nell'area di lavoro non riuscita. Ripetere i passaggi fino al completamento dell'aggiornamento. In caso di domande, contattare il team dell'account Azure Databricks.