Managing access across Microsoft Entra ID and Azure is often confusing—especially when you discover that Entra ID roles cannot always provide the fine-grained permissions you expect, particularly around protected actions. Meanwhile, Azure RBAC offers far more granular control and customizability.
This blog breaks down the differences, when to use each role type, and why some permissions simply cannot be granted through Entra ID custom roles.
Understanding the Two Permission Models
Microsoft uses two separate authorization models:
1. Entra ID role-based access control (Entra ID roles)
- Used for directory-level operations.
- Controls access to:
- Users and groups
- Enterprise apps & app registrations
- Conditional Access
- Security configurations
- Policies and Identity governance
2. Azure RBAC (built-in or custom roles)
- Used for Azure resource-level operations.
- Controls access to:
- VMs, Storage, Networking
- Key Vault
- App Services
- Azure Kubernetes Service (AKS)
- Subscription / resource group management
Key difference:
Entra ID roles = identity & directory management.
Azure RBAC roles = cloud resource management.
Why Entra ID Custom Roles Have Limitations
While Azure RBAC allows fully customizable permissions, Entra ID does not. This is because:
✔ Some directory actions are protected
Microsoft classifies certain identity-related actions as sensitive, such as:
- Managing Conditional Access policies
- Granting privileged roles
- Resetting passwords for high-privilege accounts
- Managing authentication methods
- Updating federation settings
- Privileged Identity Management (PIM) operations
These can only be performed by built-in Entra ID roles, not custom roles.
✔ Entra ID custom roles cannot include permissions for:
- Highly sensitive (protected) operations
- Actions tied to Microsoft internal security boundaries
- Privileged role assignments
- Full policy management
This is by design, to prevent accidental over-permissioning and to maintain Zero Trust principles in the identity layer.
Why Azure Custom Roles Do Not Have the Same Limitations
Azure RBAC is resource-scoped.
Permissions apply only within a subscription, resource group, or resource, not the identity plane.
Because Azure RBAC doesn’t control global identity configuration, Microsoft allows:
- Hundreds of fine-grained actions
- Full creation of custom roles
- Ability to mix and match any resource-related permissions
In short:
Identity is a protected perimeter. Azure resources are not.
So Azure custom roles are much more flexible.
When to Use Entra ID Built-In Roles
Use Entra ID built-in roles when you need to manage:
- Conditional Access
- PIM (Privileged Identity Management)
- Authentication methods
- User or group lifecycle management
- App registration / Enterprise App deep controls
- Tenant-wide identity security policies
- Privileged roles (Global Admin, Security Admin, etc.)
Examples
- Security Admin → Manage MFA, CA, identity protection
- Application Administrator → Create/manage app registrations
- User Administrator → Manage users and groups
If an operation is “protected,” you must use a built-in Entra ID role.
When to Use Entra ID Custom Roles
Use Entra ID custom roles when:
- You want to delegate specific non-protected directory actions
- You need least privilege access for identity or app-related operations
- Built-in roles are too broad
Examples
✔ Read-only access for app registrations
✔ Limited write access for enterprise apps
✔ Ability to update specific user profile fields
✔ Delegated group management permissions
But remember: you cannot assign protected actions to custom roles.
When to Use Azure RBAC Built-In Roles
Use Azure built-in roles when:
- You don’t need granular customization
- You want quick, standardized privilege levels
- You want Microsoft-approved permission sets for common resource operations
Examples:
- Reader
- Contributor
- Virtual Machine Contributor
- Storage Blob Data Reader
- Key Vault Reader
These roles are broad but predictable.
When to Use Azure Custom Roles
Use Azure custom roles when:
- You need precise permission control on resources
- Built-in roles provide too much access
- You want separation of duties for DevOps, IT, developers, or automation
Examples
✔ A role that can start/stop VMs but not delete them
✔ A role that can read Key Vault secrets but not list keys
✔ A role that can manage tagging across all resources
✔ A role limited to specific resource providers
Azure custom roles offer the highest customization across the Microsoft cloud.
#Azure #Security #EntraID #Global #Microsoft #Perimeter #RBAC #IAM