- A
The service account needs to be downloaded as a JSON key and added to the app configuration.
Why wrong: Using a key is unnecessary and insecure; App Engine automatically uses the service account.
- B
The bucket has uniform bucket-level access disabled, so ACLs may override IAM permissions.
Why wrong: Even with ACLs, if the service account is not granted via ACL, IAM role should still apply if set correctly.
- C
The bucket is in a VPC Service Controls perimeter that blocks access from the App Engine service account.
Why wrong: VPC-SC would result in a different error (access denied by org policy).
- D
The service account is from the app's project, not the bucket's project, and the bucket's IAM policy may not include the service account.
Cross-project IAM requires adding the service account from the source project to the bucket's IAM policy in the destination project.
Cross-Project IAM for Cloud Storage: Fixing App Engine 403 Errors
This PCD practice question tests your understanding of integrating google cloud services. The scenario asks you to isolate a root cause — eliminate options that address a different problem before choosing. A key principle to apply: cross-project IAM access. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.
A developer is integrating an App Engine standard environment app with Cloud Storage. The app needs to read objects from a bucket that is in a different project. The developer has granted the App Engine service account the Storage Object Viewer role on the bucket. However, the app still gets a 403 error when trying to read objects. What is the most likely cause?
Clue words in this question
Noticing these words before you look at the options changes how you read each choice.
Clue:
"most likely"Why it matters: Probability qualifier — the question wants the most probable cause or outcome, not a guaranteed one. Eliminate low-probability options.
Quick Answer
The answer is that the App Engine service account from the app’s own project must be explicitly granted the Storage Object Viewer role on the bucket in the bucket’s project. This is the core of cross-project IAM for Cloud Storage: IAM policies are resource-local, so a service account from Project A cannot use roles inherited from Project B’s organization or folder hierarchy. When integrating App Engine with Cloud Storage across projects, the bucket’s IAM policy must include the service account email as a member, otherwise the 403 error persists even if the account has permissions in its home project. On the Google Professional Cloud Developer exam, this scenario tests your understanding that cross-project access requires explicit resource-level grants, not just project-level roles—a common trap is assuming the service account’s project-level roles carry over. Remember the mnemonic: “Cross-project? Grant at the bucket, not the project.”
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
The service account is from the app's project, not the bucket's project, and the bucket's IAM policy may not include the service account.
Option D is correct because the App Engine service account belongs to the app's project, not the bucket's project. Cross-project access requires the service account to be explicitly granted the Storage Object Viewer role in the bucket's IAM policy. If the role was granted but the policy hasn't propagated or is misconfigured, a 403 error can still occur. Option A is incorrect because downloading a JSON key is unnecessary and insecure; service accounts can be used across projects without key files. Option B is incorrect because uniform bucket-level access being disabled relates to ACLs, but IAM permissions still apply; the issue is cross-project IAM, not ACL/ IAM conflict. Option C is incorrect while VPC Service Controls can block access, the typical error is different and would involve the perimeter, not just a 403 on object reads; the question describes a simple cross-project permission issue.
Key principle: Cross-project IAM access
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
The service account needs to be downloaded as a JSON key and added to the app configuration.
Why it's wrong here
Using a key is unnecessary and insecure; App Engine automatically uses the service account.
- ✗
The bucket has uniform bucket-level access disabled, so ACLs may override IAM permissions.
Why it's wrong here
Even with ACLs, if the service account is not granted via ACL, IAM role should still apply if set correctly.
- ✗
The bucket is in a VPC Service Controls perimeter that blocks access from the App Engine service account.
Why it's wrong here
VPC-SC would result in a different error (access denied by org policy).
- ✓
The service account is from the app's project, not the bucket's project, and the bucket's IAM policy may not include the service account.
Why this is correct
Cross-project IAM requires adding the service account from the source project to the bucket's IAM policy in the destination project.
Clue confirmation
The clue word "most likely" in the question point toward this answer.
Related concept
Cross-project IAM access
Common exam traps
Common exam trap: answer the scenario, not the keyword
Candidates often think the error is due to missing ACLs or VPC perimeters, but the real issue is that the IAM role was granted at the project level rather than the bucket level, or the service account is not in the bucket's IAM policy.
Detailed technical explanation
How to think about this question
Treat this as a scenario question. Identify the problem, the constraint, and the best action. Then compare each option against those facts.
KKey Concepts to Remember
- Cross-project IAM access
- App Engine service account
- Cloud Storage IAM roles
TExam Day Tips
- Watch for words such as best, first, most likely and least administrative effort.
- Review why wrong options are wrong, not only why the correct option is correct.
Key takeaway
Cross-project IAM access
Real-world example
How this comes up in practice
A media company stores terabytes of video archives that are accessed once a year for audit purposes. Moving these objects to a cold storage tier (Azure Archive, S3 Glacier, or Google Nearline) costs a fraction of hot storage. Questions like this test whether you understand storage tiers, access frequency tradeoffs, and retrieval latency requirements.
Visual reference
What to study next
Got this wrong? Here's your next step.
Review cross-project IAM access, then practise related PCD questions on the same topic to reinforce the concept.
- →
Integrating Google Cloud services — study guide chapter
Learn the concepts, then practise the questions
- →
Integrating Google Cloud services practice questions
Targeted practice on this topic area only
- →
All PCD questions
999 questions across all exam domains
- →
Google Professional Cloud Developer study guide
Full concept coverage aligned to exam objectives
- →
PCD practice test guide
How to use practice tests most effectively before exam day
Related practice questions
Related PCD practice-question pages
Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.
Manage a Solution that Can Span Multiple Database Systems practice questions
Practise PCD questions linked to Manage a Solution that Can Span Multiple Database Systems.
Deploy Scalable and Highly Available Databases in Google Cloud practice questions
Practise PCD questions linked to Deploy Scalable and Highly Available Databases in Google Cloud.
Design Scalable and Highly Available Cloud Database Solutions practice questions
Practise PCD questions linked to Design Scalable and Highly Available Cloud Database Solutions.
Migrate Data Solutions practice questions
Practise PCD questions linked to Migrate Data Solutions.
Designing highly scalable, available, and reliable cloud-native applications practice questions
Practise PCD questions linked to Designing highly scalable, available, and reliable cloud-native applications.
Building and testing applications practice questions
Practise PCD questions linked to Building and testing applications.
Deploying applications practice questions
Practise PCD questions linked to Deploying applications.
Integrating Google Cloud services practice questions
Practise PCD questions linked to Integrating Google Cloud services.
Managing application performance monitoring practice questions
Practise PCD questions linked to Managing application performance monitoring.
PCD fundamentals practice questions
Practise PCD questions linked to PCD fundamentals.
PCD scenario practice questions
Practise PCD questions linked to PCD scenario.
PCD troubleshooting practice questions
Practise PCD questions linked to PCD troubleshooting.
Practice this exam
Start a free PCD practice session
Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.
FAQ
Questions learners often ask
What does this PCD question test?
Integrating Google Cloud services — This question tests Integrating Google Cloud services — Cross-project IAM access.
What is the correct answer to this question?
The correct answer is: The service account is from the app's project, not the bucket's project, and the bucket's IAM policy may not include the service account. — Option D is correct because the App Engine service account belongs to the app's project, not the bucket's project. Cross-project access requires the service account to be explicitly granted the Storage Object Viewer role in the bucket's IAM policy. If the role was granted but the policy hasn't propagated or is misconfigured, a 403 error can still occur. Option A is incorrect because downloading a JSON key is unnecessary and insecure; service accounts can be used across projects without key files. Option B is incorrect because uniform bucket-level access being disabled relates to ACLs, but IAM permissions still apply; the issue is cross-project IAM, not ACL/ IAM conflict. Option C is incorrect while VPC Service Controls can block access, the typical error is different and would involve the perimeter, not just a 403 on object reads; the question describes a simple cross-project permission issue.
What should I do if I get this PCD question wrong?
Review cross-project IAM access, then practise related PCD questions on the same topic to reinforce the concept.
Are there clue words in this question I should notice?
Yes — watch for: "most likely". Probability qualifier — the question wants the most probable cause or outcome, not a guaranteed one. Eliminate low-probability options.
What is the key concept behind this question?
Cross-project IAM access
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
Keep practising
More PCD practice questions
- A company is deploying a microservices architecture on GKE. They need to expose a set of related microservices under a s…
- You need to monitor the CPU usage of a Compute Engine instance and trigger an alert when it exceeds 80% for 5 minutes. W…
- A Cloud Bigtable instance has a single cluster. To improve availability and read throughput, the team decides to add a s…
- A developer wants to enable IAM database authentication for Cloud SQL for PostgreSQL. Which IAM role must be granted to…
- A company is using Cloud Bigtable for a time-series workload. They want to monitor performance and identify hot spots. W…
- A company wants to run hybrid transactional/analytical processing (HTAP) workloads on a PostgreSQL-compatible database w…
Last reviewed: Jun 24, 2026
This PCD 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 PCD exam.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.