Configurar o acesso privado do Google para hosts locais

O Acesso privado do Google para hosts no local oferece uma maneira de sistemas no local se conectarem a APIs e serviços do Google por roteamento do tráfego através de um túnel do Cloud VPN ou um anexo da VLAN para Cloud Interconnect. O Acesso privado do Google para hosts locais é uma alternativa à conexão com APIs e serviços do Google pela Internet.

Neste documento, descrevemos como ativar o Acesso privado do Google para hosts locais.

Especificações e requisitos

O Acesso privado do Google para hosts locais tem os seguintes requisitos:

  • O Acesso privado do Google não ativa nenhuma API automaticamente. É necessário ativar as APIs do Google separadamente pela página de APIs e Serviços no console do Google Cloud.

  • É necessário direcionar o tráfego de APIs e serviços do Google enviados por sistemas locais para os endereços IP associados aos nomes de domínio especiais private.googleapis.com ou restricted.googleapis.com. Para detalhes sobre quais serviços podem ser acessados em cada domínio, consulte Opções de domínio.

  • Sua rede no local precisa estar conectada a uma rede VPC usando túneis do Cloud VPN ou anexos da VLAN.

  • A rede VPC a que sua rede local está conectada precisa ter rotas apropriadas para os intervalos de IP de destino private.googleapis.com ou restricted.googleapis.com. Para detalhes, consulte Roteamento de rede VPC.

  • A rede VPC a que sua rede no local está conectada precisa ter rotas adequadas para alcançar a rede no local. Os túneis do Cloud VPN ou anexos da VLAN de próximo salto que se conectam à rede no local por essas rotas precisam estar na mesma região de origem da solicitação. Se o próximo salto estiver em uma região diferente da origem da solicitação para o Acesso privado do Google, a resposta do Acesso privado do Google não alcançará a rede no local.

  • Sua rede local precisa ter rotas para os intervalos de IP de destino private.googleapis.com ou restricted.googleapis.com. Essas rotas precisam de tráfego direto para o túnel do Cloud VPN ou anexo da VLAN apropriado que se conecta à sua rede VPC. Para detalhes, consulte roteamento no local com o Cloud Router.

  • Para permitir que clientes IPv6 no ambiente local acessem as APIs do Google usando private.googleapis.com ou restricted.googleapis.com, configure a conexão com a rede VPC compatível com IPv6. Para mais informações, consulte as seguintes páginas:

  • Os clientes locais podem enviar solicitações de qualquer endereço IPv6 GUA ou ULA, exceto para o intervalo ULA fda3:e722:ac3:cc00::/64, que é reservado para uso interno.

Permissões

Proprietários de projetos, editores e membros do IAM com o papel Administrador de rede podem criar ou atualizar sub-redes e atribuir endereços IP.

Para mais informações sobre papéis, leia a documentação sobre os papéis do IAM.

Configuração de rede

O Acesso privado do Google para hosts locais tem requisitos de rede específicos para sistemas locais e para a rede VPC. Por meio deles, os sistemas locais enviam tráfego para serviços e APIs do Google.

Opções de domínio

O Acesso privado do Google para hosts locais exige que você direcione serviços para um dos domínios especiais a seguir. O domínio especial escolhido determina quais serviços é possível acessar.

Os VIPs private.googleapis.com e restricted.googleapis.com são compatíveis apenas com protocolos baseados em HTTP sobre TCP (HTTP, HTTPS e HTTP/2). Todos os outros protocolos, incluindo MQTT e ICMP, não são compatíveis.

Intervalos de domínios e endereços IP Serviços compatíveis Exemplo de uso

private.googleapis.com

199.36.153.8/30

2600:2d00:0002:2000::/64

Permite o acesso da API à maioria das APIs e serviços do Google, sejam ou não compatíveis com o VPC Service Controls. Inclui acesso da API ao Google Maps, Google Ads, Google Cloud e à maioria das outras APIs do Google, incluindo a lista a seguir. Não é compatível com aplicativos da Web do Google Workspace, como o Gmail e o Documentos Google. Não é compatível com sites interativos.

Nomes de domínio que correspondem:

  • accounts.google.com (somente os caminhos necessários para a autenticação do OAuth)
  • *.aiplatform-notebook.cloud.google.com
  • *.aiplatform-notebook.googleusercontent.com
  • appengine.google.com
  • *.appspot.com
  • *.backupdr.cloud.google.com
  • backupdr.cloud.google.com
  • *.backupdr.googleusercontent.com
  • backupdr.googleusercontent.com
  • *.cloudfunctions.net
  • *.cloudproxy.app
  • *.composer.cloud.google.com
  • *.composer.googleusercontent.com
  • *.datafusion.cloud.google.com
  • *.datafusion.googleusercontent.com
  • *.dataproc.cloud.google.com
  • dataproc.cloud.google.com
  • *.dataproc.googleusercontent.com
  • dataproc.googleusercontent.com
  • dl.google.com
  • gcr.io ou *.gcr.io
  • *.googleapis.com
  • *.gstatic.com
  • *.ltsapis.goog
  • *.notebooks.cloud.google.com
  • *.notebooks.googleusercontent.com
  • packages.cloud.google.com
  • pkg.dev ou *.pkg.dev
  • pki.goog ou *.pki.goog
  • *.run.app
  • source.developers.google.com
  • storage.cloud.google.com

Use private.googleapis.com para acessar APIs e serviços do Google usando um conjunto de endereços IP somente roteáveis do Google Cloud.

Escolha private.googleapis.com nestas circunstâncias:

  • Você não usa o VPC Service Controls.
  • Você usa o VPC Service Controls, mas também precisa acessar APIs e serviços do Google que não são compatíveis com o VPC Service Controls. 1

restricted.googleapis.com

199.36.153.4/30

2600:2d00:0002:1000::/64

Permite o acesso da API a APIs e serviços do Google compatíveis com o VPC Service Controls.

Bloqueia o acesso a APIs e serviços do Google que não são compatíveis com o VPC Service Controls. Não é compatível com APIs do Google Workspace ou aplicativos da Web do Google Workspace, como o Gmail e o Documentos Google.

Use restricted.googleapis.com para acessar APIs e serviços do Google usando um conjunto de endereços IP somente roteáveis do Google Cloud.

Escolha restricted.googleapis.com quando você precisar de acesso às APIs e serviços do Google compatíveis com o VPC Service Controls.

O domínio restricted.googleapis.com não permite o acesso a APIs e serviços do Google que não oferecem suporte ao VPC Service Controls. 1

1 Se você precisar restringir usuários apenas às APIs e aos serviços do Google compatíveis com o VPC Service Controls, use restricted.googleapis.com. Embora o VPC Service Controls seja aplicado a serviços compatíveis e configurados, independentemente do domínio usado, o restricted.googleapis.com fornece mitigação de risco adicional para exfiltração de dados. O uso de restricted.googleapis.com nega acesso a APIs e serviços do Google que não são compatíveis com o VPC Service Controls. Consulte Como configurar a conectividade privada na documentação do VPC Service Controls para mais detalhes.

Suporte a IPv6 para private.googleapis.com e restricted.googleapis.com

Os intervalos de endereços IPv6 a seguir podem ser usados para direcionar o tráfego de clientes IPv6 para APIs e serviços do Google:

  • private.googleapis.com: 2600:2d00:0002:2000::/64
  • restricted.googleapis.com: 2600:2d00:0002:1000::/64

Considere configurar os endereços IPv6 se você quiser usar o domínio private.googleapis.com ou restricted.googleapis.com e tiver clientes que usam endereços IPv6. Os clientes IPv6 que também têm endereços IPv4 configurados podem acessar as APIs e serviços do Google usando os endereços IPv4. Nem todos os serviços aceitam o tráfego de clientes IPv6.

Configuração do DNS

Sua rede local precisa ter zonas e registros do DNS configurados a fim de que os nomes de domínio do Google sejam resolvidos para o conjunto de endereços IP de private.googleapis.com ou restricted.googleapis.com. É possível criar zonas particulares gerenciadas do Cloud DNS e usar uma política de servidor de entrada do Cloud DNS ou configurar servidores de nomes locais. Por exemplo, é possível usar BIND ou DNS do Microsoft Active Directory.

A seção a seguir descreve como usar zonas DNS para enviar pacotes aos endereços IP associados ao VIP escolhido.

Ao configurar registros DNS para os VIPs, use apenas os endereços IP descritos nas etapas a seguir. Não combine os endereços dos VIPs private.googleapis.com e restricted.googleapis.com. Isso pode causar falhas intermitentes porque os serviços oferecidos são diferentes com base no destino de um pacote.

Crie uma zona e registros do DNS para googleapis.com:

  1. Crie uma zona do DNS particular para googleapis.com. Considere criar uma zona particular do Cloud DNS para essa finalidade.
  2. Na zona googleapis.com, crie os seguintes registros DNS para private.googleapis.com ou restricted.googleapis.com, dependendo do domínio que você escolheu usar.

    • Para obter private.googleapis.com:

      1. Crie um registro A para private.googleapis.com que aponta para os seguintes endereços IP: 199.36.153.8, 199.36.153.9, 199.36.153.10 e 199.36.153.11.

      2. Para se conectar a APIs usando endereços IPv6, configure também um registro AAAA para private.googleapis.com apontando para 2600:2d00:0002:2000::.

    • Para obter restricted.googleapis.com:

      1. Crie um registro A para restricted.googleapis.com que aponta para os seguintes endereços IP: 199.36.153.4, 199.36.153.5, 199.36.153.6 e 199.36.153.7.

      2. Para se conectar a APIs usando endereços IPv6, crie também um registro AAAA para restricted.googleapis.com apontando para 2600:2d00:0002:1000::.

    Se você estiver usando o Cloud DNS, adicione os registros à zona particular googleapis.com.

  3. Na zona googleapis.com, crie um registro CNAME para *.googleapis.com que direcione para o domínio que você configurou: private.googleapis.com ou restricted.googleapis.com.

Algumas APIs e serviços do Google são fornecidos usando nomes de domínio adicionais, incluindo *.gcr.io, *.gstatic.com, *.pkg.dev, pki.goog ou *.run.app. Consulte a tabela de intervalos de endereços IP e domínios em Opções de domínio para determinar se os serviços do domínio adicional podem ser acessados usando private.googleapis.com ou restricted.googleapis.com. Em seguida, para cada um dos domínios adicionais:

  1. Crie uma zona de DNS para DOMAIN (por exemplo, gcr.io). Se você estiver usando o Cloud DNS, verifique se essa zona está localizada no mesmo projeto que a zona particular googleapis.com.

  2. Nesta zona de DNS, crie os seguintes registros DNS para private.googleapis.com ou restricted.googleapis.com, dependendo do domínio que você escolheu usar:

    • Para obter private.googleapis.com:

      1. Crie um registro A para DOMAIN que aponta para os seguintes endereços IP: 199.36.153.8, 199.36.153.9, 199.36.153.10 e 199.36.153.11.

      2. Para se conectar a APIs usando endereços IPv6, crie também um registro AAAA para DOMAIN apontando para 2600:2d00:0002:2000::.

    • Para obter restricted.googleapis.com:

      1. Crie um registro A para DOMAIN que aponta para os seguintes endereços IP: 199.36.153.4, 199.36.153.5, 199.36.153.6 e 199.36.153.7.

      2. Para se conectar a APIs usando endereços IPv6, crie também um registro AAAA para restricted.googleapis.com apontando para 2600:2d00:0002:1000::.

  3. Na zona DOMAIN, crie um registro CNAME para *.DOMAIN que aponte para DOMAIN. Por exemplo, crie um registro CNAME para *.gcr.io que aponte para gcr.io.

Se você implementou a configuração de DNS usando o Cloud DNS, é necessário configurar sistemas locais para que eles façam consultas nas zonas particulares gerenciadas pelo Cloud DNS:

  • Crie uma política de servidor de entrada na rede VPC a que sua rede local se conecta.
  • Identifique os pontos de entrada do encaminhador de entrada nas regiões em que os túneis do Cloud VPN e anexos da VLAN estão localizados, na rede VPC a que sua rede no local se conecta.
  • Configure sistemas no local e servidores de nomes DNS no local para encaminhar googleapis.com e qualquer um dos outros nomes de domínio para um ponto de entrada de encaminhador de entrada na mesma região que o túnel do Cloud VPN ou anexo da VLAN que se conecta à rede VPC.

Roteamento de rede VPC

A rede VPC a que a rede local se conecta precisa ter rotas para os intervalos de endereços IP usados por private.googleapis.com ou restricted.googleapis.com. Essas rotas precisam usar o próximo salto de gateway de Internet padrão.

O Google não publica rotas na Internet para os intervalos de endereço IP usados pelos domínios private.googleapis.com ou restricted.googleapis.com. Consequentemente, mesmo que as rotas na rede VPC enviem tráfego para o próximo salto do gateway de Internet padrão, os pacotes enviados para esses intervalos de endereços IP permanecem na rede do Google.

Se a rede VPC a que sua rede local se conecta tiver uma rota padrão em que o próximo salto seja o gateway de Internet padrão, essa rota atenderá aos requisitos de roteamento do Acesso privado do Google para hosts locais.

Roteamento personalizado de rede VPC

Caso tenha substituído ou alterado a rota padrão, verifique se você tem rotas estáticas personalizadas configuradas para os intervalos de IPs de destino usados por private.googleapis.com ou restricted.googleapis.com. Para verificar a configuração de rotas personalizadas para APIs e serviços do Google em uma determinada rede, siga estas instruções.

Console

  1. No Console do Google Cloud, acesse a página Rotas.

    Acessar a página Rotas

  2. Use o campo de texto Filtrar tabela para filtrar a lista de rotas usando os critérios a seguir, substituindo NETWORK_NAME pelo nome da rede VPC a que sua rede local se conecta:

    • Rede: NETWORK_NAME
    • Tipo do próximo salto: default internet gateway
  3. Observe a coluna Intervalo de IP de destino de cada rota. Procure uma rota que tenha o intervalo de destino correspondente:

    • 199.36.153.8/30 se você escolheu private.googleapis.com
    • 199.36.153.4/30 se você escolheu restricted.googleapis.com

gcloud

Use o seguinte comando gcloud, substituindo NETWORK_NAME pelo nome da rede VPC a que sua rede local se conecta:

gcloud compute routes list \
    --filter="default-internet-gateway NETWORK_NAME"

As rotas são listadas no formato de tabela, a menos que você personalize o comando com a sinalização --format. Procure na coluna DEST_RANGE uma rota em que o intervalo de destino corresponda:

  • 199.36.153.8/30 se você escolheu private.googleapis.com
  • 199.36.153.4/30 se você escolheu restricted.googleapis.com

Se você precisar criar rotas na sua rede VPC, consulte Como adicionar uma rota estática.

Roteamento local com o Cloud Router

As rotas da rede no local precisam ser configuradas para tráfego direto nos intervalos de endereços IP usados pelos domínios private.googleapis.com ou restricted.googleapis.com para os túneis do Cloud VPN ou anexos da VLAN de próximo salto que se conectam à sua rede VPC.

É possível usar a divulgação de rota personalizada do Cloud Router para divulgar rotas para os intervalos de IP usados pelos domínios private.googleapis.com e restricted.googleapis.com.

As rotas IPv6 são anunciadas apenas nas sessões do BGP em que IPv6 está ativado.

Console

Para atualizar o modo de divulgação de rota para todas as sessões do BGP em um Cloud Router, exceto as sessões do BGP que usam anúncios BGP personalizados:

  1. No Console do Google Cloud, acesse a página do Cloud Routers.

    Acesse o Cloud Routers

  2. Selecione o Cloud Router que gerencia sessões do BGP para os túneis do Cloud VPN ou anexos da VLAN que conectam sua rede no local à rede VPC.

  3. Na página de detalhes do Cloud Router, selecione Editar.

  4. Expanda a seção Rotas divulgadas.

  5. Em Rotas, selecione Criar rotas personalizadas.

  6. Se você quiser divulgar todas as rotas de sub-rede disponíveis para o Cloud Router, selecione Anunciar todas as sub-redes visíveis para o Cloud Router. Essa definição replica a configuração padrão para sua configuração personalizada.

  7. Para cada rota anunciado que você quiser adicionar, faça o seguinte:

    1. Selecione Adicionar rota personalizada.
    2. Em Origem, selecione Intervalo de IP personalizado.
    3. Em Intervalo de endereços IP, insira um dos intervalos que você quer usar:
      • Se você usar private.googleapis.com:
        • Para conectividade IPv4: 199.36.153.8/30
        • Para conectividade IPv6: 2600:2d00:0002:2000::/64
      • Se você usar restricted.googleapis.com:
        • Para conectividade IPv4: 199.36.153.4/30
        • Para conectividade IPv6: 2600:2d00:0002:1000::/64
    4. Clique em Concluído.
  8. Quando terminar de adicionar as rotas, selecione Salvar.

Para atualizar o modo de divulgação de rota para uma sessão específica do BGP:

  1. No Console do Google Cloud, acesse a página do Cloud Routers.

    Acesse o Cloud Routers

  2. Selecione o Cloud Router que gerencia a sessão do BGP para um túnel do Cloud VPN ou anexo da VLAN que conecta sua rede no local à rede VPC.

  3. Na página de detalhes do Cloud Router, selecione a sessão do BGP a ser atualizada.

  4. Na página de detalhes da sessão do BGP, clique em Editar.

  5. Em Rotas, selecione Criar rotas personalizadas.

  6. Selecione Anunciar todas as sub-redes visíveis para o Cloud Router para anunciar todas as rotas de sub-rede disponíveis para o Cloud Router se você quiser o comportamento padrão do Cloud Router.

  7. Para cada rota anunciado que você quiser adicionar, faça o seguinte:

    1. Selecione Adicionar rota personalizada.
    2. Em Origem, selecione Intervalo de IP personalizado.
    3. Em Intervalo de endereços IP, insira um dos intervalos que você quer usar:
      • Se você usar private.googleapis.com:
        • Para conectividade IPv4: 199.36.153.8/30
        • Para conectividade IPv6: 2600:2d00:0002:2000::/64
      • Se você usar restricted.googleapis.com:
        • Para conectividade IPv4: 199.36.153.4/30
        • Para conectividade IPv6: 2600:2d00:0002:1000::/64
    4. Clique em Concluído.
  8. Quando terminar de adicionar as rotas, selecione Salvar.

gcloud

  1. Identifique o nome e a região do Cloud Router que gerencia sessões do BGP nos túneis do Cloud VPN ou anexos da VLAN que conectam sua rede no local à rede VPC.

  2. Use compute routers update para atualizar o modo de divulgação de rota em todas as sessões do BGP do Cloud Router, exceto as sessões do BGP que usam anúncios BGP personalizados:

    gcloud compute routers update ROUTER_NAME \
        --region=REGION \
        --advertisement-mode=CUSTOM \
        --set-advertisement-groups=ALL_SUBNETS \
        --set-advertisement-ranges=CUSTOM_RANGES
    

    É possível anexar novos intervalos de divulgação se você já estiver usando o modo de divulgação CUSTOM para o Cloud Router. Isso atualiza o modo de divulgação de rota em todas as sessões do BGP do Cloud Router, exceto as sessões do BGP que usam anúncios BGP personalizados:

    gcloud compute routers update ROUTER_NAME \
        --region=REGION \
        --add-advertisement-ranges=CUSTOM_RANGES
    
  3. Como alternativa, use compute routers update-bgp-peer para configurar um peering do BGP no Cloud Router:

    Se você estiver adicionando intervalos personalizados IPv6 e o tráfego IPv6 estiver desativado para a sessão do BGP, será possível ativá-lo com o flag --enable-ipv6.

    gcloud compute routers update-bgp-peer ROUTER_NAME \
        --region=REGION \
        --peer-name=PEER_NAME \
        --advertisement-mode=CUSTOM \
        --set-advertisement-groups=ALL_SUBNETS \
        --set-advertisement-ranges=CUSTOM_RANGES
    

    É possível anexar novos intervalos de divulgação se você já estiver usando o modo de divulgação CUSTOM para uma sessão do BGP em um Cloud Router.

    Se você estiver adicionando intervalos personalizados IPv6 e o tráfego IPv6 estiver desativado para a sessão do BGP, será possível ativá-lo com o flag --enable-ipv6.

    gcloud compute routers update-bgp-peer ROUTER_NAME \
        --region=REGION \
        --peer-name=PEER_NAME \
        --add-advertisement-ranges=CUSTOM_RANGES
    

    Nos comandos acima, substitua o seguinte por valores válidos:

Considerações sobre firewall

As regras de firewall do Google Cloud na rede VPC a que sua rede local se conecta não têm efeito:

  • Pacotes enviados por meio de um túnel do Cloud VPN conectado à rede VPC
  • Pacotes enviados por um anexo da VLAN conectado à rede VPC
  • Pacotes de entrada para endereços IP de encaminhamento de entrada do Cloud DNS na rede VPC

Verifique se a configuração do firewall dos sistemas locais permite o tráfego de saída e as respostas estabelecidas dos endereços IP apropriados:

  • Se você usar private.googleapis.com:
    • Para conectividade IPv4: 199.36.153.8/30
    • Para conectividade IPv6: 2600:2d00:0002:2000::/64
  • Se você usar restricted.googleapis.com:
    • Para conectividade IPv4: 199.36.153.4/30
    • Para conectividade IPv6: 2600:2d00:0002:1000::/64
  • Qualquer endereço IP de encaminhamento de entrada do Cloud DNS, se você estiver usando o Cloud DNS para a configuração de DNS.

A seguir