Nesta página, descrevemos como usar as configurações de entrada para restringir o acesso à rede para seu serviço do Cloud Run.
No nível da rede, o endpoint de um serviço do Cloud Run pode ser acessado pelos seguintes caminhos de entrada de rede:
- URLs
run.app
padrão, que podem ser desativados - Qualquer mapeamento de domínio configurado
- Qualquer balanceador de carga de aplicativo externo ou interno configurado
Todos os caminhos de entrada de rede estão sujeitos à configuração de entrada do serviço. Os caminhos de entrada padrão e as configurações de entrada permitem que qualquer recurso na Internet acesse o serviço do Cloud Run. É possível usar uma restrição personalizada para restringir as configurações de entrada da organização ou de um conjunto de projetos. A autenticação do IAM ainda se aplica a solicitações que chegam aos endpoints de serviço de qualquer um dos caminhos de entrada de rede anteriores. Para uma abordagem em camadas para gerenciar o acesso, use as configurações de entrada de rede e a autenticação do IAM.
Configurações de entrada de rede disponíveis
As seguintes configurações estão disponíveis:
Configuração | Descrição |
---|---|
Interno |
Mais restritiva. Permite solicitações das seguintes fontes:
run.app . Solicitações
de outras origens, incluindo a Internet, não podem alcançar seu serviço no
URL run.app ou em domínios personalizados. |
Interno e Cloud Load Balancing | Essa configuração permite solicitações dos seguintes recursos:
Observação: para ativar essa configuração na CLI gcloud, use internal-and-cloud-load-balancing .
Para ativar essa configuração no console do Google Cloud , selecione
Interno > Permitir tráfego de balanceadores de carga de aplicativo externos.
|
Todos |
Menos restritiva. Permite todas as solicitações, incluindo solicitações diretamente da
Internet para o URL run.app .
|
Acessar serviços internos
As seguintes considerações adicionais se aplicam:
Ao acessar serviços internos, chame-os da mesma maneira que chamaria usando os URLs, seja o URL padrão
run.app
ou um domínio personalizado configurado no Cloud Run.Para solicitações de instâncias de VM do Compute Engine, nenhuma outra configuração é necessária para máquinas que têm endereços IP externos ou que usam o Cloud NAT. Caso contrário, consulte Receber solicitações de redes VPC.
Ao chamar pelo Cloud Run ou App Engine para um serviço do Cloud Run definido como "Interno" ou "Interno e Cloud Load Balancing", o tráfego precisa ser roteado por uma VPC rede que é considerada interna. Consulte Receber solicitações de outros serviços do Cloud Run ou do App Engine.
Solicitações de recursos nas redes VPC do mesmo projeto são "internas" mesmo que o recurso de origem tenha um IP externo endereço IP.
As solicitações de recursos locais conectados à rede VPC via Cloud VPN e Cloud Interconnect são "internas".
Definir entrada
É possível definir a entrada usando qualquer um dos métodos compatíveis nas guias abaixo:
Console
No console do Google Cloud , acesse a página do Cloud Run:
Se você estiver configurando um novo serviço, clique em Implantar contêiner e selecione Serviço para mostrar o formulário Criar serviço. Preencha a página inicial de configurações do serviço.
Se você estiver configurando um serviço atual, clique nele e na guia Rede.
Selecione o tráfego de entrada que você quer permitir:
Clique em Criar ou Salvar.
gcloud
Se você estiver implantando um novo serviço, implante seu serviço com a sinalização
--ingress
:gcloud run deploy SERVICE --image IMAGE_URL --ingress INGRESS
Substituir
INGRESS
por uma das configurações de entrada disponíveis:all
internal
internal-and-cloud-load-balancing
SERVICE
pelo nome do serviço.- IMAGE_URL por uma referência à imagem de contêiner. Por
exemplo,
us-docker.pkg.dev/cloudrun/container/hello:latest
. Se você usa o Artifact Registry, o repositório REPO_NAME já precisará ter sido criado. O URL tem o formatoLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
Se você estiver alterando uma entrada de serviço atual:
gcloud run services update SERVICE --ingress INGRESS
Substituir
INGRESS
por uma das configurações de entrada disponíveis:all
internal
internal-and-cloud-load-balancing
SERVICE
pelo nome do serviço.
YAML
Se você estiver criando um novo serviço, pule esta etapa. Se você estiver atualizando um serviço, faça o download da configuração YAML correspondente:
gcloud run services describe SERVICE --format export > service.yaml
Atualize a anotação
run.googleapis.com/ingress:
:apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/ingress: INGRESS name: SERVICE spec: template: metadata: name: REVISION
Substituir
- SERVICE com o nome do Cloud Run.
- INGRESS por uma das
configurações de entrada disponíveis:
all
internal
internal-and-cloud-load-balancing
- REVISION por um novo nome de revisão ou excluí-lo (se houver). Se você fornecer um novo nome de revisão, ele precisará atender aos seguintes critérios:
- Começa com
SERVICE-
- Contém apenas letras minúsculas, números e
-
- Não termina com um
-
- Não excede 63 caracteres
- Começa com
Substitua o serviço pela nova configuração usando o seguinte comando:
gcloud run services replace service.yaml
Terraform
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
Adicione a instrução a seguir ao seu arquivo main.tf
:
Desativar o URL padrão
Desative os URLs run.app
padrão de um serviço do Cloud Run
para permitir apenas o tráfego dos outros caminhos de entrada do serviço:
Cloud Load Balancing e qualquer mapeamento de domínio configurado.
Para desativar o URL padrão, siga estas etapas:
Linha de comando
Para desativar o URL
run.app
de um serviço, execute o comandogcloud beta run services update
com a flag--no-default-url
ou transmita a flag--no-default-url
para o comandogcloud run deploy
:gcloud beta run services update SERVICE_NAME --no-default-url
em que SERVICE_NAME é o nome da instância do serviço do Cloud Run.
Na saída, o URL é exibido como None
.
Para restaurar o URL padrão, use a sinalização --default-url
.
YAML
Se você estiver criando um novo serviço, pule esta etapa. Se você estiver atualizando um serviço existente, faça o download da configuração YAML correspondente:
gcloud run services describe SERVICE --format export > service.yaml
Para desativar o URL
run.app
, use a anotaçãorun.googleapis.com/default-url-disabled
:apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/default-url-disabled: true run.googleapis.com/launch-stage: BETA name: SERVICE spec: template: metadata: name: REVISION
Substituir
- SERVICE pelo nome do serviço do Cloud Run;
- REVISION por um novo nome de revisão ou excluí-lo (se houver). Se você fornecer um novo nome de revisão, ele precisará atender aos seguintes critérios:
- Começa com
SERVICE-
- Contém apenas letras minúsculas, números e
-
- Não termina com um
-
- Não excede 63 caracteres
- Começa com
Crie ou atualize o serviço usando o seguinte comando:
gcloud run services replace service.yaml
Para restaurar o URL padrão, remova a anotação run.googleapis.com/default-url-disabled
.
Os seguintes serviços do Google Cloud usam o URL run.app
padrão
para invocar o Cloud Run. Desativar o URL run.app
padrão impede
que esses serviços funcionem como esperado:
- O URL
cloudfunctions.net
do Cloud Run functions (2ª geração) com base no serviço do Cloud Run. - Cloud Scheduler
- Cloud Service Mesh
- Cloud Tasks
- Eventarc
- Firebase App Hosting
- Firebase Hosting
- Pub/Sub
- Monitores sintéticos e verificações de tempo de atividade
- Workflows
A seguir
- Saiba mais sobre as configurações de saída.
- Configurar um balanceador de carga de aplicativo interno para o Cloud Run.
- Configurar um balanceador de carga de aplicativo externo com o Cloud Run.
- Configurar métodos de autenticação do IAM para acessar serviços.