Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os Aplicativos do Databricks dão suporte a um controle de rede refinado para ajudá-lo a proteger e gerenciar como seu aplicativo se comunica com a Internet e os recursos internos. Você pode configurar regras de tráfego de entrada (entrada) e saída (saída) usando uma combinação de listas de acesso IP, conectividade privada front-end e políticas de rede.
Arquitetura de rede
Azure Databricks implanta aplicativos no plano de computação sem servidor, em que eles recebem tráfego diretamente. Isso é semelhante a outros serviços com otimização de rota, como Model Serving e Vector Search.
O processo de conexão funciona da seguinte maneira:
- As solicitações iniciais do usuário para um aplicativo Azure Databricks iniciam a autenticação OAuth com o plano de controle para validar a sessão e autorizar o acesso ao aplicativo.
- Após a autenticação bem-sucedida, todas as solicitações subsequentes são roteados diretamente para o plano de computação sem servidor sem atravessar o plano de controle.
As políticas de segurança de rede configuradas para o plano de computação sem servidor se aplicam ao tráfego do Databricks Apps. Isso inclui listas de acesso IP e configurações de conectividade privada de front-end.
Controles de entrada
Use os recursos a seguir para limitar o acesso ao seu workspace Azure Databricks e aplicativos da Internet pública.
- Listas de acesso a IP: Restrinja o acesso do workspace e do aplicativo a intervalos de IP conhecidos e confiáveis habilitando listas de acesso IP no nível do workspace. Somente o tráfego dos intervalos de IP configurados é permitido. Para obter detalhes, consulte Configurar listas de acesso IP para workspaces.
Conectividade privada front-end: Roteie o tráfego de entrada por meio de uma conexão do Link Privado do Azure para acessar aplicativos com segurança através da sua VNet.
Você deve configurar o encaminhamento de DNS condicional para o
databricksapps.comdomínio para garantir a resolução de nomes adequada por meio de sua conexão privada. Caso contrário, as consultas DNS para o domínio do aplicativo podem se resolver em endereços IP públicos em vez do ponto de extremidade privado. Para obter instruções de instalação, consulte Configure Inbound Link Privado.Não há suporte para URLs regionais herdadas com Aplicativos do Databricks porque elas não dão suporte ao OAuth, o que é necessário para autenticação de aplicativo. Para obter detalhes, consulte URL regional herdada.
Controles de saída
Para controlar o tráfego de saída de seu aplicativo, crie uma NCC (configuração de conectividade de rede) e aplique políticas de rede ao workspace que hospeda o aplicativo.
Configurações de conectividade de rede
Use uma configuração de conectividade network para conectar seu aplicativo com segurança aos serviços de Azure. Os NCCs fornecem IDs de sub-rede estáveis que você pode adicionar a um firewall de conta de armazenamento para permitir explicitamente o acesso de seu aplicativo e de outra computação sem servidor.
Para restringir ainda mais o tráfego de saída para destinos privados, configure pontos de extremidade privados sem servidor para recursos Azure ou rote o tráfego por meio de um balanceador de carga Azure em sua VNet.
Políticas de rede
Use políticas de rede para impor restrições de saída em aplicativos do Databricks e outras cargas de trabalho sem servidor. Isso é útil quando você precisa atender aos requisitos organizacionais ou de conformidade para controlar a conectividade de saída.
Observação
As políticas de rede só estão disponíveis na camada Premium.
Aplique uma política de rede se o seu aplicativo:
- Deve limitar o acesso a um conjunto específico de domínios externos aprovados
- Precisa evitar a exfiltração acidental de dados
- Deve estar em conformidade com os padrões de segurança ou conformidade que restringem o tráfego de saída da Internet
Domínios de saída necessários para implantação de aplicativo
Ao usar políticas de rede de saída restritas, é necessário incluir domínios específicos na lista de permissão para que as compilações de aplicativo ou a execução tenham êxito. Sem esses domínios, as implantações de aplicativo falham porque o processo de build não pode baixar dependências ou se comunicar com os serviços necessários.
Os domínios a seguir são necessários para todas as implantações de aplicativos do Databricks:
| Domínio | Propósito |
|---|---|
*.databricksapps.com |
Serviço de aplicativo e conectividade do usuário |
pypi.org, files.pythonhosted.org |
Downloads de pacotes Python durante a construção do aplicativo (necessário se o aplicativo usar requirements.txt) |
registry.npmjs.org |
Download de pacotes do Node.js durante as compilações de aplicativos (necessário se seu aplicativo usar package.json) |
:::
Além disso, Azure implantações podem exigir esses domínios:
| Domínio | Propósito |
|---|---|
*.blob.core.windows.net |
Armazenamento de Blobs do Azure endpoints usados por aplicativos que se conectam ao armazenamento do Azure |
*.dfs.core.windows.net |
Azure Data Lake Storage endpoints usados por aplicativos que se conectam ao Azure Data Lake Storage (ADLS) |
:::
:::
Seu aplicativo pode exigir domínios adicionais dependendo de suas dependências específicas ou das APIs externas que ele chama. Por exemplo, se seu aplicativo chamar uma API REST de terceiros, adicione o domínio da API à lista de permissões.
Importante
Em ambientes Link Privado com saída restrita, entradas de lista de permissões de domínio ausentes geralmente causam falhas de implantação do aplicativo. Se o aplicativo falhar na implantação, verifique a tabela do system.access.outbound_network sistema para tentativas de conexão negadas para identificar quais domínios adicionar. Consulte Verificar logs de negação.
Práticas recomendadas para configurar políticas de rede
Siga estas diretrizes para evitar interrupções não intencionais e garantir que seus aplicativos possam acessar os recursos necessários:
- Permitir apenas destinos necessários. Adicione FQDNs (nomes de domínio totalmente qualificados) para recursos públicos ou privados de que seu aplicativo precisa. Consulte os domínios de saída necessários para implantação de aplicativo para o conjunto mínimo de domínios necessários para implantação.
- Inclua repositórios de pacotes conforme necessário. Se o aplicativo instalar pacotes públicos de Python ou Node.js, talvez seja necessário permitir domínios como
pypi.orgpara Python ouregistry.npmjs.orgpara o Node. Seu aplicativo pode exigir domínios adicionais ou diferentes, dependendo de suas dependências específicas. Sem esses repositórios, as compilações de aplicativos que dependam derequirements.txtoupackage.jsonpodem falhar. - Use o modo de execução seca para validar sua política de rede. Esse modo simula a imposição da política sem bloquear o tráfego.
- Examine as tentativas de conexão negadas usando a
system.access.outbound_networktabela. Isso ajuda a identificar domínios que talvez seja necessário permitir. Consulte Verificar logs de negação.
- Adicione todos os domínios externos necessários, como APIs confiáveis ou contas de armazenamento Azure não registradas no Catálogo do Unity.
Implantar aplicativos em ambientes de Link Privado
Se o workspace usar conectividade privada de front-end, você deverá concluir etapas de configuração adicionais para implantar e usar aplicativos do Databricks. Sem essa configuração, as implantações de aplicativo podem falhar ou os usuários podem não conseguir acessar o aplicativo.
Configuração de DNS
Você deve configurar o encaminhamento de DNS condicional para o domínio databricksapps.com para que as URLs do app sejam resolvidas para endereços IP privados em vez de endereços IP públicos. Sem essa configuração, os usuários por trás de uma rede privada não podem acessar aplicativos implantados.
Adicione regras de encaminhamento condicional para os seguintes domínios ao servidor DNS do Azure:
*.databricksapps.com*.azuredatabricks.net*.privatelink.azuredatabricks.net
Verifique se a VNet é vinculada à Zona Azure DNS privado. Para obter instruções detalhadas de configuração de DNS, consulte a configuração de DNS personalizado.
Requisitos de saída
Em ambientes Link Privado com saída restrita, os aplicativos exigem conectividade de saída para domínios específicos durante o tempo de build e o runtime. Consulte os domínios de saída necessários para implantação de aplicativo para obter a lista completa de domínios para a lista de permissões.
Para configurar a saída para aplicativos em um ambiente Link Privado:
- Crie ou atualize uma NCC (configuração de conectividade de rede) e anexe-a ao workspace que hospeda seu aplicativo.
- Crie ou atualize uma política de rede para permitir a lista de domínios necessários.
- Use o modo de execução seca primeiro para validar sua configuração sem bloquear o tráfego.
- Examine a tabela do
system.access.outbound_networksistema para ver as tentativas de conexão negadas durante a implantação do aplicativo.
Solucionar problemas de falhas na implantação do Link Privado
Se o aplicativo falhar ao fazer a implementação em um ambiente do Link Privado:
Verifique os logs de negação de saída. Consulte a tabela do
system.access.outbound_networksistema para eventos recentes de negação. Consulte Verificar logs de negação.SELECT * FROM system.access.outbound_network WHERE event_time >= CURRENT_TIMESTAMP() - INTERVAL 2 HOUR ORDER BY event_time DESC;Verifique a resolução de DNS. Confirme se a URL do aplicativo é resolvida para um endereço IP privado, não um endereço IP público. Use
nslookupde dentro de sua rede privada para verificar:nslookup <your-app-name>.databricksapps.comExamine a configuração da política de rede. Verifique se os domínios necessários estão na lista de permissões. Domínios ausentes para repositórios de pacote (
pypi.org,registry.npmjs.org) são a causa mais comum de falhas de build.Reinicie o aplicativo. Depois de atualizar as políticas de rede, reimplante ou reinicie o aplicativo para que as políticas atualizadas entrem em vigor. Consulte Reiniciar ou reimplantar cargas de trabalho sem servidor.
Criptografia e roteamento de tráfego
Os Aplicativos do Databricks usam caminhos de roteamento dedicados e várias camadas de criptografia para proteger as comunicações de rede e proteger os dados.
Roteamento de tráfego
O tráfego entre o plano de controle Azure Databricks, o plano de computação, outros recursos Azure Databricks e os serviços de nuvem viaja pela rede global do provedor de nuvem e não atravessa a Internet pública.
O tráfego entre os usuários e databricksapps.com pode passar pela Internet pública dependendo do local de rede do usuário. Para evitar o roteamento da Internet pública, configure a conectividade privada de front-end.
Criptografia em trânsito
Todas as comunicações de rede de e para aplicativos são criptografadas:
-
Tráfego do usuário: A comunicação entre os usuários e
databricksapps.comusa a criptografia TLS (Transport Layer Security) 1.3. - Tráfego do plano de controle: A comunicação entre o plano de controle do Azure Databricks e o plano de computação usa TLS mútuo (mTLS) para operações de gerenciamento, incluindo a criação, atualização e exclusão de aplicativos.
Criptografia em repouso
O Databricks Apps criptografa dados armazenados usando os seguintes métodos:
- Application code: Azure Databricks armazena o código de aplicativo em arquivos do espaço de trabalho e usa a mesma criptografia que notebooks e outros arquivos do espaço de trabalho.
- Armazenamento de computação: Os aplicativos usam discos do sistema operacional de host efêmero criptografados com o AES-256 e a implementação de criptografia padrão do provedor de nuvem.