Criar políticas de rede de tráfego entre projetos

Nesta página, você encontra instruções para configurar políticas de rede de tráfego entre projetos no Google Distributed Cloud (GDC) com isolamento físico.

O tráfego entre projetos se refere à comunicação entre serviços e cargas de trabalho de namespaces de projetos diferentes, mas dentro da mesma organização.

Por padrão, os serviços e as cargas de trabalho em um projeto são isolados de serviços e cargas de trabalho externos. No entanto, serviços e cargas de trabalho de namespaces de projetos diferentes e dentro da mesma organização podem se comunicar entre si aplicando políticas de rede de tráfego entre projetos.

Se for necessário aplicar o tráfego entre projetos em uma única zona, consulte Criar políticas de rede no nível da carga de trabalho.

Antes de começar

Para configurar políticas de rede de tráfego entre projetos, você precisa ter o seguinte:

Criar uma política de tráfego entre projetos

É possível definir políticas de tráfego de entrada ou saída entre projetos para gerenciar a comunicação entre eles.

É possível criar políticas de rede globais entre projetos que se aplicam a todas as zonas no seu universo do GDC. Para mais informações, consulte O que é um universo?

Criar uma regra de firewall de entrada global para tráfego entre projetos

Para que as cargas de trabalho ou os serviços do projeto permitam conexões de outras cargas de trabalho em outro projeto da sua organização, é necessário configurar uma regra de firewall de entrada para permitir o tráfego de entrada de outras cargas de trabalho do projeto.

Essa política global de entrada se aplica a todas as zonas da sua organização.

Siga as etapas abaixo para criar uma regra de firewall e permitir o tráfego de entrada de cargas de trabalho em outro projeto:

Console

  1. No console do GDC do projeto que você está configurando, acesse Rede > Firewall no menu de navegação para abrir a página Firewall.
  2. Clique em Criar na barra de ações para começar a criar uma regra de firewall.
  3. Na página Detalhes da regra de firewall, preencha as seguintes informações:

    1. No campo Nome, insira um nome válido para a regra de firewall.
    2. Na seção Direção do tráfego, selecione Entrada para permitir o tráfego de entrada de cargas de trabalho em outros projetos.
    3. 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.
    4. Se o destino for um serviço do projeto, selecione o nome dele no menu suspenso Serviço.
    5. Na seção De, selecione uma das seguintes opções:
      • Todos os projetos:permite conexões de cargas de trabalho em todos os projetos da mesma organização.
      • Outro projeto e Todas as cargas de trabalho do usuário:permitem conexões de cargas de trabalho em outro projeto da mesma organização.
    6. Se você quiser transferir cargas de trabalho apenas de outro projeto, selecione um projeto a que você tenha acesso na lista de projetos do menu suspenso ID do projeto.
    7. 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.
  4. Na página Detalhes da regra de firewall, clique em Criar.

Agora você permitiu conexões de outras cargas de trabalho de projetos na mesma organização. Depois de criar a regra de firewall, ela fica visível em uma tabela na página Firewall.

API

A política a seguir permite que as cargas de trabalho no projeto PROJECT_1 aceitem conexões de cargas de trabalho no projeto PROJECT_2, bem como o tráfego de retorno para os mesmos fluxos. Aplique a política:

kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF
apiVersion: networking.global.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
  namespace: PROJECT_1
  name: allow-inbound-traffic-from-PROJECT_2
spec:
  policyType: Ingress
  subject:
    subjectType: UserWorkload
  ingress:
  - from:
    - projectSelector:
        projects:
          matchNames:
          - PROJECT_2
EOF

Substitua GLOBAL_API_SERVER pelo caminho do kubeconfig do servidor da 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.

O comando anterior permite que PROJECT_2 acesse PROJECT_1, mas não permite conexões iniciadas de PROJECT_1 para PROJECT_2. Para o último, é preciso ter uma política recíproca no projeto PROJECT_2. Aplique a política de reciprocidade:

kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF
apiVersion: networking.global.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
  namespace: PROJECT_2
  name: allow-inbound-traffic-from-PROJECT_1
spec:
  policyType: Ingress
  subject:
    subjectType: UserWorkload
  ingress:
  - from:
    - projectSelector:
        projects:
          matchNames:
          - PROJECT_1
EOF

Agora, as conexões são permitidas de e para PROJECT_1 e PROJECT_2.

Criar uma regra de firewall de saída global para tráfego entre projetos

Quando você concede uma política de tráfego de entrada entre projetos para permitir que cargas de trabalho em um projeto aceitem conexões de cargas de trabalho em outro projeto, essa ação também concede o tráfego de retorno para os mesmos fluxos. Portanto, não é necessário ter uma política de rede de tráfego entre projetos de saída no projeto original.

Essa política global de saída se aplica apenas a todas as zonas no seu universo do GDC.

Por exemplo, se você criar uma política que permita o tráfego de PROJECT_1 para PROJECT_2 e a proteção contra exfiltração de dados estiver desativada, crie uma política de entrada em PROJECT_2 e uma política de saída em PROJECT_1. No entanto, os pacotes de respostas são excluídos da aplicação da política, então você não precisa de outras políticas.

Siga estas etapas para criar uma regra de firewall e permitir o tráfego de saída de cargas de trabalho em um projeto:

  1. No console do GDC do projeto que você está configurando, acesse Rede > Firewall no menu de navegação para abrir a página Firewall.
  2. Clique em Criar na barra de ações para começar a criar uma regra de firewall.
  3. Na página Detalhes da regra de firewall, preencha as seguintes informações:

    1. No campo Nome, insira um nome válido para a regra de firewall.
    2. 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.
    3. 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.
    4. Se o destino for um serviço do projeto, selecione o nome dele no menu suspenso Serviço.
    5. Na seção Para, selecione uma das seguintes opções:
      • Todos os projetos:permite conexões com cargas de trabalho em todos os projetos da mesma organização.
      • Outro projeto e Todas as cargas de trabalho do usuário:permitem conexões com cargas de trabalho em outro projeto da mesma organização.
    6. Se você quiser transferir cargas de trabalho apenas para outro projeto, selecione um projeto a que você tenha acesso na lista de projetos do menu suspenso ID do projeto.
    7. 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.
  4. Na página Detalhes da regra de firewall, clique em Criar.

Agora você permitiu conexões com outras cargas de trabalho de projetos na mesma organização. Depois de criar a regra de firewall, ela fica visível em uma tabela na página Firewall.