Azure RBAC built-in roles
Azure role-based access control grants access by assigning a role definition to a security principal at a scope. Built-in roles are Microsoft-maintained definitions covering generic management (Owner, Contributor, Reader) and service-specific data access. This reference lists the most common ones with their scope and whether they act on the management or data plane.
How it works
An assignment binds a role to a principal at a scope; permissions inherit from broader scopes downward:
az role assignment create \
--assignee [email protected] \
--role "Storage Blob Data Reader" \
--scope "/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.Storage/storageAccounts/<acct>"
Azure separates two planes:
- Management plane roles (Owner, Contributor, Reader) manage the resource object — create, configure, delete.
- Data plane roles (Storage Blob Data Contributor, Key Vault Secrets User) read or write the contents inside the resource.
A Contributor can deploy a storage account but cannot read its blobs without a data-plane role. Scopes are management group → subscription → resource group → resource, inheriting downward.
Tips and notes
- Owner and User Access Administrator can grant access; Contributor cannot.
- Always assign at the narrowest scope (single resource or resource group), not the whole subscription.
- For storage and Key Vault, pick the explicit Data roles — generic Contributor does not grant data access.
- Inspect a role’s exact actions with
az role definition list --name "<role>".