Skip to the content.

☁️ Project 01: Identity Lifecycle & Governance Automation

Secure Identity Provisioning, Access Control, and Policy-Driven Governance

Azure Identity Automation Governance


📌 Overview

This project demonstrates the implementation of automated identity lifecycle management and governance controls within Microsoft Entra ID and Azure.

The solution transitions from manual administration to controlled, repeatable identity provisioning and policy-driven governance, ensuring that access is consistent, auditable, and aligned to least privilege principles.

The objective is to reduce identity-related risk while enabling scalable and secure access management.


🔐 IAM Context

In enterprise environments, identity is the primary security boundary.
This project focuses on ensuring that:


🧠 Design Rationale

The architecture is built around three core principles:

This approach moves from ad-hoc identity management to a structured IAM model combining identity, access, and governance.


🛠️ Technical Stack

Category Tools Used IAM / Security Relevance
Identity Microsoft Entra ID Centralised identity and access control
Access Control RBAC Role-based permission enforcement
Automation Azure PowerShell (Az Module) Repeatable identity provisioning
Governance Azure Policy (JSON) Enforcement of organisational controls

📌 Implementation

1. Identity Lifecycle Automation

Manual user provisioning introduces risk through inconsistent permissions and unmanaged identities.
To address this, I developed create-identities.ps1 to automate onboarding.

Key Features

Script Execution

Automated provisioning ensures consistent identity creation within controlled access structures.


2. Access Control Model (RBAC)

Access is not assigned directly to users.
Instead, users inherit permissions through group membership.

IAM Design Decisions

CLI Verification

CLI validation ensures identity objects and group assignments are accurate and auditable.


3. Identity Validation & Synchronisation

Provisioned identities were validated using CLI and portal checks to ensure:

Portal Verification


⚖️ Phase 2: Governance & Control Enforcement

To prevent misuse of access privileges, I implemented policy-driven governance controls.

Policy-as-Code Implementation

A custom JSON policy was developed to restrict Virtual Machine deployments to cost-optimised SKUs.

Policy Deployment


Control Enforcement

Attempts to deploy non-compliant resources are blocked at the Azure Resource Manager (ARM) layer.

Policy Block

Policy Denial


IAM Relevance


⚖️ Design Considerations & Trade-offs


🎯 Outcome

This project demonstrates a structured approach to IAM, combining:


🧠 Key IAM Outcomes


🔮 Future Enhancements


Maintained by Jacob Adedoyin