You need to ensure that junior administrators can view all resources in the Prod-Sub subscription but cannot create, modify, or delete any resources. Which Azure RBAC role should you assign?
Trap 1: Owner
Owner is the highest-privilege built-in role, encompassing all permissions of Contributor plus the ability to assign roles and manage access via Azure RBAC. Granting Owner to junior administrators would allow them to change access control, elevate other users' permissions, and modify or delete any resource in the scope. This is drastically more access than required for viewing resources and represents an unacceptable security risk for administrators who only need read-only visibility.
Trap 2: Contributor
Contributor grants full write access to resources in the assigned scope, allowing junior administrators to create, modify, and delete resources, as well as manage resource locks and execute actions like starting or stopping virtual machines. While it cannot assign role-based access control to others, it still goes far beyond view-only needs and exposes the environment to accidental or malicious configuration changes. The inclusion of write and delete actions violates the principle of least privilege, so it is not appropriate for a purely read-only requirement.
Trap 3: Monitoring Reader
Monitoring Reader is a purpose-built role that grants access to read monitoring data only—such as metrics, logs, alert rules, and diagnostic settings—but it does not provide general read permission over resource configuration or properties. For example, a user with this role can see a virtual machine's CPU metrics but cannot read its storage profile or network interface settings. Because the requirement asks for visibility into all resources, not just their monitoring signals, this role is too narrowly scoped and would miss core resource details.
- A
Owner
Why wrong: Owner is the highest-privilege built-in role, encompassing all permissions of Contributor plus the ability to assign roles and manage access via Azure RBAC. Granting Owner to junior administrators would allow them to change access control, elevate other users' permissions, and modify or delete any resource in the scope. This is drastically more access than required for viewing resources and represents an unacceptable security risk for administrators who only need read-only visibility.
- B
Contributor
Why wrong: Contributor grants full write access to resources in the assigned scope, allowing junior administrators to create, modify, and delete resources, as well as manage resource locks and execute actions like starting or stopping virtual machines. While it cannot assign role-based access control to others, it still goes far beyond view-only needs and exposes the environment to accidental or malicious configuration changes. The inclusion of write and delete actions violates the principle of least privilege, so it is not appropriate for a purely read-only requirement.
- C
Reader
The Reader role is a built-in Azure RBAC role that grants read-only access to all management-plane resource information across the assigned scope, including properties, configuration, and status. It cannot create, modify, or delete resources, nor assign permissions, making it the correct least-privilege choice for junior administrators who only need to view resources. This role satisfies the requirement without introducing any write or action capabilities.
- D
Monitoring Reader
Why wrong: Monitoring Reader is a purpose-built role that grants access to read monitoring data only—such as metrics, logs, alert rules, and diagnostic settings—but it does not provide general read permission over resource configuration or properties. For example, a user with this role can see a virtual machine's CPU metrics but cannot read its storage profile or network interface settings. Because the requirement asks for visibility into all resources, not just their monitoring signals, this role is too narrowly scoped and would miss core resource details.