Configurar o Private Link de entrada para espaços de trabalho

Esta página fornece instruções para configurar a conectividade privada de entrada entre os utilizadores e os seus espaços de trabalho no Azure Databricks.

Porque escolher uma ligação de entrada?

Se você usa computação sem servidor ou clássica, os usuários devem se conectar ao Azure Databricks. As organizações optam por se conectar ao Azure Databricks por vários motivos, incluindo os seguintes:

  • Segurança reforçada: Ao restringir todo o acesso a endpoints privados e desativar o acesso público, minimiza a superfície de ataque e verifica que todas as interações dos utilizadores com o Azure Databricks ocorrem numa rede privada e segura.
  • Requisitos de conformidade: Muitas organizações têm mandatos rigorosos de conformidade que exigem que todo o tráfego de dados e do plano de gestão permaneça dentro dos limites da sua rede privada, mesmo para serviços SaaS como o Azure Databricks.
  • Arquitetura de rede simplificada (para casos de uso específicos): Se estiver a utilizar apenas computação sem servidor, ou se a sua principal interação com o Azure Databricks for através da interface de utilizador Web ou das APIs REST, e não tiver necessidade imediata de conectividade privada a fontes de dados a partir do Azure Databricks (o que requer uma ligação Private Link do plano de computação clássico), uma configuração exclusivamente de entrada simplifica a conceção geral da rede.
  • Prevenção de exfiltração de dados: Ao impedir o acesso público e forçar todo o tráfego a passar por endpoints privados, reduz o risco de exfiltração de dados, garantindo que o tráfego só pode ser acedido a partir de ambientes de rede autenticados.

Modelo de conectividade

Você pode configurar a conectividade privada de duas maneiras:

  • Sem acesso público: esta configuração desativa todo o acesso público ao espaço de trabalho. Todo o tráfego de utilizador deve ter origem em uma VNet conectada através de um ponto de extremidade privado. Este modelo é necessário para a privatização total do tráfego. Para uma privatização total do tráfego também precisa de uma ligação clássica de Private Link com plano de cálculo. Ver conceitos do Private Link.
  • Acesso híbrido: o Private Link está ativo, mas o acesso público permanece habilitado com controles de entrada baseados no contexto e listas de acesso IP. Os controles de entrada baseados no contexto permitem restringir o acesso com base na identidade, no tipo de solicitação e na origem da rede. Isto permite que você permita, de forma segura, acesso a partir de fontes públicas confiáveis (por exemplo, IPs corporativos estáticos), enquanto continua a usar o Private Link para conectividade privada.

Este guia explica como implementar o modelo de acesso híbrido. Conseguimos isso usando uma topologia de rede hub-and-spoke padrão.

Visão geral da arquitetura

Este modelo usa a VNet de trânsito:

  • Transit VNet: Esta é a sua rede virtual central que contém todos os endpoints privados necessários para o acesso dos clientes a espaços de trabalho e autenticação do navegador. O seu espaço de trabalho de autenticação do navegador também se liga a este VNet.

Arquitetura de rede do Azure Private Link.

Antes de começar

Analise os seguintes pré-requisitos e recomendações:

Requerimentos

Configuração da rede

  • Uma VNet de trânsito configurada da seguinte forma:
    • Ele atua como o principal ponto de trânsito para todo o tráfego de usuário/cliente que se conecta à sua rede do Azure.
    • Ele fornece conectividade centralizada para redes locais ou outras redes externas.
    • Ele gerencia serviços compartilhados e contém a rota principal para o tráfego de saída da Internet (saída).
  • Suas zonas DNS privadas são gerenciadas pelo DNS do Azure.

Melhores práticas

O Azure Databricks recomenda o seguinte para uma configuração resiliente e gerenciável:

  • Arquitetura: A sua rede deve seguir a arquitetura hub-spoke recomendada pela Microsoft. Consulte Topologia de rede Hub-spoke no Azure.
  • Espaço de trabalho de autenticação isolado: Para maior resiliência, crie um espaço de autenticação de navegador separado dentro do seu VNet de trânsito. Este espaço de trabalho dedicado deve hospedar o endpoint privado de autenticação do navegador, evitando assim um único ponto de falha caso outros espaços de trabalho sejam eliminados. Veja Criar um browser_authentication espaço de trabalho.

Configurar a conectividade privada para um espaço de trabalho existente

Antes de começar, você deve parar todos os recursos de computação, como clusters, pools ou armazéns SQL clássicos. Nenhum recurso de computação do espaço de trabalho pode ser executado ou a tentativa de atualização falha. O Azure Databricks recomenda planejar o tempo da atualização para o tempo de inatividade.

  1. Na página Espaços de trabalho , selecione Computação.
  2. Selecione cada cluster de computação ativo e, no canto superior direito, clique em Encerrar.

Verificar espaço de trabalho injetado no VNet com acesso público ativado

  1. Vá para seu espaço de trabalho do Azure Databricks no portal do Azure.
  2. Na seção de visão geral do espaço de trabalho, verifique se seu espaço de trabalho do Azure Databricks usa sua própria rede virtual:
    1. Em Configurações, selecione a guia Rede . Confirme as seguintes configurações:
      1. A conectividade de cluster seguro (sem IP público) está ativada.
      2. Permitir acesso à rede pública está habilitado.

Criar databricks_ui_api endpoint privado

  1. Na guia Conectividade de Rede do seu espaço de trabalho, selecione Ligações de ponta final privadas.
  2. Clique no ícone Mais.Ponto de extremidade privado.
  3. Selecione o grupo de recursos para o ponto final e forneça um nome como my-workspace-fe-pe. Verifique se a região corresponde ao seu espaço de trabalho.
  4. Clique em Avançar: Recurso.
  5. Defina o subrecurso de destino como databricks_ui_api.
  6. Clique em Seguinte: Rede Virtual.
  7. Selecione a sua VNet de trânsito. Sua VNet de trânsito é uma VNet pré-existente separada em sua arquitetura de rede que gerencia e protege o tráfego de saída, geralmente contendo um firewall central.
  8. Selecione a sub-rede que hospeda os pontos de extremidade privados.
  9. Clique em Avançar e verifique se Integrar com zona DNS privada está definido como Sim. Ele deve selecionar automaticamente a privatelink.azuredatabricks.net zona.

Nota

Vincule a zona DNS privada à sua rede virtual de trânsito e, para uma melhor organização, coloque-a em um grupo de recursos separado com suas outras zonas DNS privadas.

Crie um browser_authentication espaço de trabalho

Crie um ponto de extremidade privado para autenticação do navegador para oferecer suporte ao SSO no caminho da rede privada. O Azure Databricks recomenda hospedar este endpoint em um espaço de trabalho dedicado de autenticação web privada.

Criar um grupo de recursos

  1. No portal do Azure, navegue até Grupos de recursos e selecione-o.
  2. Clique em + Criar.
  3. Forneça um Nome para o grupo de recursos, como web-auth-rg-eastus.
  4. Em Região, selecione a mesma região do Azure onde seus espaços de trabalho Databricks de produção são implantados.
  5. Clique em Rever + criar e, em seguida, em Criar.

Criar uma VNet

  1. No portal do Azure, procure e selecione Redes virtuais.
  2. Clique em + Criar.
  3. Na guia Noções básicas , selecione o grupo de recursos que você acabou de criar e dê à VNet um Nome descritivo, como web-auth-vnet-eastus.
  4. Verifique se a Região corresponde ao seu grupo de recursos.
  5. Na guia Endereços IP, defina um espaço de endereço IP para a rede virtual, por exemplo, 10.20.0.0/16. Você também será solicitado a criar uma sub-rede inicial.
  6. Selecione Rever + criar e, em seguida , Criar.

Criar e proteger o espaço de trabalho privado de autenticação da Web

  1. No portal do Azure, procure e selecione Azure Databricks. Clique em + Criar.
  2. Na guia Noções básicas , configure o seguinte:
    1. Selecione o grupo de recursos que você acabou de criar.
    2. Dê ao espaço de trabalho um nome descritivo, como WEB_AUTH_DO_NOT_DELETE_<region>.
    3. Selecione a mesma região que o grupo de recursos e a rede virtual.
  3. Clique em Next:Networking e configure o seguinte:
    1. Implantar o espaço de trabalho do Azure Databricks com Conectividade de Cluster Seguro (Sem IP Público): Selecione Sim.
    2. Implantar o espaço de trabalho do Azure Databricks em sua própria Rede Virtual (VNet): selecione Sim.
    3. Rede Virtual: Selecione a rede virtual que você acabou de criar. Você será solicitado a definir intervalos de sub-rede.
    4. Acesso à rede pública: selecione Desativado.
    5. Regras NSG necessárias: selecione NoAzureDatabricksRules.
  4. Clique em Rever + criar e, em seguida, em Criar.

Depois de criares o espaço de trabalho, protege-o contra eliminações acidentales.

  1. No portal do Azure, navegue até o espaço de trabalho que você acabou de criar.
  2. Vá para Configurações e selecione Bloqueios.
  3. Clique em + Adicionar.
  4. Defina o tipo de bloqueio como Excluir e forneça um nome de bloqueio descritivo.
  5. Clique em OK.

Nota

  • Não execute quaisquer tarefas do Databricks, como clusters e trabalhos, neste espaço de trabalho.
  • Não adicione nenhum ponto de extremidade privado além de browser_authentication. Especificamente, não crie um endpoint databricks_ui_api para este espaço de trabalho.

Criar o ponto de extremidade privado de autenticação de navegador

Depois de criar o espaço de trabalho, você deve criar o browser_authentication ponto de extremidade privado para conectá-lo à sua VNet de trânsito.

  1. Na guia Conexões de Rede do espaço de trabalho de autenticação da Web, selecione Conexões de pontos finais privados.
  2. Clique no ícone Mais.Ponto de extremidade privado.
  3. Selecione o grupo de recursos para o ponto final e forneça um nome como web-auth-browser-auth-pe. Verifique se a região corresponde ao seu espaço de trabalho.
  4. Clique em Avançar: Recurso.
  5. Defina o subrecurso de destino como browser_authentication.
  6. Clique em Seguinte: Rede Virtual.
  7. Selecione a VNet de trânsito (a mesma VNet usada para o databricks_ui_api ponto final privado).
  8. Selecione a sub-rede que hospeda os pontos de extremidade privados.
  9. Clique em Avançar e verifique se Integrar com zona DNS privada está definido como Sim. Ele deve selecionar automaticamente a privatelink.azuredatabricks.net zona.
  10. Conclua a criação do ponto de extremidade.

Configurar e verificar DNS

Depois de implantar os pontos de extremidade privados, você deve verificar se o DNS resolve corretamente as URLs do Azure Databricks para seus novos endereços IP privados.

  1. Verifique os registos de zona DNS privada:
    1. No portal do Azure, procure e navegue até a zona DNS privada chamada privatelink.azuredatabricks.net.
    2. Verifique se existem os seguintes A registos e aponte para os endereços IP privados dos seus terminais:
      1. Registo UI/API do espaço de trabalho:
        • Nome: seu ID de espaço de trabalho exclusivo, como adb-xxxxxxxxxxxxxxxx.x
        • Valor: O endereço IP privado do databricks_ui_api endpoint privado.
      2. Registo de autenticação do navegador:
        • Nome: Escolha um nome descritivo como pl-auth.<your_region>.
        • Valor: O endereço IP privado do browser_authentication endpoint privado.

Verificar o acesso à rede privada

Confirme que pode aceder à área de trabalho através da sua ligação de rede privada.

A partir de uma rede conectada

Se a sua rede local já se liga ao seu Azure VNet por VPN ou ExpressRoute, o teste é simples:

  • No seu computador, abra um navegador da Web e vá diretamente para a URL do espaço de trabalho do Azure Databricks para fazer logon. Um login bem-sucedido confirma que a sua ligação privada funciona.

Usando uma VM de teste

Se não conseguir aceder à rede virtual da área de trabalho a partir da sua localização atual, crie uma máquina virtual temporária (uma "caixa de saltos") para testar a partir de:

  1. Crie uma VM: No portal Azure, crie uma máquina virtual Windows. Coloca-o numa sub-rede usando o mesmo VNet de trânsito onde configuraste o teu endpoint privado de entrada.
  2. Ligue-se à VM: Use um cliente Ambiente de Trabalho Remoto para se ligar à sua nova VM.
  3. Teste a partir da VM: Depois de se ligar à VM, abra um navegador web, vá ao portal do Azure e encontre o seu espaço de trabalho no Azure Databricks.
  4. Iniciar Espaço de Trabalho: Clique em Lançar Espaço de Trabalho. Um login bem-sucedido confirma que o acesso a partir do seu VNet privado funciona corretamente.

Verificar DNS com nslookup

  1. Conecte-se a uma máquina virtual dentro de sua VNet configurada ou à sua rede local via VPN ou Azure ExpressRoute. Sua máquina deve ser capaz de usar o DNS privado do Azure.
  2. Abra um prompt de comando ou terminal e use nslookup para verificar a resolução de DNS.
# Verify the workspace URL resolves to a private IP
nslookup adb-xxxxxxxxxxxxxxxx.x.azuredatabricks.net

# Expected output:
# Server:  <your-dns-server>
# Address: <your-dns-server-ip>
#
# Name:    adb-xxxxxxxxxxxxxxxx.x.privatelink.azuredatabricks.net
# Address: 10.10.1.4  <-- This should be the private IP of your 'databricks_ui_api' endpoint
# Aliases: adb-xxxxxxxxxxxxxxxx.x.azuredatabricks.net

Criar general_access endpoint privado

Importante

O acesso privado a espaços de trabalho usando o endpoint de acesso geral está em Beta.

Crie um endpoint privado para aceder ao seu espaço de trabalho através de uma URL personalizada. Este passo só é necessário se quiser aceder ao seu espaço de trabalho com a sua URL personalizada, por exemplo, <my-custom-account-name>.azuredatabricks.net.

Nota

Se já utiliza o seu URL personalizado para o Private Link de entrada para recursos ao nível da conta (consulte Configurar o Private Link de entrada para recursos ao nível da conta), pode reutilizar o general_access ponto final privado existente para aceder a recursos ao nível da conta. Neste caso, só precisa de completar o Allowlist do seu endpoint privado para os espaços de trabalho com entrada baseada no contexto.

Preparar o VNet e a sub-rede

Prepare uma VNet e uma sub-rede para alojar o endpoint privado. Podes criar um novo VNet ou reutilizar um existente, como o teu VNet de workspace.

  1. Para criar um novo VNet, consulte Criar uma Rede Virtual Azure.
  2. Para adicionar uma sub-rede, veja Adicionar, alterar ou eliminar uma sub-rede virtual.
  3. Verifique se a política de rede de endpoint privado está desativada na sua sub-rede. Esta é a configuração padrão. Consulte Gerenciar políticas de rede para endpoints privados para mais detalhes.

Se reutilizar uma VNet de um espaço de trabalho existente, deve usar ou criar uma sub-rede diferente daquela usada pelo espaço de trabalho. Se o VNet que aloja o endpoint privado for diferente do VNet que envia tráfego, configure o peering ou a conectividade VNet. Consulte a seção Verificar a Conectividade da VNet.

Implementar um endpoint privado

  1. No portal Azure, pesquise por endpoints privados no Microsoft Marketplace e selecione Criar.
  2. Introduza um nome, o nome da interface de rede e configure a região para coincidir com a região VNet do seu espaço de trabalho.
  3. Clique em Avançar: Recurso.
  4. Selecione Conectar a um recurso do Azure por ID de recurso ou alias.
  5. No campo ID do recurso ou alias, introduza o ID de recurso do Private Link Service dos serviços general_access da sua região. Consulte Private Link Service Resource IDs para serviços intensivos em desempenho e acesso geral para a lista de IDs de recursos.
  6. No campo do sub-recurso alvo, introduza general_access.
  7. Clique em Seguinte: Rede Virtual.
  8. Selecione a rede virtual e a sub-rede que preparou na secção Preparar VNet e subnet .
  9. Clique em Avançar: DNS.
  10. Deixar Integrar com a zona DNS privada definida para . Mais tarde, configuras o DNS manualmente.
  11. Clique em Seguinte: Etiquetas.
  12. Clique em Seguinte: Rever e criar.
  13. Revise a configuração e clique em Criar para implementar o endpoint privado.
  14. Após a conclusão da implantação, regista estes valores:
    • Nome do endpoint privado: O nome do seu endpoint privado.
    • Resource GUID: Vá ao recurso do endpoint privado, clique em visualização JSON e encontre o valor em properties.resourceGuid. Isto é obrigatório quando registas o teu endpoint privado.
    • Endereço IP privado: Na visualização JSON, encontre o endereço IP em properties.customDnsConfigs[0].ipAddresses[0]. Isto é obrigatório quando configuras o DNS.

Nota

Após a implementação, o estado da ligação ao endpoint privado aparece como Pendente. Isto era esperado. O endpoint mantém-se em estado Pendente até registares o teu endpoint privado.

Regista o teu endpoint privado

Depois de criar o seu endpoint privado no portal Azure, registe-o no Azure Databricks.

  1. Vai à consola de contas do Azure Databricks.
  2. Na barra lateral, clique em 'Segurança', 'Pontos de Rede', e 'Registar endpoint'.

Permita que o seu endpoint privado seja incluído em espaços de trabalho com entrada baseada em contexto

Importante

O acesso privado a espaços de trabalho usando entrada baseada em contexto está em Beta.

  1. Na consola da conta, clique em Segurança na barra lateral.
  2. Clique em Controlo de entrada e saída baseado em contexto na barra lateral.
  3. Em Políticas de nível de espaço de trabalho, clique em Nova política de espaço de trabalho.
  4. Em Acesso de Entrada > à Rede Privada, defina a sua política de acesso privado.
    1. Por defeito, todos os endpoints registados são permitidos: Permitir o acesso a partir de todos os endpoints privados. Se isto for aceitável, avance para o passo seguinte. Esta predefinição inclui apenas os primeiros 200 endpoints privados registados; se a sua política exigir mais, contacte a sua equipa de conta para solicitar um aumento.
    2. Se quiseres colocar endpoints registados específicos na lista de permissões, negando todos os outros endpoints, desmarca Permitir acesso a todos os endpoints privados e adiciona uma regra de permissão.
      1. Selecione as identidades e destinos do espaço de trabalho a que quer permitir o acesso (por defeito, todas as identidades e destinos são permitidos).
      2. Em Tipo de origem, selecione Pontos finais privados selecionados e selecione o(s) ponto(s) final(is) privado(s) de acesso geral que registou. A região deste endpoint privado não tem de corresponder à região do seu espaço de trabalho. Um endpoint de acesso geral em qualquer região pode servir espaços de trabalho em qualquer região.
      3. Clique em Confirmar.
      4. Também pode adicionar regras de recusa na sua apólice, que definem exceções às suas regras de permissão.
  5. Quando terminar de configurar a sua política de acesso privado, também pode configurar a sua política de acesso público no Ingress > Public Network Access. Pode desativar todo o acesso a IPs públicos desmarcando Permitir acesso a todos os IPs públicos. O Azure Databricks recomenda manter o acesso público ativado durante o teste da configuração do DNS, e depois desativá-lo após a finalização do DNS para garantir a conectividade privada exclusiva.
  6. Testa primeiro a tua política de entrada em modo Dry Run , antes de a mudar para Enforced. As recusas de acesso no modo de teste são registadas na tabela do sistema system.access.inbound_network, mas não bloqueiam o acesso.
  7. Certifique-se de que a sua política de saída está correta.
  8. Anexe a sua política de rede ao(s) seu(s) espaço de trabalho. Os espaços de trabalho sem este endpoint geral de acesso incluído na lista de permissões não ficam acessíveis através do seu URL personalizado.
  9. Guarde a sua apólice de rede. As atualizações de políticas de entrada baseadas no contexto demoram menos de 10 minutos a entrar em vigor.

Configurar DNS para o endpoint de acesso geral

Depois de o seu endpoint privado estar registado e autorizado, configure o DNS para que o tráfego do workspace passe pelo endpoint privado usando o seu domínio personalizado, <my-custom-account-name>.azuredatabricks.net.

  1. Crie uma zona DNS privada Azure chamada <my-custom-account-name>.azuredatabricks.net. Se já configurou um general_access ponto final privado para o Private Link de entrada para recursos ao nível da conta (consulte Configurar o Private Link de entrada para recursos ao nível da conta), reutilize a <my-custom-account-name>.azuredatabricks.net zona existente. Para novas zonas, consulte Criar uma zona DNS privada Azure usando o portal Azure.
  2. Liga a zona DNS privada ao VNet que hospeda o teu endpoint privado. Ver Ligar a rede virtual.

Criar um registo DNS A

  1. Vai para a tua nova zona privada de DNS.
  2. Selecione o separador Conjuntos de Registos em Gestão DNS.
  3. Clique em Adicionar para adicionar um conjunto de registos.
  4. Configure o registo A:
    • Nome: @
    • Tipo: A
    • Endereço IP: O endereço IP privado do seu endpoint privado.
  5. Clica em OK para guardar o registo.

Verifique a resolução de DNS

A partir de uma máquina no seu VNet ou de um trabalho de workspace associado à sua zona DNS privada, confirme que as consultas DNS resolvem para o IP do endpoint privado:

nslookup <my-custom-account-name>.azuredatabricks.net

Ou usar dig:

dig <my-custom-account-name>.azuredatabricks.net

Ambos os comandos devolvem o endereço IP privado do seu endpoint privado.

Verificar conectividade VNet

Se o VNet que gera o tráfego é diferente do VNet que aloja o endpoint privado, configure o peering ou a conectividade VNet entre os dois. Consulte Azure Private Endpoint DNS Integration Scenarios para orientações detalhadas.

Configuração de DNS personalizada

Ao usar um endpoint privado de entrada com o seu próprio DNS personalizado, deve verificar se tanto o URL do workspace como os URLs de autenticação SSO (single sign-on) resolvem corretamente para o endereço IP do endpoint privado.

O método mais confiável é configurar seu servidor DNS para encaminhar consultas de todos os domínios Databricks para o DNS interno do Azure.

  1. Configure o encaminhamento condicional para os seguintes domínios para o seu servidor DNS do Azure:
    • *.azuredatabricks.net
    • *.privatelink.azuredatabricks.net
    • *.databricksapps.com
    • O seu URL personalizado: <my-custom-account-name>.azuredatabricks.net
  2. Verifica se o teu VNet está ligado à Azure DNS Privado Zone.

Isso permite que o Azure resolva automaticamente todos os nomes de host necessários, incluindo URLs de SSO e de espaços de trabalho, para o endereço IP do seu ponto final privado.

Alternativa: Manual A Records

Se o encaminhamento condicional não for uma opção, você deverá criar manualmente registros DNS A .

  1. URL do espaço de trabalho: Crie um registo A que associe o URL de cada espaço de trabalho, como adb-1111111111111.15.azuredatabricks.net, ao endereço IP do ponto final privado.
  2. URL de autenticação SSO: Crie um registo A que associe o URL SSO regional, como westus.pl-auth.azuredatabricks.net, ao endereço IP do endpoint privado.
  3. URL personalizado: Crie um registo A que associe o seu URL personalizado, como <my-custom-account-name>.azuredatabricks.net, ao endereço IP do endpoint privado.

Algumas regiões do Azure usam várias instâncias de plano de controle para SSO. Talvez seja necessário criar vários A registros para autenticação. Entre em contato com sua equipe de conta do Azure Databricks para obter a lista completa de domínios para sua região.

Recursos adicionais