Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Databricks Apps suporta 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 as 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
O Azure Databricks implementa aplicações no plano computacional serverless, onde recebem o tráfego diretamente. Isso é semelhante a outros serviços otimizados para rotas, como o Model Serving e o Vetor Search.
O processo de conexão funciona da seguinte forma:
- Os pedidos iniciais de utilizadores a uma aplicação Azure Databricks iniciam a autenticação OAuth com o plano de controlo para validar a sessão e autorizar o acesso à aplicação.
- Após a autenticação bem-sucedida, todas as solicitações subsequentes são roteadas 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 aplicam-se ao tráfego do Databricks Apps. Isso inclui listas de acesso IP e configurações de conectividade privada front-end.
Controlos de entrada
Use as seguintes funcionalidades para limitar o acesso ao seu espaço de trabalho Azure Databricks e às aplicações a partir da internet pública.
- Listas de acesso IP: Restrinja o acesso ao espaço de trabalho e ao aplicativo a intervalos de IP conhecidos e confiáveis habilitando listas de acesso IP no nível do espaço de trabalho. Apenas o tráfego dos intervalos de IP configurados é permitido. Para obter detalhes, consulte Configurar listas de acesso IP para espaços de trabalho.
Connectividade privada front-end: Encaminhar o tráfego de entrada através de uma ligação Azure Private Link para aceder de forma segura às aplicações através do seu VNet.
Você deve configurar o encaminhamento DNS condicional para o domínio
databricksapps.compara garantir a resolução de nomes adequada através da sua conexão privada. Caso contrário, as consultas DNS para o domínio da sua aplicação podem ser direcionadas para endereços IP públicos em vez do endpoint privado. Para instruções de configuração, consulte Configurar o Inbound Private Link.URLs regionais legadas não são suportadas com aplicações Databricks porque não suportam OAuth, que é necessário para autenticação de aplicações. Para detalhes, consulte URL legado regional.
Controlos de saída
Para controlar o tráfego de saída do seu aplicativo, crie uma configuração de conectividade de rede (NCC) e aplique políticas de rede ao espaço de trabalho que hospeda o aplicativo.
Configurações de conectividade de rede
Use uma configuração conectividade de rede para ligar a sua aplicação de forma segura a Azure serviços. 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 outros cálculos sem servidor.
Para restringir ainda mais o tráfego de saída para destinos privados, configure endpoints privados serverless para recursos do Azure ou encaminhe o tráfego através de um balanceador de carga Azure no seu VNet.
Políticas de rede
Use políticas de rede para impor restrições de saída em aplicativos 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 no nível 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
- Necessidade de evitar a exfiltração acidental de dados
- Deve cumprir com padrões de segurança ou conformidade que restringem o tráfego de saída da Internet
Domínios de saída obrigatórios para implementação de aplicações
Quando usa políticas de rede com restrições de saída, deve incluir na lista de permissões domínios específicos para que as builds de apps ou durante a execução (runtime) tenham sucesso. Sem estes domínios, as implementações de aplicações falham porque o processo de compilação não consegue descarregar dependências nem comunicar com os serviços necessários.
Os seguintes domínios são exigidos para todas as implementações de aplicações Databricks:
| Domain | Purpose |
|---|---|
*.databricksapps.com |
Serviço de aplicações e conectividade do utilizador |
pypi.org, files.pythonhosted.org |
Downloads de pacotes Python durante as compilações da aplicação (obrigatório se a sua aplicação usar requirements.txt) |
registry.npmjs.org |
Downloads de pacotes Node.js durante a construção da aplicação (obrigatório se a sua aplicação usar package.json) |
:::
Além disso, as implementações do Azure podem exigir estes domínios:
| Domain | Purpose |
|---|---|
*.blob.core.windows.net |
Azure Blob Storage endpoints usados por aplicações que se ligam ao armazenamento do Azure |
*.dfs.core.windows.net |
Endpoints do Azure Data Lake Storage usados por aplicações que se ligam ao ADLS |
:::
:::
A tua aplicação pode precisar de domínios adicionais dependendo das dependências específicas ou das APIs externas que chama. Por exemplo, se a sua aplicação chamar uma API REST de terceiros, adicione o domínio dessa API à lista de permissões.
Importante
Em ambientes Private Link com saída restrita, a ausência de entradas de domínio na lista de permissões frequentemente causa falhas na implementação da aplicação. Se a tua aplicação falhar em implementar, verifica a system.access.outbound_network tabela do sistema para tentativas de ligação negada e identifica quais os domínios a 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:
- Permita apenas os destinos necessários. Adicione FQDNs (nomes de domínio totalmente qualificados) para recursos públicos ou privados de que seu aplicativo precisa. Veja Domínios de saída obrigatórios para implementação de aplicações para o conjunto mínimo de domínios necessários para a implementação.
- Inclua repositórios de pacotes conforme necessário. Se a sua aplicação instalar pacotes públicos Python ou Node.js, pode ser necessário permitir domínios como
pypi.orgpara Python, ouregistry.npmjs.orgpara 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 dependem derequirements.txtoupackage.jsonpodem falhar. - Use o modo de execução seca para validar sua política de rede. Este modo simula a aplicação de políticas sem bloquear o tráfego.
- Revise 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 quaisquer domínios externos necessários, como APIs de confiança ou contas de armazenamento Azure não registadas no Unity Catalog.
Implementar aplicações em ambientes Private Link
Se o seu espaço de trabalho utiliza conectividade privada front-end, deve completar passos adicionais de configuração para implementar e usar aplicações Databricks. Sem esta configuração, as implementações de aplicações podem falhar ou os utilizadores podem não conseguir aceder à aplicação.
Configuração do DNS
Deve configurar o encaminhamento DNS condicional para o domínio databricksapps.com para que os URLs das aplicações sejam resolvidos em endereços IP privados em vez de endereços IP públicos. Sem esta configuração, os utilizadores atrás de uma rede privada não conseguem aceder às aplicações implementadas.
Adicione regras de encaminhamento condicional para os seguintes domínios ao seu servidor Azure DNS:
*.databricksapps.com*.azuredatabricks.net*.privatelink.azuredatabricks.net
Verifica se o teu VNet está ligado à Zona Azure Private DNS. Para instruções detalhadas de configuração do DNS, consulte Configuração DNS Personalizada.
Requisitos de saída
Em ambientes Private Link com saída restrita, as aplicações requerem conectividade de saída a domínios específicos tanto durante o tempo de compilação como durante a execução. Consulte Domínios de saída obrigatórios para implementação de aplicações para a lista completa de domínios a incluir na lista de permitidos.
Para configurar a saída de aplicações num ambiente Private Link:
- Crie ou atualize uma configuração de conectividade de rede (NCC) e anexe-a ao espaço de trabalho que aloja a sua aplicação.
- Crie ou atualize uma política de rede para permitir a lista dos domínios necessários.
- Use primeiro o modo de prova a seco para validar a sua configuração sem bloquear o tráfego.
- Consulte a
system.access.outbound_networktabela do sistema para quaisquer tentativas de ligação negadas durante a implementação da aplicação.
Resolução de falhas na implementação de Private Link
Se a sua aplicação não conseguir ser implementada num ambiente Private Link:
Verifique os registos de recusas de saída. Consulte a
system.access.outbound_networktabela do sistema 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;Verificar a resolução DNS. Confirme que o URL da sua aplicação redireciona para um endereço IP privado, e não para um endereço IP público. Use
nslookupa partir da sua rede privada para verificar:nslookup <your-app-name>.databricksapps.comRevise a configuração da política de rede. Verifica se os domínios necessários estão na lista de permissões. Domínios em falta para repositórios de pacotes (
pypi.org,registry.npmjs.org) são a causa mais comum de falhas de compilação.Reinicie o aplicativo. Após atualizar as políticas de rede, reimplante ou reinicie a aplicação para que as políticas atualizadas entrem em vigor. Veja Reinicie ou reimplante cargas de trabalho serverless.
Criptografia e roteamento de tráfego
O Databricks Apps usa caminhos de roteamento dedicados e várias camadas de criptografia para proteger as comunicações de rede e os dados.
Roteamento de tráfego
O tráfego entre o plano de controlo do Azure Databricks, o plano de computação, outros recursos do Azure Databricks e os serviços cloud viaja pela rede global do fornecedor de cloud e não atravessa a internet pública.
Tráfego entre usuários e databricksapps.com pode atravessar a Internet pública, dependendo do local de rede do usuário. Para evitar o roteamento público da Internet, configure a conectividade privada front-end.
Encriptação em trânsito
Todas as comunicações de rede de e para aplicações são encriptadas:
-
Tráfego de utilizadores: Comunicação entre usuários e
databricksapps.comusa criptografia Transport Layer Security (TLS) 1.3. - Tráfego do plano de controlo: A comunicação entre o plano de controlo Azure Databricks e o plano de computação utiliza TLS mútuo (mTLS) para operações de gestão, incluindo criação de aplicações, atualizações e eliminação.
Encriptação em repouso
O Databricks Apps criptografa os dados armazenados usando os seguintes métodos:
- Application code: Azure Databricks armazena o código da aplicação em ficheiros de espaço de trabalho e utiliza a mesma encriptação que os notebooks e outros ficheiros de espaço de trabalho.
- Armazenamento de computação: Os aplicativos usam discos efêmeros do sistema operacional host criptografados com AES-256 e a implementação de criptografia padrão do provedor de nuvem.