Google ACE Deploying and Implementing a Cloud Solution Practice Question
A company is deploying a new application on Google Cloud. The application consists of a frontend service and a backend API. The security team requires that the backend API be accessible only from the frontend service, not from the public internet. The frontend service runs on Compute Engine instances in a managed instance group. The backend API will be deployed on Cloud Run. Which two steps should the team take to meet these requirements? (Choose two.)
⚠ Common exam trap
The trap here is thinking that a Serverless VPC Access connector or firewall rules can secure inbound access to Cloud Run, when actually Cloud Run ingress and IAM authentication are the mechanisms that control who can reach the service.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Deploy the Cloud Run service with --ingress=internal and --no-allow-unauthenticated.
To restrict a Cloud Run service to internal access and require authentication, set ingress to internal and disallow unauthenticated invocations. Then, grant the frontend's service account the Cloud Run Invoker role so it can authenticate. These two steps together ensure that only the frontend, with proper identity, can call the backend API, while public internet access is blocked.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Create a Serverless VPC Access connector and configure the Cloud Run service to use it for all outbound traffic.
Why it's wrong here
A Serverless VPC Access connector allows Cloud Run services to reach resources in a VPC network, but it controls outbound traffic from Cloud Run, not inbound access to it. The requirement is to restrict incoming requests to the backend API. Using a connector does not prevent public access to the Cloud Run service; it only enables private connectivity from the service to other VPC resources.
- ✗
Configure the backend Cloud Run service with --allow-unauthenticated and rely on firewall rules to block external traffic.
Why it's wrong here
--allow-unauthenticated makes the Cloud Run service publicly accessible, and VPC firewall rules do not apply to Cloud Run's managed ingress. Cloud Run has its own ingress controls, and allowing unauthenticated access would expose the service to the internet regardless of firewall rules. This violates the security requirement and does not restrict access to the frontend service alone.
- ✓
Deploy the Cloud Run service with --ingress=internal and --no-allow-unauthenticated.
Why this is correct
Setting --ingress=internal restricts traffic to sources within the same project or VPC network, blocking public internet access. --no-allow-unauthenticated requires authentication for all requests, ensuring that only authorized callers can invoke the service. This combination enforces both network-level and identity-level restrictions, which is necessary to prevent public access while allowing the frontend to authenticate.
- ✓
Grant the frontend's service account the Cloud Run Invoker role on the backend Cloud Run service.
Why this is correct
When a Cloud Run service requires authentication, callers must present a valid identity token, and the caller's identity must have the Cloud Run Invoker role on the service. Granting this role to the frontend instances' service account allows them to obtain an identity token from the metadata server and authenticate to the backend. Without this role, the frontend would receive HTTP 403 errors even with a valid token.
- ✗
Set up a private Service Connect endpoint for the Cloud Run service and configure the frontend to use it.
Why it's wrong here
Private Service Connect can provide private connectivity to Cloud Run services, but it is typically used for consuming services across VPC networks or projects. It does not replace the need to set ingress controls and authentication on the Cloud Run service itself. Additionally, configuring Private Service Connect for a Cloud Run service requires additional setup and is not the minimal or standard approach for restricting access from a frontend in the same project.
Go deeper
Related to this question
Learn chapter
App Engine Standard vs Flexible
Key term
Service account
A service account is a special type of account used by an application or a virtual machine, rather than a human user, to authenticate and interact with cloud services and APIs securely.
Key term
Ingress
Ingress is a Kubernetes API object that manages external access to services within a cluster, typically via HTTP or HTTPS routing rules.
About these practice questions
This ACE question is part of Courseiva's 775-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official Google Cloud exam blueprint
This ACE practice question is part of Courseiva's free Google Cloud certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the ACE exam.