
IAM inheritance is one of those topics that looks simple on a diagram and then quietly costs people points on the Professional Data Engineer exam. The org node sits at the top, folders hang underneath, projects sit inside folders, and resources live in projects. A role binding made at the top of that tree flows down to everything below it. That single sentence is the whole concept, but the exam will twist it into questions about least privilege, audit access, and policy administration that are easy to overthink.
I want to walk through the org-level roles I expect you to recognize on test day and the inheritance behavior that makes them so powerful, and so dangerous.
There are dozens of predefined roles in Google Cloud, but for the Professional Data Engineer exam the org-level set you actually need to recognize is small. These are the bindings you would grant at the organization node itself, not at a folder or project.
The distinction between Viewer and Browser is a classic exam trap. Viewer can see the contents of resources. Browser can only see that the resources exist and how they are organized. If a question asks about giving someone the ability to navigate the project structure without exposing data, Browser is the answer.
The rule is straightforward. A role granted at the organization level applies to every folder and project under that organization. A role granted at a folder applies to every project under that folder. A role granted at a project applies to the resources inside that project.
So if I grant Alice the Viewer role at the org level, Alice can view resources in Folder 1, Folder 2, Project A, Project B, Project C, and anything else that lives under that org now or in the future. That last part is what makes inheritance both useful and risky. New projects automatically pick up the bindings from above, which is great for consistent policy but means a careless org-level grant can silently widen access as your environment grows.
One thing the exam likes to test is that IAM permissions are additive, never subtractive. You cannot grant someone Editor at the org and then deny it at the project. If a role is granted higher up, it sticks. The only way to restrict the effective permissions at a lower level is to use IAM Conditions or to use Organization Policy constraints, which are a separate mechanism.
The reason this shows up so often on the Professional Data Engineer exam is that data platforms span the whole hierarchy. You might have a BigQuery dataset in one project, a Dataflow pipeline writing to it from another project, a Pub/Sub topic in a third, and a Composer environment orchestrating everything from a fourth. Granting roles at the project level for every one of those bindings is a maintenance nightmare. Granting them at the folder or org level lets you manage data engineering teams cleanly.
A common pattern I recommend: create a folder for your data platform, put every data project inside it, and grant your data engineers a role like BigQuery Data Editor or Dataflow Developer at the folder level. They get the access they need across every project in the folder, and when you spin up Project Number Five next quarter, it inherits the bindings automatically.
The flip side is auditing. When you are debugging why someone has access to something they should not, you cannot just look at the project IAM page. You have to walk up the hierarchy: project, folder, parent folder, org. The effective permissions for any principal are the union of every binding from every level above the resource.
If a question describes an organization, folders, and projects, and asks how to grant access, the answer almost always involves picking the highest level in the hierarchy where the grant still satisfies least privilege. Grant too high and you over-permission. Grant too low and you create maintenance work and inconsistency.
Memorize the four org-level roles above, remember that bindings cascade down and are additive, and you will handle most of the IAM questions the Professional Data Engineer exam throws at you.
My Professional Data Engineer course covers IAM hierarchy, org policies, and the role bindings most relevant to data platform work.