Azure Role-Based Access Control (RBAC)

Azure Role-Based Access Control (RBAC) project cover
Project CategoryCloud Identity and Access
PlatformMicrosoft Azure
Core TechnologiesMicrosoft Entra ID, Azure RBAC
Project FocusLeast privilege and scoped role assignments

Project Overview

This project demonstrates the implementation of Azure Role-Based Access Control (RBAC) to enforce the Principle of Least Privilege within a Microsoft Azure environment. The objective was to provide users with only the permissions required to perform their responsibilities while preventing unauthorized access to cloud resources.

1. Business Scenario

A company is migrating its infrastructure to Microsoft Azure and requires a secure access management model. Different departments need different permission levels to manage cloud resources without compromising security.

The environment was designed to separate administrative, operational, development, and auditing responsibilities using Microsoft Entra ID Security Groups and Azure RBAC.

2. Project Objectives

3. Environment

Component Value
Cloud Platform Microsoft Azure
Identity Platform Microsoft Entra ID
Resource Group rg-identity-prod
Virtual Network vnet-identity-prod
Storage Account stidentityprod001
Log Analytics Workspace rg-identity-prod (deployed under the Log Analytics workspace resource type)
Region East US 2

Note: the Log Analytics workspace was deployed using the same name as the resource group (rg-identity-prod) rather than a separate name such as "law-identity-prod" — this reflects the actual resource name used in the lab.

4. Project Architecture

Azure RBAC project architecture showing users, Microsoft Entra ID security groups, Azure RBAC roles, and scoped Azure resources
Identity-to-resource authorization flow using Microsoft Entra ID security groups, Azure RBAC roles, and scoped permissions.

Users are placed into Microsoft Entra ID security groups, and Azure RBAC roles are assigned to those groups at the appropriate scope. Contributor, Reader, and Virtual Machine Contributor are applied at the resource-group scope, while Storage Blob Data Reader is restricted to the Storage Account to demonstrate finer-grained access.

5. Implementation

5.1 Create the Resource Group

A dedicated Resource Group was created to isolate all project resources and simplify permission management.

Azure RBAC Implementation project screenshot

Resource Manager — Resource groups showing rg-identity-prod in East US 2.

5.2 Deploy the Virtual Network

A Virtual Network was deployed using a private IPv4 address space.

Configuration:

This network provides the foundation for hosting future Azure workloads.

Azure RBAC Implementation project screenshot

Virtual network review — vnet-identity-prod with address space 10.10.0.0/16 and default subnet 10.10.1.0/24.

Azure RBAC Implementation project screenshot

Resource group confirming vnet-identity-prod deployed in East US 2.

5.3 Deploy the Storage Account

An Azure Storage Account was deployed to demonstrate RBAC assignments at the resource level.

Configuration:

Azure RBAC Implementation project screenshot

Create a storage account — stidentityprod001, Standard performance, LRS replication.

Azure RBAC Implementation project screenshot

Storage account deployment completed successfully.

5.4 Deploy Log Analytics Workspace

A Log Analytics Workspace was created to support centralized monitoring and future security logging.

Azure RBAC Implementation project screenshot

Log Analytics workspace — Basics tab, Pay-as-you-go pricing tier, East US 2.

Azure RBAC Implementation project screenshot

Log Analytics workspace deployment completed successfully.

5.5 Verify Resource Deployment

All deployed resources were verified inside the Resource Group.

Resources:

Azure RBAC Implementation project screenshot

rg-identity-prod — all three resources confirmed: Log Analytics workspace, Storage account, and Virtual network.

5.6 Create Microsoft Entra ID Users

Cloud users were created to represent different operational roles.

User Department
Ahmed Admin (IT Admin) IT Administration
Sara Helpdesk Help Desk
Omar Developer Development
Noura Auditor Security Audit

Azure RBAC Implementation project screenshot

Microsoft Entra ID — Create a new user (tenant domain redacted for privacy).

Azure RBAC Implementation project screenshot

Users list confirming the created accounts (user principal names and identities redacted for privacy).

5.7 Create Security Groups

To simplify permission management, Security Groups were created.

Groups:

Azure RBAC Implementation project screenshot

Creating the grp-it-admins security group.

Azure RBAC Implementation project screenshot
Sensitive identifiers redacted for portfolio publication.

All groups confirmed: grp-it-admins, grp-helpdesk, grp-developers, grp-auditors.

5.8 Add Users to Groups

Each user was assigned to the appropriate Security Group.

User Group
Ahmed Admin grp-it-admins
Sara Helpdesk grp-helpdesk
Omar Developer grp-developers
Noura Auditor grp-auditors

Azure RBAC Implementation project screenshot

grp-it-admins — confirming group membership.

5.9 Configure Azure RBAC

Azure Built-in Roles were assigned to Security Groups instead of assigning permissions directly to users.

Security Group Azure Role
grp-it-admins Contributor
grp-helpdesk Reader
grp-developers Virtual Machine Contributor
grp-auditors Storage Blob Data Reader

This approach improves scalability and simplifies future user onboarding.

Azure RBAC Implementation project screenshot

Add role assignment — selecting the Contributor built-in role.

Azure RBAC Implementation project screenshot

Assigning the Contributor role to the grp-it-admins security group.

Azure RBAC Implementation project screenshot
Sensitive identifiers redacted for portfolio publication.

Consolidated role assignments on rg-identity-prod confirming Contributor, Reader, and Virtual Machine Contributor scoped to the resource.

5.10 Storage Account Permission Assignment

The Security Audit team received Storage Blob Data Reader permissions on the Storage Account only.

This demonstrates resource-level RBAC assignments instead of subscription-wide permissions.

Azure RBAC Implementation project screenshot

stidentityprod001 Access Control (IAM) — grp-auditors assigned Storage Blob Data Reader, scoped to this resource.

5.11 Access Validation

To validate the configuration end-to-end, a sign-in was tested using one of the accounts assigned through the RBAC model.

Azure RBAC Implementation project screenshot

Microsoft sign-in prompt reached during the validation attempt. Full access validation was not completed because Microsoft Authenticator approval was required.

Project Outcome

The lab established a centralized, group-based authorization model with permissions separated by operational responsibility and scope. The configuration demonstrates least privilege and separation of duties while accurately documenting that final user-level access validation remained incomplete due to the Microsoft Authenticator requirement.

6. Security Design

The environment follows Microsoft's recommended access control model.

Implemented controls include:

7. RBAC Matrix

Team Permission Level
IT Administration Contributor
Help Desk Reader
Developers Virtual Machine Contributor
Security Audit Storage Blob Data Reader

8. Key Achievements

9. Skills Demonstrated

10. Lessons Learned