Sobre o isolamento de rede no GKE


Nesta página, explicamos como o isolamento de rede e os controles de acesso funcionam para o plano de controle e os nós do cluster do Google Kubernetes Engine (GKE). Esta página substitui a página que descreve o conceito de clusters particulares.

Há dois aspectos a serem considerados ao decidir como configurar o isolamento de rede:

  • Acesso ao plano de controle, que se relaciona a quem pode acessar o plano de controle do cluster.
  • Rede de cluster, que se relaciona ao isolamento de nós.

Nesta página, mostramos como controlar e personalizar quem pode acessar o plano de controle e os nós do cluster (em um cluster padrão) ou as cargas de trabalho (em um cluster do Autopilot). Essa personalização é relevante quando você está decidindo a configuração de rede para o cluster. Para definir sua configuração de rede, consulte Personalizar o isolamento de rede.

Prática recomendada:

Planeje e projete a configuração de isolamento de rede com arquitetos, engenheiros e administradores de rede da organização ou outra equipe responsável pela definição, implementação e manutenção da arquitetura de rede.

Acesso ao plano de controle

Nesta seção, você vai considerar quem pode acessar seu plano de controle.

Todos cluster do GKE têm um plano de controle que processa solicitações da API Kubernetes. O plano de controle é executado em uma máquina virtual (VM) que está em uma rede VPC em um projeto gerenciado pelo Google. Um cluster regional tem várias réplicas do plano de controle, cada uma executada na própria VM.

O plano de controle tem dois tipos de endpoints para acesso ao cluster:

  • Endpoint baseado em DNS
  • Endpoints baseados em IP
Prática recomendada:

Use apenas o endpoint baseado em DNS para acessar o plano de controle e ter uma configuração simplificada e uma camada de segurança flexível e baseada em políticas.

Endpoint baseado em DNS

O endpoint baseado em DNS fornece um DNS ou nome de domínio totalmente qualificado (FQDN) exclusivo para cada plano de controle do cluster. Esse nome DNS pode ser usado para acessar seu plano de controle. O nome DNS é resolvido para um endpoint acessível de qualquer rede acessível pelas APIs do Google Cloud , incluindo redes locais ou de outros provedores de nuvem. Ao ativar o endpoint baseado em DNS, não é mais necessário um bastion host ou nós de proxy para acessar o plano de controle de outras redes VPC ou locais externos.

Para acessar o endpoint do plano de controle, é necessário configurar papéis e políticas do IAM e tokens de autenticação. Para mais detalhes sobre as permissões exatas necessárias, consulte Personalizar o isolamento de rede.

Além de políticas e tokens do IAM, também é possível configurar os seguintes atributos de acesso:

  • Controles baseados em rede ou endereço IP com o VPC Service Controls: para aumentar a segurança do plano de controle do cluster do GKE, o VPC Service Controls adiciona outra camada de segurança de acesso. Ele usa o acesso baseado no contexto com base em atributos como origem da rede.

    O VPC Service Controls não é compatível diretamente com clusters com endereços IP públicos para o plano de controle. No entanto, os clusters do GKE, incluindo os particulares e públicos, recebem proteção do VPC Service Controls quando são acessados usando o endpoint baseado em DNS.

    Configure o VPC Service Controls para proteger o endpoint baseado em DNS do cluster do GKE incluindo container.googleapis.com e kubernetesmetadata.googleapis.com na lista de serviços restritos do perímetro de serviço. Adicionar essas APIs ao perímetro de serviço vai ativar o VPC-SC para todas as operações da API GKE. Essa configuração ajuda a garantir que os perímetros de segurança definidos governem o acesso ao plano de controle.

    Ao usar políticas do IAM e o VPC Service Controls para proteger o acesso ao endpoint baseado em DNS, você cria um modelo de segurança de várias camadas para o plano de controle do cluster. O VPC Service Controls se integra aos serviços Google Cloud compatíveis. Ele alinha a configuração de segurança do cluster com os dados hospedados em outros serviços do Google Cloud .

  • Private Service Connect ou Cloud NAT: para acessar o endpoint baseado em DNS de clientes que não têm acesso à Internet pública. Por padrão, o endpoint baseado em DNS é acessível pelas APIs Google Cloud disponíveis na Internet pública. Para saber mais, consulte Endpoint baseado em DNS na página "Personalizar seu isolamento de rede".

Endpoints baseados em IP

Também é possível configurar o acesso ao plano de controle usando endpoints baseados em IP.

Terminologia relacionada a clusters e endereços IP

  • Google Cloud endereços IP externos:

    • Endereços IP externos atribuídos a qualquer VM usada por qualquer cliente hospedado em Google Cloud. Google Cloud é proprietário desses endereços IP. Para saber mais, consulte Onde posso encontrar os intervalos de IP do Compute Engine?.

    • Endereços IP externos usados por produtos do Google Cloud , como Cloud Run ou funções do Cloud Run. Qualquer cliente hospedado no Google Cloud pode instanciar esses endereços IP.O Google Cloud é o proprietário deles.

  • Endereços IP reservados pelo Google: endereços IP externos para gerenciamento de cluster do GKE. Esses endereços IP incluem processos gerenciados pelo GKE e outros serviços de produção do Google. O Google é o proprietário desses endereços IP.

  • Intervalos de endereços IP do cluster do GKE: endereços IP internos atribuídos ao cluster que o GKE usa para os nós, pods e serviços do cluster.

  • Endereços IP internos: endereços IP da rede VPC do cluster. Esses endereços IP podem incluir o endereço IP do cluster, as redes locais, os intervalos RFC 1918 ou os endereços IP públicos usados de modo privado (PUPI, na sigla em inglês) que incluem intervalos não RFC 1918.

  • Endpoint externo: o endereço IP externo que o GKE atribui ao plano de controle.

  • Endpoint interno: o endereço IP interno que o GKE atribui ao plano de controle.

  • Rede VPC: uma rede virtual em que você cria sub-redes com intervalos de endereços IP especificamente para os nós e pods do cluster.

Ao usar endpoints baseados em IP, você tem duas opções:

  • Exponha o plano de controle nos endpoints externos e internos. Isso significa que o endpoint externo do plano de controle pode ser acessado de um endereço IP externo, e o endpoint interno pode ser acessado da rede VPC do cluster. Os nós se comunicam com o plano de controle apenas no endpoint interno.

  • Exponha o plano de controle apenas no endpoint interno. Isso significa que os clientes na Internet não podem se conectar ao cluster, e o plano de controle fica acessível de qualquer endereço IP da rede VPC do cluster. Os nós se comunicam com o plano de controle apenas no endpoint interno.

    Essa é a opção mais segura ao usar endpoints baseados em IP, porque impede todo o acesso à Internet ao plano de controle. Essa é uma boa opção se você tiver cargas de trabalho que, por exemplo, exigem acesso controlado devido a regulamentos de privacidade e segurança de dados.

Em ambas as opções anteriores, é possível restringir quais endereços IP alcançam os endpoints configurando redes autorizadas. Se você usa endpoints baseados em IP, recomendamos adicionar pelo menos uma rede autorizada. As redes autorizadas concedem ao plano de controle acesso a um conjunto específico de endereços IPv4 confiáveis, além de fornecer proteção e outros benefícios de segurança para seu cluster do GKE.

Prática recomendada:

Ative as redes autorizadas ao usar endpoints baseados em IP para proteger seu cluster do GKE.

Como funcionam as redes autorizadas

As redes autorizadas fornecem um firewall baseado em IP que controla o acesso ao plano de controle do GKE. O acesso ao plano de controle depende dos endereços IP de origem. Ao ativar as redes autorizadas, você configura os endereços IP que quer permitir o acesso ao endpoint do plano de controle do cluster do GKE como uma lista de bloqueios CIDR.

A tabela a seguir mostra:

  • Os endereços IP predefinidos que sempre podem acessar o plano de controle do GKE, independentemente de você ativar as redes autorizadas.
  • Os endereços IP configuráveis que podem acessar o plano de controle quando você os coloca na lista de permissões ao ativar as redes autorizadas.
Endpoints do plano de controle Endereços IP predefinidos que podem sempre acessar os endpoints Endereço IP configurável que pode acessar os endpoints depois de ativar as redes autorizadas.
Endpoints externos e internos ativados
  • Endereços IP reservados pelo Google
  • Intervalos de endereços IP do cluster do GKE
  • Endereços IP externo na lista de permissões
  • Endereços IP internos na lista de permissões
  • Google Cloud endereços IP externos
Somente o endpoint interno ativado
  • Endereços IP reservados pelo Google
  • Intervalos de endereços IP do cluster do GKE
  • Endereços IP internos na lista de permissões.

Com uma rede autorizada, também é possível configurar a região de onde um endereço IP interno pode alcançar o endpoint interno do plano de controle. É possível permitir o acesso apenas da rede VPC do cluster ou de qualquer região Google Cloud em uma VPC ou ambiente local.

Limitações do uso de endpoints baseados em IP

  • Se você expandir uma sub-rede usada por um cluster com redes autorizadas, será necessário atualizar a configuração da rede autorizada para incluir o intervalo de endereços IP expandido.
  • Se você tiver clientes se conectando de redes com endereços IP dinâmicos, como funcionários em redes domésticas, atualize a lista de redes autorizadas com frequência para manter o acesso ao cluster.
  • Desativar o acesso ao endpoint externo do plano de controle impede que você interaja com o cluster remotamente. Se você precisar acessar o cluster remotamente, use um Bastion Host, que encaminha o tráfego do cliente para o cluster. Por outro lado, usar um endpoint baseado em DNS só exige a configuração de permissões do IAM.
  • Os endpoints baseados em IP não se integram diretamente ao VPC Service Controls. O VPC Service Controls opera no nível do perímetro de serviço para controlar o acesso e a movimentação de dados em Google Cloud. Recomendamos usar um endpoint baseado em DNS com o VPC Service Controls para uma defesa de segurança robusta.
  • É possível especificar até 100 intervalos de endereços IP autorizados (incluindo endereços IP externos e internos).

Acesso à rede de clusters

Nesta seção, discutimos o isolamento de nós em um cluster do Kubernetes.

Ativar nós particulares

Impeça que clientes externos acessem os nós provisionando-os apenas com endereços IP internos, tornando os nós particulares. As cargas de trabalho executadas em nós sem um endereço IP externo não podem acessar a Internet, a menos que o NAT esteja ativado na rede do cluster. Você pode mudar essas configurações a qualquer momento.

É possível ativar nós particulares no nível de um cluster individual ou no nível do pool de nós (para Standard) ou da carga de trabalho (para Autopilot). Ativar nós particulares no nível do pool de nós ou da carga de trabalho substitui qualquer configuração de nó no nível do cluster.

Se você atualizar um pool de nós público para o modo particular, as cargas de trabalho que exigem acesso fora da rede do cluster poderão falhar nos seguintes cenários:

  • Clusters em uma rede VPC compartilhada em que o Acesso privado do Google não está ativado. Ative manualmente o Acesso privado do Google para garantir que o GKE faça o download da imagem de nó atribuída. Para clusters que não estão em uma rede VPC compartilhada, o GKE ativa automaticamente o Acesso privado do Google.

  • Cargas de trabalho que exigem acesso à Internet em que o Cloud NAT não está ativado ou uma solução NAT personalizada não está definida. Para permitir o tráfego de saída para a Internet, ative o Cloud NAT ou uma solução NAT personalizada.

Independentemente de você ativar ou não os nós particulares, o plano de controle ainda se comunica com todos os nós apenas por endereços IP internos.

Benefícios do isolamento de rede

Confira os benefícios do isolamento de rede:

  • Flexibilidade:

    • Os clusters têm configuração unificada e flexível. Clusters com ou sem endpoints externos compartilham a mesma arquitetura e oferecem suporte à mesma funcionalidade. É possível proteger o acesso com base em controles e práticas recomendadas que atendam às suas necessidades. Toda a comunicação entre os nós no cluster e o plano de controle usa um endereço IP interno.
    • É possível mudar as configurações de acesso ao plano de controle e de configuração do nó do cluster a qualquer momento sem precisar recriar o cluster.
    • É possível ativar o endpoint externo do plano de controle se você precisar gerenciar o cluster de qualquer local com acesso à Internet ou de redes ou dispositivos que não estão conectados diretamente à sua VPC. Ou você pode desativar o endpoint externo para aumentar a segurança se precisar manter o isolamento de rede para cargas de trabalho sensíveis. Em ambos os casos, é possível usar redes autorizadas para limitar o acesso a intervalos de IP confiáveis.
  • Segurança :

    • Os endpoints baseados em DNS com o VPC Service Controls oferecem um modelo de segurança multicamadas que protege seu cluster contra redes não autorizadas e identidades não autorizadas que acessam o plano de controle. O VPC Service Controls se integra aos Registros de auditoria do Cloud para monitorar o acesso ao plano de controle.
    • Os nós particulares e as cargas de trabalho executadas neles não são acessíveis diretamente da Internet pública, o que reduz significativamente o potencial de ataques externos ao cluster.
    • É possível bloquear o acesso ao plano de controle de Google Cloud endereços IP externos ou de endereços IP externo para isolar totalmente o plano de controle do cluster e reduzir a exposição a possíveis ameaças à segurança.
  • Conformidade: se você trabalha em um setor com regulamentações rígidas para acesso e armazenamento de dados, os nós particulares ajudam na conformidade, garantindo que os dados sensíveis permaneçam na sua rede particular.

  • Controle: os nós particulares oferecem controle granular sobre como o tráfego flui para dentro e para fora do cluster. É possível configurar regras de firewall e políticas de rede para permitir apenas a comunicação autorizada. Se você opera em ambientes de várias nuvens, os nós particulares podem ajudar a estabelecer uma comunicação segura e controlada entre diferentes ambientes.

  • Custo: ao ativar nós particulares, você pode reduzir os custos dos nós que não precisam de um endereço IP externo para acessar serviços públicos na Internet.

A seguir