Sobre como acessar APIs do Google por endpoints (original) (raw)

Neste documento, apresentamos uma visão geral dos endpoints do Private Service Connect usados para acesso às APIs do Google.

Por padrão, se você tiver um aplicativo que usa um serviço do Google, como o Cloud Storage, ele se conectará ao nome de DNS padrão desse serviço, como storage.googleapis.com. Os nomes DNS padrão dos serviços do Google são resolvidos para endereços IP roteáveis publicamente. No entanto, o tráfego enviado dos recursos do Google Cloud para esses endereços IP permanece dentro da rede do Google.

Com o Private Service Connect, é possível criar endpoints particulares usando endereços IP internos globais na sua rede VPC. É possível atribuir nomes de DNS a esses endereços IP internos com nomes significativos comostorage-vialink1.p.googleapis.com e bigtable-adsteam.p.googleapis.com. Esses nomes e endereços IP são internos da rede VPC e de qualquer rede local que esteja conectada a ela usando túneis do Cloud VPN ou anexos do Cloud Interconnect (VLANs). É possível controlar qual tráfego vai para qual endpoint e demonstrar que o tráfego permanece no Google Cloud.

Essa opção dá acesso a todas as APIs e serviços do Google incluídos nos pacotes de API.

Figura 1. O Private Service Connect permite enviar tráfego para APIs do Google usando um endpoint privado para sua rede VPC (clique para ampliar).

Recursos e compatibilidade

Esta tabela resume os recursos compatíveis com os endpoints usados para acessar as APIs do Google.

Configuração Detalhes
Configuração do consumidor (endpoint)
Acessibilidade global Usa um endereço IP global interno
Tráfego do Cloud Interconnect
Tráfego do Cloud VPN
Acesso pelo peering de rede VPC
Propagação da conexão pelo NCC
Configuração automática de DNS
Versão IP IPv4
Produtor
Serviços compatíveis APIs globais compatíveis do Google

Acesso no local

Os endpoints do Private Service Connect que você usa para acessar as APIs do Google podem ser acessados de hosts locais conectados e compatíveis. Para mais informações, consulte Acessar o endpoint de hosts locais.

Private Service Connect e Diretório de serviços

Os endpoints são registrados no Diretório de serviços. O Diretório de serviços é uma plataforma para armazenar, gerenciar e publicar serviços. Ao criar um endpoint para acessar APIs e serviços do Google, você seleciona uma região do diretório de serviços e um namespace do diretório de serviços.

Região do Diretório de serviços

O Diretório de serviços é um serviço regional. A região selecionada define onde está o plano de controle do Diretório de serviços. Não há diferença funcional entre as regiões, mas pode haver uma preferência por motivos administrativos.

Ao criar o primeiro endpoint do Private Service Connect para APIs do Google em uma rede VPC, a região selecionada é usada como a região padrão para todos os endpoints subsequentes criados nessa rede. Se uma região ainda não estiver definida para uma rede e você não especificar uma região, ela será definida como us-central1. Todos os endpoints de uma rede precisam usar a mesma região do Diretório de serviços.

Namespace do diretório de serviços

Quando você cria o primeiro endpoint para APIs do Google em uma rede VPC, o namespace selecionado é usado como o namespace padrão para todos os endpoints subsequentes criados nessa rede. Se o namespace ainda não estiver definido para uma rede e você não especificar um namespace, um namespace gerado pelo sistema será usado. Todos os endpoints de uma rede precisam usar o mesmo namespace do Diretório de serviços. O namespace escolhido precisa ser usado apenas para endpoints usados para acessar as APIs do Google. É possível usar o mesmo namespace para endpoints em várias redes.

Quando você cria um endpoint, as seguintes configurações de DNS são criadas:

Os serviços disponíveis variam, dependendo da seleção do pacote de APIs all-apis ou vpc-sc.

Uma zona DNS do Diretório de serviços é criada para cada rede VPC que contém um endpoint.

Os nomes DNS de um endpoint são acessíveis em todas as regiões na sua rede VPC.

APIs compatíveis

Ao criar um endpoint para acessar APIs e serviços do Google, você escolhe a qual pacote de APIs precisa acessar: Todas as APIs (all-apis) ouVPC-SC (vpc-sc):

Os pacotes de API 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.

Pacote de API Serviços compatíveis Exemplo de uso
all-apis 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 Cloude à maioria das outras APIs do Google, incluindo as listas abaixo. Não é compatível com aplicativos da Web do Google Workspace, como o Gmail e o Google Docs. Não é compatível com sites interativos. Nomes de domínio que correspondem: accounts.google.com (aceita apenas os caminhos necessários para a autenticação OAuth de contas de serviço. A autenticação de contas de usuário é interativa e indisponível) *.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 *.developerconnect.dev dl.google.com gcr.io ou *.gcr.io *.googleapis.com *.gke.goog gstatic.com ou *.gstatic.com *.kernels.googleusercontent.com *.ltsapis.goog *.notebooks.byoid.googleusercontent.com *.notebooks.cloud.google.com 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 Escolha all-apis 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
vpc-sc 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 oVPC Service Controls. Não é compatível com APIs do Google Workspace ou aplicativos da Web do Google Workspace, como o Gmail e o Google Docs. Escolha vpc-sc quando você precisar de acesso a APIs e serviços do Google compatíveis com o VPC Service Controls. O pacote vpc-sc não permite acesso a APIs e serviços do Google que não são compatíveis com o 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 vpc-sc, porque oferece redução de riscos adicionais para vazamento de dados. O uso de vpc-sc 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.

Requisitos de endereço IP

Ao configurar o Private Service Connect em uma rede VPC, você fornece um endereço IP a ser usado para o endpoint.

O endereço é contabilizado na cota do projetopara endereços IP internos globais.

O endereço IP precisa atender às seguintes especificações:

Casos de uso

É possível criar vários endpoints na mesma rede VPC. Não há limite na largura de banda total enviada para um endpoint específico. Como os endpoints usam endereços IP internos globais, eles podem ser usados por qualquer recurso na sua rede VPC ou em uma rede local conectada usando túneis do Cloud VPN ou anexos do Cloud Interconnect.

Com vários endpoints, é possível especificar caminhos de rede diferentes usando o Cloud Router e as regras de firewall.

Em geral, recomendamos que você crie regras de encaminhamento e os recursos de endereço correspondentes no mesmo projeto Google Cloud . Usar o mesmo projeto ajuda a evitar problemas quando um projeto é excluído.

No entanto, não é possível criar um recurso de endereço em um projeto de serviço que reserve um endereço IPv4 global interno do projeto host. Esse tipo de endereço IP é necessário para criar um endpoint que segmenta um pacote global de APIs do Google.

Não há impedimento para criar um endpoint que tenha como destino um pacote global de APIs do Google em um projeto de serviço e usar um recurso de endereço do projeto host na configuração. No entanto, não recomendamos criar essa configuração.

Se você criar essa configuração, o administrador do projeto de serviço precisará receber um papel, como Usuário da rede do Compute (roles/compute.networkUser), no projeto host. Esse papel contém as permissões compute.networks.use ecompute.addresses.use necessárias.

Não é possível criar essa configuração usando o console Google Cloud . Use a Google Cloud CLI ou a API.

Preços

Confira os preços do Private Service Connect na página de preços da VPC.

Cotas

O número de endpoints do Private Service Connect que pode ser criado para acesso às APIs do Google é controlado pela cota PSC Google APIs Forwarding Rules per VPC Network. Para mais informações, consulte Cotas.

Restrições da política da organização

Um administrador de política da organização pode usar a restrição constraints/compute.disablePrivateServiceConnectCreationForConsumers para definir o conjunto de tipos de endpoints para os quais os usuários não podem criar regras de encaminhamento.

Para informações sobre como criar uma política da organização que use essa restrição, consulte Impedir que os consumidores implantem endpoints por tipo de conexão.

A seguir