Question

Difficulty: MediumManaging Cloud Projects and Resource Hierarchy

A cloud administrator attempts to restrict a DevOps engineer's permissions within a specific Google Cloud project residing inside a folder named 'Production'. The DevOps engineer was previously assigned the Compute Admin (`roles/compute.admin`) role at the 'Production' folder level. The administrator removes the engineer's Compute Admin role assignment from the child project's IAM policy page. However, the engineer can still create and delete Compute Engine instances inside that project. What is the cause of this behavior?

  1. IAM permissions granted at a parent level in the resource hierarchy are inherited by child resources and cannot be revoked at the child resource level.Answer
  2. B
    Project-level IAM policy modifications require up to 24 hours to take effect due to global caching across child folders.
  3. C
    The Compute Admin role is a primitive role that automatically overrides resource hierarchy boundaries across all folders.
  4. D
    The project's linked billing account grants implicit Compute Admin access to any user with Folder Viewer permissions.

Answer

IAM permissions granted at a parent resource level in Google Cloud are inherited down the resource hierarchy and cannot be restricted or revoked at a lower child level.
In Google Cloud, IAM policies are inherited downward through the resource hierarchy (Organization → Folder → Project → Resource) and are strictly additive. If a user is granted a role at a higher level (such as a Folder), that permission applies to all child resources within that folder. Removing a role binding on a child project does not remove or override the binding inherited from the parent folder.

Step-by-Step Solution

1
Analyze the Google Cloud Resource Hierarchy for the scenario.
The resource structure is Folder ('Production') → Child Project.
Permissions bound at the folder level apply to all child projects contained within that folder.
2
Evaluate IAM policy inheritance behavior.
IAM policies in GCP are additive. Effective permissions for a resource are the union of the policy set on the resource and all policies inherited from its ancestors.
Child resources inherit all permissions granted at parent levels.
3
Determine why removing the role at the project level failed to restrict access.
Removing a direct role binding on the project only removes project-specific bindings. It does not affect inherited bindings from the parent folder.
To revoke access, the role binding must be removed at the folder level where it was originally granted.

Key Concept

Resource Hierarchy IAM Policy Inheritance
Rate this question