📖 Executive Summary

This project demonstrates an automated, secure Identity Governance lifecycle adhering to the principles of Least Privilege and Zero Trust.

Unlike manual role assignments, this implementation focuses on dynamic governance, utilizing Azure AD Privileged Identity Management (PIM) for temporal eligibility, enforcing compliance via Access Reviews, and monitoring for privilege escalations through Azure Monitor Activity Log Alerts.

🏗️ Architecture

graph TD subgraph "Azure Tenant / Microsoft Entra ID" User((User)) Admin((Admin)) PIM[Privileged Identity Management] Review[Access Reviews] end subgraph "Azure Subscription Environment" RBAC[Subscription RBAC] ActivityLog[Activity Log: Role Assignments] end subgraph "Azure Monitor / SecOps" AlertRule[Activity Log Alert] ActionGroup[Action Group: Email] end User -->|Requests Elevation| PIM PIM -->|Grants Temporary Role| RBAC Review -->|Audits Eligibility| PIM Review -->|Revokes/Approves| RBAC Admin -->|Manual Override/Write| RBAC RBAC -.->|Triggers| ActivityLog ActivityLog -.->|Evaluates| AlertRule AlertRule -->|Notifies| ActionGroup

>> Read: Deep Dive into Automated Identity Governance

🛠️ Technology Stack

🚀 Key Features

1. Privileged Identity Management (PIM)

2. Automated Access Reviews

3. Privilege Escalation Alerts

📂 Repository Structure

/
├── modules/                 # Reusable Bicep modules
│   ├── rbac-pim.bicep       # Sets up Contributor eligibility via PIM
│   ├── access-reviews.bicep # Creates quarterly attestation reviews
│   └── alerts.bicep         # Provisions privilege escalation alerts
├── main.bicep               # Orchestrator for subscription deployment
└── README.md                # System documentation

💻 Getting Started

Prerequisites

Deployment Instructions

# Clone the repository
git clone https://github.com/sammyonyekwere/Identity-Governance-Automation.git

# Navigate to the directory
cd Identity-Governance-Automation

# Set the variables for the deployment
PRINCIPAL_ID=""
ALERT_EMAIL=""
LOCATION="eastus"

# Deploy the Bicep template
az deployment sub create \
  --name "IdentityGovernanceDeployment" \
  --location "$LOCATION" \
  --template-file main.bicep \
  --parameters principalId="$PRINCIPAL_ID" alertEmailAddress="$ALERT_EMAIL"

Roadmap

Integration with Azure Policy to automatically block permanent role assignments entirely. Add Terraform alternative for multi-cloud platform deployments. Implement multi-stage approval flows for PIM role activation.