A security auditor was granted the Viewer role at the organization level. The owners of one sensitive project want to prevent the auditor from viewing that specific project while leaving access to all other projects intact. What should you tell them?
Choose one.
IAM allow policies in Google Cloud are additive and allow-only. A resource's effective policy is the union of the policy set directly on it and the policies inherited from its ancestors — a lower level can add access but never take inherited access away.
Because the Viewer grant lives at the organization level, it flows down to every project, including the sensitive one. Option (c) is right: the only clean fixes are to change the grant at its source — for example, remove the org-level binding and instead grant Viewer on the folders or projects the auditor actually needs. Option (a) fails because there is no project-level binding to remove. Option (b) confuses organization policy (configuration guardrails) with IAM (who can do what). Option (d) invents deny entries inside allow policies, which do not exist.
- Identify where the binding was made — here, on the organization node.
- Recall that inheritance is additive: child policies cannot subtract ancestor grants.
- Rescope the grant: remove the org-level Viewer binding and re-grant it on the specific folders or projects that should be visible.
Exam tip: You cannot revoke an inherited role at a lower level — fix the grant where it was made.
Setting Up Google Cloud Projects, Resource Hierarchy, and IAM — the lesson that teaches this.