Question

Difficulty: MediumManaging IAM Roles and Resource Access Permissions

A security team grants an auditor the Storage Object Viewer role (`roles/storage.objectViewer`) at the Google Cloud Organization resource level. Later, a project administrator attempts to restrict this access by removing the auditor's role assignment from a specific project's IAM policy within that organization. Which outcome occurs when the auditor attempts to read an object in a Cloud Storage bucket inside that project?

  1. The auditor retains full access to read objects because permissions granted at higher levels in the resource hierarchy are inherited and cannot be revoked at lower levels.Answer
  2. B
    The auditor loses access because explicitly managing project-level IAM policy bindings overrides organization-wide permission inheritance.
  3. C
    The auditor loses access to the project's buckets unless the project administrator grants them the Viewer primitive role at the project level.
  4. D
    The auditor is denied access because resource policies evaluated at the child project level take precedence over parent organization policies.

Answer

The auditor retains full access to read objects because permissions granted at higher levels in the resource hierarchy are inherited and cannot be revoked at lower levels.
In Google Cloud IAM, policies are evaluated as an additive union across the resource hierarchy. Roles assigned at a parent level (such as an Organization or Folder) are inherited by all child resources (such as Projects and Cloud Storage buckets). Removing a role binding at a child project level does not affect permissions granted at the Organization level.

Step-by-Step Solution

1
Analyze the IAM resource hierarchy levels in the scenario.
The role assignment (`roles/storage.objectViewer`) was created at the Organization level (parent), and the removal attempt occurred at the Project level (child).
Understanding where role bindings exist in the hierarchy is key to calculating effective permissions.
2
Apply Google Cloud IAM inheritance rules.
Permissions in GCP are additive down the hierarchy tree (Organization → Folder → Project → Resource).
Effective access is the union of all permissions granted at the resource itself and all parent nodes.
3
Evaluate the effect of removing a binding at the project level.
Removing a role binding at the project level only removes permissions that were directly granted at that project level; it has no effect on inherited permissions from the Organization level.
Child policies cannot restrict or deny permissions inherited from higher levels in Google Cloud IAM.

Key Concept

Resource Hierarchy IAM Policy Inheritance
Rate this question