Pular para o conteúdo principal

Limite a saída de rede para seu workspace usando um firewall

Esta página mostra como configurar regras de firewall VPC , rotas e DNS privado para restringir a saída de rede do seu workspace Databricks no Google Cloud apenas aos serviços e destinos essenciais.

Antes de começar, você precisará de:

  • Familiaridade com a arquitetura do Databricks. Veja Arquitetura de alto nível.
  • Se você planeja usar o comando CLI gcloud , instale o SDKdo Google Cloud.
  • Você deve ter a função roles/iam.networkAdmin ou permissões suficientes.

Visão geral da configuração do firewall

Essa configuração utiliza uma abordagem de negação pordefault : bloqueia todo o tráfego de saída e, em seguida, permite seletivamente apenas as conexões necessárias. A configuração possui três componentes principais:

  1. Acesso privado ao Google : Permite que as máquinas virtuais acessem Google Cloud Storage e outros serviços do Google por meio da rede interna do Google. Isso permite que Databricks grave logs workspace no GCS sem exigir IPs públicos nos nós cluster .

  2. RotasVPC e DNS : Direcione o tráfego API do Google através de restricted.googleapis.com, que fornece acesso apenas a serviços compatíveis com VPC Service Controls . Isso impede a exfiltração de dados para serviços do Google não suportados.

  3. Regras de firewall para o serviço Databricks : Permitir saída para um endpoint específico do plano de controle Databricks :

    • Plano de controle Databricks e recurso do sistema de gerenciamento Databricks
    • Comunicação intra-sub-rede para funcionalidade de cluster
    • Hive metastore legado (porta 3306), a menos que você use um Hive metastore Apache externo (legado).
dica

Os endereços IP do serviço do plano de controle variam de acordo com a região. Mantenha os endereços IP e domínios para serviços e ativos do Databricks disponíveis ao adicionar regras de firewall da VPC. Você precisará dos endereços IP regionais e portas para seu workspace.

Configurar o firewall

Planejar o dimensionamento da sua rede

Antes de criar seu workspace, planeje o tamanho da sua rede para garantir espaço de IP suficiente para suas cargas de trabalho. Alterar a sub-rede após a criação workspace exige a atualização da configuração de rede do workspace. Consulte Atualizar a configuração de rede workspace.

Se a sub-rede for muito pequena, o workspace esgotará seu espaço de IP e fará com que a tarefa falhe. Para obter orientações sobre como dimensionar sua sub-rede com base no tamanho cluster e na quantidade workspace , consulte Dimensionamento de sub-rede para um novo workspace.

Adicionar regras de firewall da VPC

Após criar seu workspace, configure as regras do firewall para implementar o modelo de segurança de negação pordefault . Substitua os marcadores de posição no comando abaixo pelos valores específicos do seu workspace :

Obtenha o nome da sua VPC

  1. Na página workspace do consoleaccount, clique no seu workspace para iniciá-lo.
  2. Copie a parte numérica do URL após ?o=. Por exemplo, se o URL workspace for https://1676665108650415.5.gcp.databricks.com/?o=1676665108650415#, o ID workspace será 1676665108650415.
  3. O nome da sua VPC é databricks-managed-<workspace-ID>. Por exemplo, databricks-managed-1676665108650415.

Como alternativa, use a página de VPCs do Google Cloud Console para view e gerenciar regras de firewall por meio da interface do usuário.

Bloquear todas as saídas (negar pordefault)

Crie uma regra para bloquear todo o tráfego de saída. Defina a prioridade para 1100 para que ela se aplique após todas as regras de permissão específicas (que usam prioridades de 1000 a 1099). Bloquear toda a saída também bloqueia o acesso a repositórios de pacotes públicos, como pypi.org e Maven Central. Planeje isso antes de ativar uma regra de negação total.

Bash
gcloud compute firewall-rules create deny-egress \
--action DENY \
--rules all \
--destination-ranges 0.0.0.0/0 \
--direction EGRESS \
--priority 1100 \
--network <vpc-name>
importante

Set this rule's priority to 1100. Lower priority numbers are evaluated first, so setting a priority below your allow rules, 1000 or 1099, prevents Databricks from accessing essential services. This renders your workspace unusable.

dica

If you need to access internal IP space (10.0.0.0/8, 172.16.0.0/20, or 192.168.0.0/16), add specific egress rules for those ranges with priority 1000-1099.

Permitir APIs do Google (acesso restrito)

Habilite o acesso ao serviço Google Cloud por meio de um endpoint compatível com VPC Service Controls . Essas duas regras funcionam em conjunto para fornecer acesso seguro às APIs do Google:

  • 199.36.153.4/30Acesso restrito à API principal para GCE
  • 34.126.0.0/18Ponto de entrada para serviços compatíveis VPC Service Controls .
Bash
gcloud compute firewall-rules create to-google-apis \
--action ALLOW \
--rules all \
--destination-ranges 199.36.153.4/30 \
--direction EGRESS \
--priority 1000 \
--network <vpc-name>

gcloud compute firewall-rules create to-google-apis-entry-point \
--action ALLOW \
--rules tcp:443 \
--destination-ranges 34.126.0.0/18 \
--direction EGRESS \
--priority 1000 \
--network <vpc-name>

Permitir comunicação dentro da sub-rede

Para garantir o funcionamento correto do cluster, permita o tráfego dentro da sua sub-rede Databricks. Utilize o intervalo de IP primário para os nós do GCE a partir das configurações avançadas do seu workspace durante a criação.

Bash
gcloud compute firewall-rules create db-<subnet-name>-egress-intra-subnet \
--action ALLOW \
--rules all \
--destination-ranges <databricks-subnet-cidr> \
--direction EGRESS \
--priority 1000 \
--network <vpc-name>

Permitir o serviço do plano de controle Databricks (se o PSC não estiver ativado)

Permitir a saída para o endpoint do plano de controle Databricks nas portas 443 e 8443-8451. Obtenha os endereços IP regionais para seu workspace em Endereços IP e domínios para Databricks serviço e ativo.

Substitua os endereços IP de espaço reservado:

  • <web-app-ips>Endereços de entrada regionais para a aplicação web (normalmente vários blocos CIDR)
  • <scc-relay-ip>Endereço IP regional para o servidor de retransmissão de conectividade segura do cluster .
Bash
gcloud compute firewall-rules create to-databricks-control-plane \
--action ALLOW \
--rules tcp:443,tcp:8443-8451 \
--destination-ranges <web-app-ips>,<scc-relay-ip> \
--direction EGRESS \
--priority 1000 \
--network <vpc-name>
importante

Databricks recommends using a firewall that supports FQDN-based rules instead of IP-based rules. Databricks IP addresses can change and may break workspace or cluster creation if firewall rules aren't updated.

Permitir que o endpoint de conexão do serviço privado seja ativado.

Se você habilitou a opção "Habilitar Conexão de Serviço Privado" para seu workspace, permita a saída para a sub-rede endpoint do PSC em vez dos IPs públicos do plano de controle.

Bash
gcloud compute firewall-rules create egress-to-databricks-psc-subnet \
--description "Allow egress traffic to Databricks Private Service Connect (PSC) endpoint subnet for workspace access over HTTPS." \
--direction EGRESS \
--priority 1000 \
--network <vpc-name> \
--allow tcp:443,tcp:8443-8451 \
--destination-ranges <psc-subnet-range>

Permitir Hive metastore legado (opcional)

Se você usa o Hive metastore legado, permita a saída para o endereço IP do metastore regional na porta 3306. Se você usa um metastore Apache Hive metastore externo (legado), crie uma regra para o seu metastore externo.

Bash
gcloud compute firewall-rules create to-databricks-managed-hive \
--action ALLOW \
--rules tcp:3306 \
--destination-ranges <metastore-ip> \
--direction EGRESS \
--priority 1000 \
--network <vpc-name>
importante

We recommend using What is Unity Catalog? instead of the legacy Hive metastore.

Permitir entrada dentro da mesma sub-rede

Permitir tráfego de entrada dentro da sub-rede do Databricks para que os nós do cluster possam se comunicar entre si. Utilize o intervalo CIDR principal da sua sub-rede como intervalo de origem.

Bash
gcloud compute firewall-rules create db-<subnet-name>-ingress \
--action ALLOW \
--rules all \
--source-ranges <databricks-subnet-cidr> \
--direction INGRESS \
--priority 1000 \
--network <vpc-name>

Adicionar regras personalizadas (opcional)

Adicione quaisquer regras de saída adicionais que sua organização precise para a fonte de dados e outros sistemas. Defina todas as regras personalizadas ALLOW com valores de prioridade de 1000 a 1099 para que o firewall as avalie antes da regra de negação total em 1100.

As regras do seu firewall devem ser semelhantes às seguintes:

Name

Type

Filters

Protocols and ports

Action

Priority

to-google-apis

Egress

IP ranges: 199.36.153.4/30

All

Allow

1000

to-databricks-control-plane

Egress

IP ranges: Regional Control Plane IP ranges or PSC Endpoint IPs

tcp:443, 8443-8451

Allow

1000

db-<subnet-name>-egress-intra-subnet

Egress

IP ranges: Workspace subnet range

All

Allow

1000

deny-egress

Egress

IP ranges: 0.0.0.0/0

All

Deny

1100

db-<subnet-name>-ingress

Ingress

IP ranges: Workspace subnet range

All

Allow

1000

Name

Type

Filters

Protocols and ports

Action

Priority

to-google-apis

Egress

IP ranges: 199.36.153.4/30

All

Allow

1000

to-databricks-control-plane

Egress

IP ranges: Regional Control Plane IP ranges or PSC Endpoint IPs

tcp:443, 8443-8451

Allow

1000

db-<subnet-name>-egress-intra-subnet

Egress

IP ranges: Workspace subnet range

All

Allow

1000

deny-egress

Egress

IP ranges: 0.0.0.0/0

All

Deny

1100

db-<subnet-name>-ingress

Ingress

IP ranges: Workspace subnet range

All

Allow

1000

Atualizar rotas de VPC

Adicione rotas estáticas personalizadas para direcionar o tráfego da API do Google através dos intervalos VIP restritos. Cada rota utiliza o gateway de internet default como próximo salto. Essa configuração garante que máquinas virtuais sem IPs públicos possam acessar o endpoint da API restrita do Google.

Criar rotas para os seguintes intervalos de destino:

  • 199.36.153.4/30: Endpoint API de acesso privado do Google para restricted.googleapis.com
  • 34.126.0.0/18Ponto de entrada de API restrito para restricted.googleapis.com
Bash
# Route for Private Google Access API endpoints
gcloud compute routes create allow-private-google-access \
--network <vpc-name> \
--destination-range 199.36.153.4/30 \
--next-hop-gateway default-internet-gateway \
--description "Route for Private Google Access (199.36.153.4/30)"

# Route for Restricted API entry points
gcloud compute routes create allow-restricted-google-apis \
--network <vpc-name> \
--destination-range 34.126.0.0/18 \
--next-hop-gateway default-internet-gateway \
--description "Route for restricted.googleapis.com entry point (34.126.0.0/18)"

Para obter mais informações sobre como o Cloud NAT interage com o Acesso Privado do Google, consulte Interações de produtos NAT na documentação do Google Cloud.

Configurar DNS Privado para APIs do Google restritas

Configure uma zona DNS privada para redirecionar todo o tráfego da API do Google para restricted.googleapis.com. Isso garante que as VMs Databricks acessem apenas APIs do Google compatíveis com VPC Service Controls , evitando a exfiltração de dados para serviços não suportados. Para obter mais informações, consulte as opções de Acesso Privado do Google na documentação do Google Cloud.

Crie uma zona DNS privada para googleapis.com

Configure uma zona de gerenciamento DNS privada na nuvem com o domínio googleapis.com. Anexe esta zona à VPC onde suas cargas de trabalho serão executadas. Isso garante que sua zona DNS privada resolva solicitações para *.googleapis.com, não DNS público.

Bash
# Create a private DNS managed zone
gcloud dns managed-zones create restricted-apis-zone \
--description "Private DNS zone for restricted.googleapis.com" \
--dns-name "googleapis.com." \
--visibility private \
--networks "projects/<project-id>/global/networks/<vpc-name>"

Adicione registros A para restricted.googleapis.com

Adicione registros A com todos os quatro VIPs (199.36.153.4199.36.153.7) para restricted.googleapis.com.

Bash
# Add A records for restricted.googleapis.com VIPs
gcloud dns record-sets create "restricted.googleapis.com." \
--type A \
--ttl 300 \
--zone restricted-apis-zone \
--rrdatas "199.36.153.4" "199.36.153.5" "199.36.153.6" "199.36.153.7"

Redirecione o tráfego da API usando CNAMEs.

Dentro da zona DNS privada, crie um registro CNAME curinga (*.googleapis.com) apontando para restricted.googleapis.com. Isso força todo o tráfego da API do Google (por exemplo, storage.googleapis.com, bigquery.googleapis.com) a ser resolvido para o VIP restrito.

Bash
# Create a wildcard CNAME record pointing to restricted.googleapis.com
gcloud dns record-sets create "*.googleapis.com." \
--type CNAME \
--ttl 300 \
--zone restricted-apis-zone \
--rrdatas "restricted.googleapis.com."
importante

This configuration routes all Google API requests through the restricted endpoint. Only VPC Service Controls-compliant APIs are accessible. This configuration blocks services like Gmail or Maps.

Validar configuração

Teste a configuração do firewall para verificar se o workspace funciona corretamente com a saída de rede restrita:

  1. Crie e inicie um recurso compute de uso geral.
  2. Confirme se o processo foi iniciado com sucesso e atingiu o estado "Em execução" .
  3. Anexe um Notebook ao compute recurso e execute um teste simples, como o SELECT 1+1.

Automatize a implantação com o Terraform.

Para implantações em produção ou gerenciamento de múltiplos espaços de trabalho, Databricks recomenda o uso Terraform para automatizar a configuração do firewall descrita acima. A Arquitetura de Referência de Segurança (SRA) fornece módulos Terraform prontos para produção que automatizam:

  • Regras de firewallVPC para negar pordefault o tráfego de saída, o acesso ao plano de controle Databricks e APIsdo Google restritas.
  • Rotas VPC para acesso privado ao Google
  • Zonas e registros DNS privados para restricted.googleapis.com

Para começar:

  1. Clone o repositório SRA: git clone https://github.com/databricks/terraform-databricks-sra.git.
  2. Analise o módulo de implantação workspace GCP.
  3. Configure o módulo com os valores específicos do seu projeto.
  4. Aplique a configuração Terraform para provisionar seu workspace com regras de firewall.
nota

A Arquitetura de Referência de Segurança (SRA) é orientada pela comunidade e não tem suporte oficial da Databricks.

dica

As regras de firewall bloqueiam ou permitem o tráfego para destinos específicos — elas não limitam a taxa de tráfego. Se você quiser limitar a taxa de tráfego em vez de bloqueá-lo, consulte Limites de recursos para limites de taxa de API, ou Aplicar limites de taxa a serviços de modelo e MCP para limitação de taxa de endpoint do AI Gateway.