Configurar a rede para os aplicativos Databricks
Databricks Apps oferece suporte a controle de rede detalhado para ajudar você a proteger e gerenciar como seu aplicativo se comunica com a Internet e 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 de front-end e políticas de rede.
Arquitetura de rede
Databricks implantou aplicativos no plano compute serverless , onde eles recebem tráfego diretamente. Isso é semelhante a outros serviços otimizados para rotas, como o modelo de posto e o Vector Search.
O processo de conexão funciona da seguinte forma:
- As solicitações iniciais do usuário para um aplicativo 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 roteadas diretamente para o plano compute serverless , sem atravessar o plano de controle.
As políticas de segurança de rede configuradas para o plano compute serverless se aplicam ao tráfego dos aplicativos Databricks . Isso inclui listas de acesso IP e configurações de conectividade privada de front-end.
Controles de entrada
Use o recurso a seguir para limitar o acesso ao seu Databricks workspace e aos aplicativos da Internet pública.
-
Listas de acesso IP: restrinja o acesso workspace e ao aplicativo a intervalos de IP conhecidos e confiáveis habilitando listas de acesso IP no nível workspace . Somente tráfego dos intervalos de IP configurados é permitido. Para obter detalhes, consulte Configurar listas de acesso IP para o espaço de trabalho.
-
Conectividade privada de front-end: roteie o tráfego de entrada por meio do seu próprio endpoint de interface VPC em vez da Internet pública.
Você deve configurar o encaminhamento de DNS condicional para o domínio
databricksapps.com
para garantir a resolução adequada de nomes por meio de sua conexão privada. Caso contrário, as consultas DNS para o domínio do seu aplicativo podem ser resolvidas para endereços IP públicos em vez do endpoint privado. Para obter instruções de configuração, consulte Configurar conectividade privada com o Databricks.
Controles 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 site workspace que hospeda o aplicativo.
Configurações de conectividade de rede
Use uma configuração de conectividade de rede para atribuir IPs de saída estáveis e controlar como seu aplicativo se conecta ao serviço externo. Os NCCs fornecem endereços IP públicos fixos que o senhor pode adicionar às listas de permissões de sistemas externos para permitir com segurança o tráfego do Databricks.
Para restringir a saída para destinos privados, como um bucket S3 ou um balanceador de carga de rede (NLB), configure as conexões PrivateLink como parte da configuração do NCC.
Políticas de rede
Use políticas de rede para impor restrições de saída em aplicativos Databricks e outras cargas de trabalho serverless. Isso é útil quando o senhor precisa atender aos requisitos organizacionais ou compliance para controlar a conectividade de saída.
As políticas de rede estão disponíveis somente no nível Enterprise.
Aplique uma política de rede se 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 compliance que restringem o tráfego de saída da Internet
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 somente os destinos necessários. Adicione nomes de domínio totalmente qualificados (FQDNs) para recursos públicos ou privados de que seu aplicativo precisa.
-
Inclua os repositórios pacote conforme necessário. Se o seu aplicativo instalar o pacote público Python ou Node.js, talvez seja necessário permitir domínios como
pypi.org
para Python ouregistry.npmjs.org
para 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.txt
oupackage.json
podem falhar. -
Use o modo de execução seca para validar sua política de rede. Esse modo simula a aplicação de políticas sem bloquear o tráfego.
-
Analise as tentativas de conexão negadas usando a tabela
system.access.outbound_network
. Isso ajuda a identificar domínios que talvez você precise permitir. Consulte Recusa de cheque logs. -
Adicione todos os domínios externos necessários, como APIs ou AWS serviço de endpoint confiável, como S3 ou STS.
Criptografia e roteamento de tráfego
Os aplicativos Databricks usam 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 controle Databricks , o plano compute , outros recursos Databricks e o serviço cloud trafega pela rede global do provedor cloud e não atravessa a internet pública.
O tráfego entre usuários e databricksapps.com
pode atravessar a Internet pública dependendo da localização da rede do usuário. Para evitar o roteamento público da Internet, 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 de usuários: a comunicação entre usuários e
databricksapps.com
usa criptografia TLS (Transport Layer Security) 1.3. - Tráfego do plano de controle: a comunicação entre o plano de controle Databricks e o plano compute usa TLS mútuo (mTLS) para operações de gerenciamento, incluindo criação, atualizações e exclusão de aplicativos.
Criptografia em repouso
Databricks Apps criptografa os dados armazenados usando os seguintes métodos:
- Código do aplicativo: Databricks armazena o código do aplicativo em arquivos workspace e usa a mesma criptografia do Notebook e de outros arquivos workspace .
- armazenamento de computação: os aplicativos usam discos temporários do sistema operacional do host criptografados com AES-256 e a implementação de criptografia default do provedor cloud .