Nesta página, você encontra instruções para configurar políticas de rede de tráfego entre organizações no Google Distributed Cloud (GDC) com isolamento físico.
O tráfego entre organizações se refere à comunicação entre serviços e cargas de trabalho de diferentes organizações.
Antes de começar
Para configurar políticas de rede de tráfego entre organizações, você precisa ter o seguinte:
- Os papéis necessários de identidade e acesso. Para mais informações, consulte Preparar papéis predefinidos e acesso.
- Um projeto atual. Para mais informações, consulte Criar um projeto.
- Desative exfiltração de dados dados.
- Uma das seguintes configurações de rede:
- Organizações que usam um Interconnect AttachmentGroup comum.
- Organizações que usam a conectividade pelas respectivas redes externas com peering.
Criar uma política de tráfego entre organizações
É possível definir políticas de tráfego de entrada ou saída entre organizações para gerenciar a comunicação entre serviços e cargas de trabalho de diferentes organizações.
O tráfego entre organizações se refere à comunicação entre serviços e cargas de trabalho de diferentes organizações.
É possível criar políticas de rede de projeto de tráfego global entre organizações que se aplicam ao tráfego em todas as zonas da sua organização. Para mais informações sobre recursos globais em um universo do GDC, consulte Visão geral de várias zonas.
Conectar serviços e cargas de trabalho a um destino fora do seu projeto em uma organização diferente exige aprovação explícita. É necessário desativar a proteção contra exfiltração de dados para permitir o tráfego entre organizações.
Criar uma regra de firewall de entrada global para tráfego entre organizações
Ao expor cargas de trabalho no seu projeto usando um balanceador de carga externo, também é necessário criar uma política de entrada ProjectNetworkPolicy
para permitir que endereços IP de clientes externos acessem as cargas de trabalho.
Essa política global de entrada se aplica a todas as zonas da sua organização.
Siga estas etapas para criar uma regra de firewall e permitir o tráfego de entrada de cargas de trabalho em um projeto de outra organização:
Console
- No console do GDC do projeto que você está configurando, acesse Rede > Firewall no menu de navegação para abrir a página Firewall.
- Clique em Criar na barra de ações para começar a criar uma regra de firewall.
Na página Detalhes da regra de firewall, preencha as seguintes informações:
- No campo Nome, insira um nome válido para a regra de firewall.
- Na seção Direção do tráfego, selecione Entrada para permitir o tráfego de entrada de cargas de trabalho em outras organizações.
- Na seção Segmentar, selecione uma das seguintes opções:
- Todas as cargas de trabalho do usuário:permite conexões com as cargas de trabalho do projeto que você está configurando.
- Serviço:indica que essa regra de firewall tem como destino um serviço específico no projeto que você está configurando.
- Se o destino for um serviço do projeto, selecione o nome dele no menu suspenso Serviço.
- Na seção De, selecione Fora da organização e insira o bloco CIDR de outra organização no campo CIDR para permitir conexões da rede dessa organização.
- Se o destino for todas as cargas de trabalho do usuário, selecione uma das seguintes opções na seção Protocolos e portas:
- Permitir tudo:permite conexões usando qualquer protocolo ou porta.
- Protocolos e portas especificados:permitem conexões usando apenas os protocolos e portas especificados nos campos correspondentes da regra de firewall de entrada.
Na página Detalhes da regra de firewall, clique em Criar.
Agora você permitiu conexões de cargas de trabalho de projetos de uma organização diferente. Depois de criar a regra de firewall, ela fica visível em uma tabela na página Firewall.
API
Configure e aplique sua própria política de entrada ProjectNetworkPolicy
personalizada:
kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF
apiVersion: networking.global.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
namespace: PROJECT
name: allow-inbound-traffic-from-external
spec:
policyType: Ingress
subject:
subjectType: UserWorkload
ingress:
- from:
- ipBlock:
cidr: CIDR
EOF
Substitua:
GLOBAL_API_SERVER
: o caminho do kubeconfig do servidor de API global. Para mais informações, consulte Servidores de API globais e zonais. Se você ainda não gerou um arquivo kubeconfig para o servidor da API, consulte Fazer login para mais detalhes.PROJECT
: o nome do projeto do GDC.CIDR
: o bloco CIDR de outra organização.
Essa política é necessária porque o balanceador de carga externo usa o retorno direto do servidor (DSR), que preserva o endereço IP externo de origem e ignora o balanceador de carga no caminho de retorno.
Criar uma regra de firewall de saída global para tráfego entre organizações
Para transferir dados para serviços fora da organização, primeiro desative a proteção contra exfiltração de dados. Em seguida, configure uma regra de firewall de saída para permitir o tráfego de saída das cargas de trabalho ou serviços do projeto.
Esta seção descreve o processo para ativar o tráfego de saída no nível do projeto. Para informações sobre como gerenciar a conectividade de saída no nível da carga de trabalho, consulte Gerenciar o tráfego de saída das cargas de trabalho.
Essa regra global de firewall de saída se aplica a todas as zonas da sua organização.
Siga estas etapas para criar uma regra de firewall e permitir o tráfego de saída de serviços ou cargas de trabalho do projeto para cargas de trabalho em outra organização:
Console
- No console do GDC do projeto que você está configurando, acesse Rede > Firewall no menu de navegação para abrir a página Firewall.
- Clique em Criar na barra de ações para começar a criar uma regra de firewall.
Na página Detalhes da regra de firewall, preencha as seguintes informações:
- No campo Nome, insira um nome válido para a regra de firewall.
- Na seção Direção do tráfego, selecione Saída para indicar que essa regra de firewall está controlando o tráfego de saída.
- Na seção Segmentar, selecione uma das seguintes opções:
- Todas as cargas de trabalho do usuário:permite conexões das cargas de trabalho do projeto que você está configurando.
- Serviço:indica que essa regra de firewall tem como destino um serviço específico no projeto que você está configurando.
- Se o destino for um serviço do projeto, selecione o nome dele no menu suspenso Serviço.
- Na seção Para, selecione Fora da organização e insira o bloco CIDR de outra organização no campo CIDR para permitir conexões com a rede dessa organização.
- Se o destino for todas as cargas de trabalho do usuário, selecione uma das seguintes opções na seção Protocolos e portas:
- Permitir tudo:permite conexões usando qualquer protocolo ou porta.
- Protocolos e portas especificados:permite conexões usando apenas os protocolos e portas especificados nos campos correspondentes da regra de firewall de saída.
Na página Detalhes da regra de firewall, clique em Criar.
Agora você permitiu conexões com outra organização. Depois de criar a regra de firewall, ela fica visível em uma tabela na página Firewall.
API
Para ativar o tráfego de saída para serviços fora da organização, personalize o recurso ProjectNetworkPolicy
. No entanto, como a prevenção contra exfiltração de dados
está ativada por padrão, sua política de saída ProjectNetworkPolicy
personalizada mostra um
erro de validação no campo de status, e o plano de dados o ignora. Esse comportamento acontece por design.
É possível transferir cargas de trabalho de um projeto específico quando você permite a exfiltração de dados dele. O tráfego de saída permitido é uma conversão de endereços de rede (NAT) de origem usando um endereço IP conhecido alocado para o projeto.
Para ativar sua política de saída personalizada, siga estas etapas:
Configure e aplique sua própria política de saída
ProjectNetworkPolicy
personalizada em todas as cargas de trabalho do usuário em um projeto.Use o exemplo a seguir:
kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF apiVersion: networking.global.gdc.goog/v1 kind: ProjectNetworkPolicy metadata: namespace: PROJECT name: allow-outbound-traffic-to-external spec: subject: subjectType: UserWorkload egress: - to: - ipBlock: cidr: CIDR EOF
A política permite o tráfego de saída para todos os hosts no bloco CIDR que residem fora da organização. A primeira tentativa precisa causar um erro de status intencional e necessário.
Confirme se há um erro de validação no seu status.
Peça ao administrador do IAM da organização para desativar a prevenção contra exfiltração de dados. Essa ação ativa sua configuração e impede todo o outro tráfego de saída.
Verifique a
ProjectNetworkPolicy
que você criou e confira se o erro no campo de status de validação desapareceu e se o statusReady
éTrue
, indicando que sua política está em vigor:kubectl --kubeconfig GLOBAL_API_SERVER \ get projectnetworkpolicy allow-outbound-traffic-to-external \ -n PROJECT -o yaml
Substitua:
GLOBAL_API_SERVER
: o caminho do kubeconfig do servidor de API global. Para mais informações, consulte Servidores de API globais e zonais. Se você ainda não gerou um arquivo kubeconfig para o servidor da API, consulte Fazer login para mais detalhes.PROJECT
: o nome do projeto do GDC.
Depois de aplicar essa política, e desde que você não tenha definido outras políticas de saída, todo o tráfego de saída será negado para PROJECT
.