If you remember one thing before the exam, remember this: RBAC governs who can act; Azure Policy governs what is allowed. They are complementary tools, not two ways of doing the same job — and the AZ-900 exam loves to see whether you can tell them apart.
The one distinction that matters
Role-based access control (RBAC) is about identities and permissions. You take a user, group, or service identity, give it a role (Owner, Contributor, Reader, or a resource-specific role), and apply that at a scope — a management group, subscription, resource group, or single resource. The result: that identity can now do certain things there. RBAC never cares what the resource looks like, only who is allowed to touch it.
Azure Policy is about rules on the resources themselves. A policy says things like “resources may only be created in West Europe,” “every resource must have a CostCenter tag,” or “only these VM SKUs are allowed.” Azure Policy evaluates each resource for compliance and can deny the ones that break the rule — and it does so regardless of who is acting. An Owner with full permissions is still stopped by a Deny policy.
The diagram above lays this out as two columns meeting at a shared base: the left column, RBAC, runs identity to role to scope; the right column, Azure Policy, runs rule to resource compliance. Both point down at the same Azure resources — which is exactly why beginners confuse them. Same resources, different questions.
Why the exam keeps testing it
The mix-up is easy to trigger because both features live in the governance space and both “control” things. The exam probes the seam with scenarios:
- “Let a user manage VMs” — a permission for a person → RBAC.
- “Allow resources only in certain regions” — a rule on resources → Azure Policy.
- “Require a tag on every resource” — a configuration rule → Azure Policy.
- “Give read-only access to a resource group” — a permission for a person → RBAC.
- “Deny creating a resource type” — a rule that holds for everyone → Azure Policy.
Read each scenario for the subject. If the sentence is about a person, user, group, or role, it is RBAC. If it is about which resources, regions, tags, or SKUs are permitted, it is Azure Policy.
When you need both
Real governance almost always uses the two together, and the exam has at least one “both” answer waiting for you. A common pattern: use RBAC to grant the storage team permission to manage storage accounts, and use Azure Policy to make sure any account they create uses an approved SKU and lives in an approved region. RBAC opens the door; Policy sets the house rules once you are inside. Picking only one when the scenario clearly needs both is the trap.
The shortcut to carry in
Answer each question below before you reveal the explanation, and when you miss, read past the correct option to why the others are wrong — the distractors here are usually the right tool aimed at the wrong question. One memory hook does most of the work:
RBAC = who, Policy = what.
Say it once and the whole comparison snaps into place. For the wider governance picture, see the management and governance domain and the identity and governance summary.
Updated for AZ-900 (July 2026). The sample questions above are our own work
in the style of the exam — not real exam items. The exam itself is set and marked
by the certification body.