mediumMultiple ChoiceObjective-mapped
Google ACE Practice Question: A team wants to grant a contractor the Storage…
A team wants to grant a contractor the Storage Object Viewer role on a specific bucket path, but only during business hours (Monday–Friday, 9am–5pm local time). Which IAM feature supports these conditions?
⚠ Common exam trap
Google Cloud often tests the distinction between IAM Conditions (which are attribute-based and evaluated at runtime) and external scheduling mechanisms like Cloud Scheduler, leading candidates to mistakenly choose the latter as a 'valid' solution despite its lack of native IAM integration and potential for access gaps.
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
✓
IAM Conditions on the role binding
IAM Conditions allow you to define time-based constraints on role bindings using the `request.time` attribute. By setting a condition that restricts access to Monday–Friday, 9am–5pm, the contractor is granted the Storage Object Viewer role only during those hours. This is the native IAM feature designed for such fine-grained, attribute-based access control.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
IAM deny policies scoped to non-business hours
Why it's wrong here
IAM deny policies are evaluated before allow bindings and unconditionally block the listed permissions, but they cannot natively evaluate time-of-day or day-of-week attributes. To enforce access only during business hours you would have to manually swap deny policies in and out, which is operationally fragile and creates a race window where permissions can be wrong. IAM Conditions are the native, declarative way to make a role binding valid only during a specified time window, so deny policies are an unnecessarily complex and brittle alternative.
- ✓
IAM Conditions on the role binding
Why this is correct
IAM Conditions attach to a specific role binding and can include expressions using request.time, which supports date/time, day-of-week, and time-of-day comparisons such as Monday through Friday between 09:00 and 17:00. The condition narrows the binding's effect without altering the rest of the organization, folder, or project IAM policy. This approach is the recommended pattern because it is evaluated in real time by Cloud IAM, requires no external orchestration, and applies automatically to every API request that uses that binding.
- ✗
VPC Service Controls with a time-based access policy
Why it's wrong here
VPC Service Controls operate at the perimeter level by using context-aware conditions to control which services a request can reach based on attributes like the client network, identity, and resource location. While the context object includes request.time as a possible condition attribute, VPC Service Controls are designed to enforce service perimeter boundaries, not to scope an IAM role binding's permissions to business hours. They do not modify or narrow the specific permissions granted to a principal; instead they block access to entire Google Cloud services, making them the wrong granularity for this task.
- ✗
Cloud Scheduler removing and re-adding the IAM binding on a schedule
Why it's wrong here
Using Cloud Scheduler to remove and re-add a role binding is a cron-driven mutation of the IAM policy that is asynchronous, and during the switch a denied user could be incorrectly allowed or blocked depending on the job's timing. It also creates a dependency on Cloud Scheduler jobs and Pub/Sub-style execution, and any failure would leave the binding in the wrong state for an indefinite period. IAM Conditions provide time-based gating without mutating policy state, so the scheduler approach is an unnecessary and error-prone workaround for a feature Cloud IAM already natively supports.
Go deeper
Related to this question
About these practice questions
Courseiva writes every ACE question from scratch — 769 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
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.