- A
Grant the service account the Storage Object Admin role on the service account itself.
Why wrong: Roles are granted to identities, not on identities; this does not apply to the bucket.
- B
Grant the service account the Storage Object Admin role at the project level.
Why wrong: Project-level role grants access to all buckets in the project, which is unnecessary.
- C
Grant the service account the Storage Admin role at the project level.
Why wrong: Storage Admin is a broad role that grants full control over all storage resources in the project.
- D
Grant the service account the Storage Object Admin role on the specific Cloud Storage bucket.
This grants minimal permissions to manage objects in that bucket only.
Quick Answer
The answer is to grant the service account the Storage Object Admin role on the specific Cloud Storage bucket. This is correct because it adheres to the principle of least privilege by scoping permissions to only object-level operations—like reading and writing Terraform state files—within that single bucket, rather than granting broader project-level storage access. On the Google Professional Cloud DevOps Engineer exam, this scenario tests your understanding of resource-level IAM versus project-level roles, often appearing as a trap where candidates mistakenly choose a project-wide role like Storage Admin. The key distinction is that the CI/CD pipeline runs in a dedicated project, but the state bucket itself is the resource requiring access control, making a bucket-specific role assignment the most secure approach. A helpful memory tip: think of the state bucket as a locked safe—you only give the pipeline the key to that safe (Object Admin), not the keys to the entire vault (Storage Admin).
PCDOE Practice Question: Bootstrapping a Google Cloud organization for DevOps
This PCDOE practice question tests your understanding of bootstrapping a google cloud organization for devops. Match the stated requirement to the specific cloud service, access model, or configuration option — many options are valid in isolation but not for this scenario. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. 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.
An organization is bootstrapping its Google Cloud environment and needs to establish a secure CI/CD pipeline that deploys infrastructure using Terraform. The pipeline must run in a dedicated project, and Terraform state must be stored in a Cloud Storage bucket. What is the most secure way to grant the CI/CD service account the minimal permissions required to manage the state bucket?
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
Grant the service account the Storage Object Admin role on the specific Cloud Storage bucket.
Option D is correct because granting the Storage Object Admin role (roles/storage.objectAdmin) on the specific Cloud Storage bucket follows the principle of least privilege. This allows the CI/CD service account to manage objects (including Terraform state files) within that bucket without granting broader permissions to other buckets or project-level storage operations. The pipeline runs in a dedicated project, but the state bucket itself is the resource that needs access control, making a resource-level role assignment the most secure approach.
Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Grant the service account the Storage Object Admin role on the service account itself.
Why it's wrong here
Roles are granted to identities, not on identities; this does not apply to the bucket.
- ✗
Grant the service account the Storage Object Admin role at the project level.
Why it's wrong here
Project-level role grants access to all buckets in the project, which is unnecessary.
- ✗
Grant the service account the Storage Admin role at the project level.
Why it's wrong here
Storage Admin is a broad role that grants full control over all storage resources in the project.
- ✓
Grant the service account the Storage Object Admin role on the specific Cloud Storage bucket.
Why this is correct
This grants minimal permissions to manage objects in that bucket only.
Related concept
Read the scenario before looking for a memorised answer.
Common exam traps
Common exam trap: answer the scenario, not the keyword
The trap here is that candidates often confuse granting roles at the project level versus the resource level, mistakenly thinking project-level permissions are required for a single bucket, or they incorrectly assume that roles can be granted on a service account itself rather than on the resource being accessed.
Detailed technical explanation
How to think about this question
Under the hood, Cloud Storage IAM roles are evaluated at the resource hierarchy level (organization, folder, project, bucket, or object). The Storage Object Admin role (roles/storage.objectAdmin) provides permissions like storage.objects.get, storage.objects.list, storage.objects.create, and storage.objects.delete, which are exactly what Terraform needs to read and write state files. By assigning this role at the bucket level, you leverage IAM conditions and resource-level policies, which can be further refined with conditions (e.g., limiting access to specific prefixes) for even tighter security. In a real-world scenario, if the CI/CD pipeline also needs to manage other resources (like Compute Engine instances), you would grant additional roles only on those specific resources, not at the project level.
KKey Concepts to Remember
- Read the scenario before looking for a memorised answer.
- Find the constraint that changes the correct option.
- Eliminate answers that are true in general but not in this case.
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
Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
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.
What to study next
Got this wrong? Here's your next step.
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
- →
Bootstrapping a Google Cloud organization for DevOps — study guide chapter
Learn the concepts, then practise the questions
- →
Bootstrapping a Google Cloud organization for DevOps practice questions
Targeted practice on this topic area only
- →
All PCDOE questions
500 questions across all exam domains
- →
Google Professional Cloud DevOps Engineer study guide
Full concept coverage aligned to exam objectives
- →
PCDOE practice test guide
How to use practice tests most effectively before exam day
Related practice questions
Related PCDOE practice-question pages
Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.
Bootstrapping a Google Cloud organization for DevOps practice questions
Practise PCDOE questions linked to Bootstrapping a Google Cloud organization for DevOps.
Managing service incidents practice questions
Practise PCDOE questions linked to Managing service incidents.
Managing Google Cloud costs practice questions
Practise PCDOE questions linked to Managing Google Cloud costs.
Building and implementing CI/CD pipelines practice questions
Practise PCDOE questions linked to Building and implementing CI/CD pipelines.
Implementing service monitoring strategies practice questions
Practise PCDOE questions linked to Implementing service monitoring strategies.
Optimizing service performance practice questions
Practise PCDOE questions linked to Optimizing service performance.
PCDOE fundamentals practice questions
Practise PCDOE questions linked to PCDOE fundamentals.
PCDOE scenario practice questions
Practise PCDOE questions linked to PCDOE scenario.
PCDOE troubleshooting practice questions
Practise PCDOE questions linked to PCDOE troubleshooting.
Practice this exam
Start a free PCDOE 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 PCDOE question test?
Bootstrapping a Google Cloud organization for DevOps — This question tests Bootstrapping a Google Cloud organization for DevOps — Read the scenario before looking for a memorised answer..
What is the correct answer to this question?
The correct answer is: Grant the service account the Storage Object Admin role on the specific Cloud Storage bucket. — Option D is correct because granting the Storage Object Admin role (roles/storage.objectAdmin) on the specific Cloud Storage bucket follows the principle of least privilege. This allows the CI/CD service account to manage objects (including Terraform state files) within that bucket without granting broader permissions to other buckets or project-level storage operations. The pipeline runs in a dedicated project, but the state bucket itself is the resource that needs access control, making a resource-level role assignment the most secure approach.
What should I do if I get this PCDOE question wrong?
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
What is the key concept behind this question?
Read the scenario before looking for a memorised answer.
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 →
Same concept, more angles
1 more ways this is tested on PCDOE
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A startup wants to implement infrastructure as code for their Google Cloud environment to ensure reproducibility. They are using Terraform and want to manage state securely. What is the recommended approach?
easy- A.Store Terraform state in a file in Cloud Shell home directory.
- B.Store Terraform state in Cloud Source Repositories as a YAML file.
- C.Store Terraform state locally on each developer's machine and use git to sync.
- ✓ D.Store Terraform state in a Cloud Storage bucket with object versioning enabled.
Why D: Storing Terraform state in a Cloud Storage bucket with object versioning enabled is the recommended approach because it provides a centralized, remote backend that supports state locking (via Cloud Storage's object lease mechanism) and version history for rollback. This ensures consistency across team members and protects against state corruption or accidental deletion, aligning with infrastructure as code best practices for reproducibility.
Last reviewed: Jun 11, 2026
This PCDOE 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 PCDOE 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.