Como proteger o IAP para encaminhamento de TCP com o VPC Service Controls

Nesta página, descrevemos como usar o VPC Service Controls para proteger o IAP para encaminhamento de TCP e como usar o IAP para encaminhamento de TCP em um perímetro do VPC Service Controls.

Antes de começar

  1. Consulte a Visão geral do VPC Service Controls.

  2. Configure o uso do encaminhamento de TCP do IAP sem um perímetro de serviço.

  3. Crie um perímetro de serviço usando o VPC Service Controls. Esse perímetro protege os recursos gerenciados pelo Google dos serviços especificados por você. Ao criar seu perímetro de serviço, faça o seguinte:

    1. Adicione o projeto que contém a instância do Compute Engine a que você quer se conectar com o IAP aos projetos dentro do perímetro de serviço. Se você estiver executando um IAP para cliente TCP em uma instância do Compute Engine, coloque também o projeto que contém essa instância no perímetro.

    2. Adicione a API Identity-Aware Proxy TCP à lista de serviços protegidos pelo perímetro de serviço.

    Se você criou o perímetro de serviço sem adicionar os projetos e serviços necessários, consulte Como gerenciar perímetros de serviço para saber como atualizá-lo.

Configurar registros DNS usando o Cloud DNS

Se o IAP para cliente TCP, provavelmente a Google Cloud CLI, não estiver sendo executado dentro de nenhum perímetro, pule esta etapa. Por outro lado, se você executar o cliente dentro de um perímetro, será necessário configurar os registros DNS para o IAP para TCP.

O IAP para TCP usa domínios que não são subdomínios de googleapis.com. Ao usar o Cloud DNS, adicione registros DNS para garantir que a rede VPC processe corretamente as solicitações enviadas a esses domínios. Para mais informações sobre rotas VPC, consulte Visão geral de rotas.

Siga as etapas a seguir para criar uma zona gerenciada de um domínio, adicionar registros DNS a fim de rotear solicitações e executar a transação. Use a CLI gcloud com o terminal preferido ou use o Cloud Shell, que tem a CLI gcloud pré-instalada.

  1. Configure o DNS *.googleapis.com como é comum para integrações do VPC Service Controls.

  2. Colete estas informações para usar ao configurar os registros DNS:

    • PROJECT_ID é o código do projeto que hospeda sua rede VPC.

    • NETWORK_NAME é o nome da rede VPC em que você está executando o IAP para o cliente TCP.

    • ZONE_NAME é um nome para a zona que você está criando. Por exemplo, iap-tcp-zone.

  3. Crie uma zona gerenciada privada para o domínio tunnel.cloudproxy.app para que a rede VPC possa processá-la.

    gcloud dns managed-zones create ZONE_NAME \
     --visibility=private \
     --networks=https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME \
     --dns-name=tunnel.cloudproxy.app \
     --description="Description of your managed zone"
    
  4. Inicie uma transação.

    gcloud dns record-sets transaction start --zone=ZONE_NAME
    
  5. Adicione o registro A DNS a seguir. Isso redireciona o tráfego para o VIP restrito do Google (endereço IP virtual).

    gcloud dns record-sets transaction add \
     --name=tunnel.cloudproxy.app. \
     --type=A 199.36.153.4 199.36.153.5 199.36.153.6 199.36.153.7 \
     --zone=ZONE_NAME \
     --ttl=300
    
  6. Inclua o registro CNAME DNS a seguir para apontar para o registro A que você acabou de adicionar. Isso redireciona todo o tráfego que corresponde ao domínio para os endereços IP listados na etapa anterior.

    gcloud dns record-sets transaction add \
     --name="*.tunnel.cloudproxy.app." \
     --type=CNAME tunnel.cloudproxy.app. \
     --zone=ZONE_NAME \
     --ttl=300
    
  7. Execute a transação.

    gcloud dns record-sets transaction execute --zone=ZONE_NAME
    

Como configurar o DNS com o BIND

Em vez de usar o Cloud DNS, é possível usar o BIND. Nesse caso, siga as instruções para configurar o DNS com o BIND, mas use o IAP para domínios TCP em vez dos domínios googleapis.com gerais.

Como usar o VIP particular

Em vez de usar o VIP restrito, talvez seja possível usar o VIP privado, dependendo de como você configurou o perímetro e a rede. Se você preferir fazer isso, use

199.36.153.8 199.36.153.9 199.36.153.10 199.36.153.11

No lugar de

199.36.153.4 199.36.153.5 199.36.153.6 199.36.153.7

nas instruções para configurar seus registros DNS.

Como usar uma VPC compartilhada

Se você estiver usando uma VPC compartilhada, será necessário adicionar o host e os projetos de serviço ao perímetro de serviço. Consulte Como gerenciar perímetros de serviço.

A seguir