- A
Assign the roles/viewer role at the project level.
Roles/viewer provides read-only access to all resources except for data access in some services.
- B
Assign the roles/storage.objectViewer role at the project level.
Why wrong: This would give read access to all buckets, including the sensitive ones, which is not desired.
- C
Assign the roles/viewer role at the project level and create an IAM deny rule to deny storage.objects.list and storage.objects.get on the sensitive buckets.
The deny rule explicitly blocks the read permissions on the sensitive buckets while the viewer role gives access elsewhere.
- D
Assign the roles/storage.admin role at the project level.
Why wrong: This grants full control over storage, including deletion, which is excessive for auditors.
- E
Assign the roles/storage.objectViewer role on the sensitive buckets with a deny condition.
Why wrong: IAM role conditions cannot deny; they only allow access if conditions are met. A deny condition is not valid.
Google ACE roles/viewer Practice Question
This ACE practice question tests your understanding of roles/viewer. Read the scenario carefully and evaluate each option against the stated constraints before committing to an answer. A key principle to apply: roles/viewer. 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 systems administrator needs to grant a group of external auditors read-only access to all resources in a GCP project, except for Cloud Storage buckets that contain sensitive data. The auditors should not be able to view the contents of those buckets. Which two IAM policies should the administrator implement? (Choose two.)
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
Assign the roles/viewer role at the project level.
Option A is correct because roles/viewer at the project level grants read-only access to all resources, including the ability to list and read objects in Cloud Storage buckets. However, to prevent auditors from viewing the contents of sensitive buckets, an IAM deny rule must be applied to those buckets to explicitly deny storage.objects.list and storage.objects.get. Option C combines roles/viewer at the project level with such a deny rule, satisfying the requirement.
Key principle: roles/viewer
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Assign the roles/viewer role at the project level.
Why this is correct
Roles/viewer provides read-only access to all resources except for data access in some services.
Related concept
roles/viewer
- ✗
Assign the roles/storage.objectViewer role at the project level.
Why it's wrong here
This would give read access to all buckets, including the sensitive ones, which is not desired.
- ✓
Assign the roles/viewer role at the project level and create an IAM deny rule to deny storage.objects.list and storage.objects.get on the sensitive buckets.
Why this is correct
The deny rule explicitly blocks the read permissions on the sensitive buckets while the viewer role gives access elsewhere.
Related concept
roles/viewer
- ✗
Assign the roles/storage.admin role at the project level.
Why it's wrong here
This grants full control over storage, including deletion, which is excessive for auditors.
- ✗
Assign the roles/storage.objectViewer role on the sensitive buckets with a deny condition.
Why it's wrong here
IAM role conditions cannot deny; they only allow access if conditions are met. A deny condition is not valid.
Common exam traps
Common exam trap: answer the scenario, not the keyword
Google Cloud often tests the distinction between bucket-level and object-level permissions, and the trap here is that candidates mistakenly think roles/viewer alone blocks object access, when in fact it grants storage.objects.list and storage.objects.get, so an explicit deny rule is required to prevent viewing bucket contents.
Detailed technical explanation
How to think about this question
IAM deny rules are implemented using the Deny policy, which is evaluated after allow bindings and can explicitly deny specific permissions (e.g., storage.objects.list and storage.objects.get) on resources like Cloud Storage buckets. This approach ensures that even if a user has a broader allow role (like roles/viewer), the deny rule overrides it for the specified buckets, preventing object-level access while still allowing listing of bucket metadata. In real-world scenarios, this is critical for compliance requirements where external auditors need visibility into project structure but must be barred from accessing sensitive data.
KKey Concepts to Remember
- roles/viewer
- IAM deny rules
- storage.objectViewer
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
roles/viewer
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.
Review roles/viewer, then practise related ACE questions on the same topic to reinforce the concept.
Related practice questions
Related ACE practice-question pages
Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.
Configuring Access and Security practice questions
Practise ACE questions linked to Configuring Access and Security.
Planning and Configuring a Cloud Solution practice questions
Practise ACE questions linked to Planning and Configuring a Cloud Solution.
Ensuring Successful Operation of a Cloud Solution practice questions
Practise ACE questions linked to Ensuring Successful Operation of a Cloud Solution.
Deploying and Implementing a Cloud Solution practice questions
Practise ACE questions linked to Deploying and Implementing a Cloud Solution.
Setting Up a Cloud Solution Environment practice questions
Practise ACE questions linked to Setting Up a Cloud Solution Environment.
ACE fundamentals practice questions
Practise ACE questions linked to ACE fundamentals.
ACE scenario practice questions
Practise ACE questions linked to ACE scenario.
ACE troubleshooting practice questions
Practise ACE questions linked to ACE troubleshooting.
Practice this exam
Start a free ACE 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 ACE question test?
roles/viewer
What is the correct answer to this question?
The correct answer is: Assign the roles/viewer role at the project level. — Option A is correct because roles/viewer at the project level grants read-only access to all resources, including the ability to list and read objects in Cloud Storage buckets. However, to prevent auditors from viewing the contents of sensitive buckets, an IAM deny rule must be applied to those buckets to explicitly deny storage.objects.list and storage.objects.get. Option C combines roles/viewer at the project level with such a deny rule, satisfying the requirement.
What should I do if I get this ACE question wrong?
Review roles/viewer, then practise related ACE questions on the same topic to reinforce the concept.
What is the key concept behind this question?
roles/viewer
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 ACE practice questions
- A team's Cloud Build pipeline must: (1) run unit tests, (2) build a Docker image only if tests pass, (3) push the image…
- A team needs a database backup job to run every day at 2 AM UTC. The job calls an HTTP endpoint to trigger the backup. T…
- A team wants to receive an email alert when the average CPU utilization of VMs in a managed instance group exceeds 80% f…
- A Go service is consuming significantly more CPU than expected. The team suspects an inefficient function but doesn't kn…
- A network team is creating a new VPC and must decide between auto mode and custom mode. Why would they choose custom mod…
- A company organizes its GCP projects by business unit — Finance, Engineering, and Sales. Which resource is best suited t…
Last reviewed: Jun 30, 2026
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.
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.