ID da região
O REGION_ID é um código abreviado que a Google atribui com base na região que seleciona quando cria a sua app. O código não corresponde a um país ou uma província, embora alguns IDs de regiões possam parecer semelhantes aos códigos de países e províncias usados frequentemente. Para apps criadas após
  fevereiro de 2020, REGION_ID.r está incluído nos
  URLs do App Engine. Para apps existentes criadas antes desta data, o
  ID da região é opcional no URL.
Saiba mais acerca dos IDs de regiões.
A segurança é uma funcionalidade essencial do Google Cloud, mas ainda existem passos que deve dar para proteger a sua app do App Engine e identificar vulnerabilidades.
Use as seguintes funcionalidades para garantir que a sua app do App Engine está segura. Para saber mais acerca do modelo de segurança da Google e dos passos disponíveis que pode seguir para proteger os seus Google Cloud projetos, consulte Segurança da Google Cloud Platform.
Pedidos HTTPS
Use pedidos HTTPS para aceder à sua app do App Engine de forma segura. Consoante a forma como a sua app está configurada, tem as seguintes opções:
- appspot.comdomínios
- Use o prefixo do URL httpspara enviar um pedido HTTPS para o serviço do seu projeto, por exemplo:defaultGoogle Cloud
 https://PROJECT_ID.REGION_ID.r.appspot.com
 - Para segmentar recursos específicos na sua app do App Engine, use a sintaxe - -dot-para separar cada recurso que quer segmentar, por exemplo:
 - https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com
- Para converter um URL HTTP num URL HTTPS, substitua os pontos entre cada recurso por - -dot-, por exemplo:
 - http://SERVICE_ID.PROJECT_ID.REGION_ID.r.appspot.com
 - https://SERVICE_ID-dot-PROJECT_ID.REGION_ID.r.appspot.com
 - Para mais informações sobre URLs HTTPS e recursos de segmentação, consulte o artigo Como os pedidos são encaminhados. 
- Use o prefixo do URL 
- Domínios personalizados
- Para enviar pedidos HTTPS com o seu domínio personalizado, pode usar os certificados SSL geridos aprovisionados pelo App Engine. Para mais informações, consulte o artigo Proteger domínios personalizados com SSL. 
Controlo de acesso
Em cada Google Cloud projeto, configure o controlo de acesso para determinar quem pode aceder aos serviços no projeto, incluindo o App Engine. Pode atribuir funções diferentes a contas diferentes para garantir que cada conta tem apenas as autorizações necessárias para suportar a sua app. Para obter detalhes, consulte o artigo Configurar o controlo de acesso.
Firewall do App Engine
A firewall do App Engine permite-lhe controlar o acesso à sua app do App Engine através de um conjunto de regras que podem permitir ou recusar pedidos dos intervalos especificados de endereços IP. Não lhe é faturado o tráfego nem a largura de banda bloqueados pela firewall. Crie uma firewall para:
- Permitir apenas tráfego de uma rede específica
- Certifique-se de que apenas um determinado intervalo de endereços IP de redes específicas pode aceder à sua app. Por exemplo, crie regras para permitir apenas o intervalo de endereços IP da rede privada da sua empresa durante a fase de testes da app. Em seguida, pode criar e modificar as regras da firewall para controlar o âmbito do acesso ao longo do processo de lançamento, permitindo que apenas determinadas organizações, quer dentro da sua empresa ou externamente, acedam à sua app à medida que se torna disponível publicamente.
- Permita apenas tráfego de um serviço específico
- Certifique-se de que todo o tráfego para a sua app do App Engine é primeiro encaminhado através de proxy através de um serviço específico. Por exemplo, se usar um firewall de app Web (WAF) de terceiros para encaminhar pedidos dirigidos à sua app, pode criar regras de firewall para recusar todos os pedidos, exceto os que são encaminhados a partir do seu WAF.
- Bloqueie endereços IP abusivos
- Embora Google Cloud tenha muitos mecanismos implementados para evitar ataques, pode usar a firewall do App Engine para bloquear o tráfego para a sua app a partir de endereços IP que apresentem intenções maliciosas ou proteger a sua app contra ataques de negação de serviço e formas semelhantes de abuso. Pode adicionar endereços IP ou sub-redes a uma lista de exclusão, para que os pedidos encaminhados a partir desses endereços e sub-redes sejam recusados antes de chegarem à sua app do App Engine.
Para ver detalhes sobre a criação de regras e a configuração da firewall, consulte o artigo Controlar o acesso a apps com firewalls.
Controlos de entrada
Esta secção descreve como usar as definições de entrada para restringir o acesso à rede à sua app do App Engine. Ao nível da rede, por predefinição, qualquer recurso na Internet pode aceder à sua app do App Engine no respetivo URL appspot ou num domínio personalizado configurado no App Engine. Por exemplo, o URL appspot.com pode ter o seguinte formato:
SERVICE_ID.PROJECT_ID.REGION_ID.r.appspot.com.
Pode alterar esta definição predefinida especificando uma definição diferente para a entrada. Todos os caminhos de entrada, incluindo o URL appspot.com predefinido, estão sujeitos à sua definição de entrada. A entrada é definida ao nível do serviço.
Definições de entrada disponíveis
Estão disponíveis as seguintes definições:
| Definição | Descrição | 
|---|---|
| Internos | Mais restritiva. Permite pedidos de recursos anexados às redes VPC do projeto, como: 
 appspot.com.
        Os pedidos de outras origens, incluindo a Internet, não podem aceder ao seu serviço no URLappspot.comou nos domínios personalizados. Não
        existe suporte para multi-tenancy, ou seja, vários domínios de confiança
        no mesmo projeto. | 
| Interno e Cloud Load Balancing | Permite pedidos dos seguintes recursos: 
 appspot.comignoram o Application Load Balancer externo, pelo que esta definição impede que os pedidos externos alcancem o URLappspot.com. | 
| Tudo | Menos restritivas. Permite todos os pedidos, incluindo pedidos diretamente da Internet para o URL appspot.com. | 
Aceder a serviços internos
Aplicam-se as seguintes considerações:
- Para pedidos de uma VPC partilhada, o tráfego só é considerado interno se a app do App Engine for implementada no projeto anfitrião da VPC partilhada. Se a app do App Engine for implementada num projeto de serviço de VPC partilhada, apenas o tráfego de redes pertencentes ao próprio projeto da app é interno. Todo o outro tráfego, incluindo o tráfego de outras VPCs partilhadas, é externo. 
- Quando acede a serviços internos, chame-os como faria normalmente através dos respetivos URLs públicos, quer seja o URL - appspot.compredefinido ou um domínio personalizado configurado no App Engine.
- Para pedidos de instâncias de VMs do Compute Engine ou outros recursos em execução numa rede VPC no mesmo projeto, não é necessária nenhuma configuração adicional. 
- Para pedidos de outros serviços do App Engine ou de funções do Cloud Run ou do Cloud Run no mesmo projeto, ligue o serviço ou a função a uma rede da VPC e encaminhe toda a saída através do conetor, conforme descrito no artigo Ligar a uma rede da VPC partilhada. 
- Os pedidos de recursos em redes VPC no mesmo projeto são classificados como internos, mesmo que o recurso de origem tenha um endereço IP público. 
- Os pedidos de recursos no local ligados à rede VPC através da VPN do Google Cloud são considerados - internal.
Veja as definições de carregamento
Consola
- Aceda à página App Engine Services. 
- Localize a coluna Ingress. Para cada serviço, o valor nesta coluna mostra a definição de entrada como Tudo (predefinição), Interno + Equilíbrio de carga ou Interno. 
gcloud
Para ver a definição de entrada de um serviço através da CLI gcloud:
gcloud app services describe SERVICE
Substitua SERVICE pelo nome do seu serviço.
Por exemplo, para ver as definições de entrada e outras informações para a execução do serviço predefinido:
gcloud app services describe default
Edite as definições de entrada
Consola
- Aceda à página App Engine Services. 
- Selecione o serviço que quer editar. 
- Clique em Editar definição de entrada. 
- Selecione a definição de entrada pretendida no menu e clique em Guardar. 
gcloud
Para atualizar a definição de entrada para um serviço através da CLI gcloud:
gcloud app services update SERVICE --ingress=INGRESS
Substituição:
- SERVICE: o nome do seu serviço.
- INGRESS: o controlo de entrada que quer aplicar. Uma das seguintes opções: all,internal-onlyouinternal-and-cloud-load-balancing.
Por exemplo:
- Para atualizar o serviço predefinido de uma app do App Engine para aceitar tráfego apenas do Cloud Load Balancing e das redes VPC que estão no mesmo projeto: - gcloud app services update default --ingress=internal-and-cloud-load-balancing 
- Para atualizar um serviço denominado "internal-requests" para aceitar tráfego apenas de redes VPC que estejam no mesmo projeto: - gcloud app services update internal-requests --ingress=internal-only 
Definições de saída
Se usar o Acesso a VPC sem servidor, pode especificar a definição de saída para o seu serviço do App Engine.
Por predefinição, apenas os pedidos a endereços IP internos e nomes DNS internos são encaminhados através de um conetor de acesso a VPC sem servidor. Pode especificar a definição de saída para o seu serviço no ficheiro app.yaml.
As definições de saída não são compatíveis com o serviço URL Fetch. Se ainda não o fez,
desative a predefinição de obtenção de URLs
e descontinue qualquer utilização explícita da biblioteca
urlfetch. A utilização da biblioteca urlfetch ignora as definições de saída e os pedidos não são encaminhados através de um conetor do Acesso a VPC sem servidor.
Para configurar o comportamento de saída do seu serviço do App Engine:
- Adicione o atributo - egress_settingao campo- vpc_access_connectordo ficheiro- app.yamldo serviço:- vpc_access_connector: name: projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME egress_setting: EGRESS_SETTING - Substituição: - PROJECT_IDcom o seu Google Cloud ID do projeto
- REGIONcom a região em que o conector se encontra
- CONNECTOR_NAMEcom o nome do conetor
- EGRESS_SETTINGcom uma das seguintes opções:- private-ranges-onlyPredefinição. Apenas os pedidos aos intervalos de endereços IP RFC 1918 e RFC 6598 ou aos nomes DNS internos são encaminhados para a sua rede VPC. Todos os outros pedidos são encaminhados diretamente para a Internet.
- all-trafficTodos os pedidos de saída do seu serviço são encaminhados para a sua rede VPC. Os pedidos ficam sujeitos às regras de firewall, DNS e encaminhamento da sua rede VPC. Tenha em atenção que o encaminhamento de todos os pedidos de saída para a sua rede VPC aumenta a quantidade de saída processada pelo conetor do Acesso a VPC sem servidor e pode incorrer em custos.
 
 
- Implemente o serviço: - gcloud app deploy
Análise de segurança
O Google Cloud Web Security Scanner descobre vulnerabilidades ao rastrear a sua app do App Engine, seguindo todos os links no âmbito dos seus URLs de início e tentando exercer o maior número possível de entradas do utilizador e processadores de eventos.
Para usar o verificador de segurança, tem de ser proprietário do Google Cloud projeto. Para mais informações sobre a atribuição de funções, consulte o artigo Configurar o controlo de acesso.
Pode executar análises de segurança a partir da Google Cloud consola para identificar vulnerabilidades de segurança na sua app do App Engine. Para obter detalhes sobre a execução do Security Scanner, consulte o artigo Usar o Web Security Scanner.