AZ-104 — RBAC Overview & Role Fundamentals
RBAC Deep Dive — Overview & Role Fundamentals
Azure Role-Based Access Control (RBAC) allows fine‑grained access management for Azure resources.
In AZ‑104, RBAC is one of the most heavily tested areas.
This post provides highly detailed, exam‑level and real‑world knowledge.
1. RBAC Architecture
RBAC uses role assignments to control who can access what resource.
A role assignment = Principal + Role + Scope
Where:
| Component | Meaning |
|---|---|
| Principal | User, Group, Service Principal, Managed Identity |
| Role | Set of permissions (JSON definition) |
| Scope | Management Group → Subscription → Resource Group → Resource |
Scope Hierarchy (Very Important for Exam)
Management Group
└── Subscription
└── Resource Group
└── Resource
Permissions inherit downward, never upward.
Example:
Assigning Reader at Subscription gives read access to all RGs and resources under it.
2. Built‑in Role Types
Azure includes over 120 built‑in roles.
Common Admin Roles
| Role | Capabilities |
|---|---|
| Owner | Full access + can assign roles |
| Contributor | Full access except RBAC |
| Reader | Read‑only |
| User Access Administrator | Can assign roles but cannot manage resources |
Service‑Specific Roles
Examples:
- Virtual Machine Contributor
- Storage Blob Data Reader
- Key Vault Secrets Officer
- Network Contributor
These give least‑privilege and modular security.
3. Role Evaluation Logic (Important!)
RBAC uses additive permissions.
If a user is assigned two roles:
- Storage Reader
- Storage Contributor
User gets the sum of both permissions.
RBAC does not support deny except via Azure Blueprints or Azure AD Conditional Access (not RBAC).
4. CLI & PowerShell Examples
List available roles
az role definition list -o table
Show full JSON role definition
az role definition list --name "Contributor" -o json
Portal Path
Azure Portal → Subscriptions → select subscription → Access Control (IAM)
5. Real‑World RBAC Design Patterns
Pattern 1 — Least Privilege
Use granular roles:
- VM team → Virtual Machine Contributor
- Network team → Network Contributor
- Backup admin → Backup Operator
Pattern 2 — Use Groups, not individuals
Assign RBAC at group level:
- Easier audits
- No “access creep”
Pattern 3 — Identity Separation
Avoid assigning Owner to:
- Developers
- Interns
- App Services
Use managed identities instead.
6. Exam Tips
✔ Owner is the only role that can assign roles (besides UAA).
✔ RBAC inheritance always flows downward.
✔ Use Azure AD groups for assignment, not direct to users.
✔ Know difference between Directory Roles vs RBAC Roles.
✔ Be able to read role JSON structure.
– Kasi @ KasdevTech