📖 Executive Summary

This repository demonstrates an enterprise-grade secure infrastructure based on the Microsoft Zero Trust model: Verify Explicitly, Use Least Privileged Access, and Assume Breach.

Unlike standard implementations, this project focuses on defense-in-depth, utilizing Azure Firewall Premium for IDPS, enforcing micro-segmentation via NSGs, and laying the groundwork for automated threat response with Microsoft Sentinel.

🏗️ Architecture

graph TD subgraph "Azure Tenant: Contoso" Entra[Microsoft Entra ID] -->|Conditional Access| User((User)) Entra -->|PIM JIT Access| Admin((Admin)) end subgraph "Azure Subscription" subgraph "VNet: Hub/Secure" FW[Azure Firewall Premium] Bastion[Azure Bastion] end subgraph "VNet: Spoke/Workload" App[Web Application] DB[(SQL Database)] NSG[NSG: Default Deny] end Log[Log Analytics Workspace] Sentinel[Microsoft Sentinel] end User -->|HTTPS/TLS| FW FW -->|Inspect & Route| App App -->|Private Endpoint| DB FW -.->|Logs| Log NSG -.->|Flow Logs| Log Log --> Sentinel

>> Read: How to build this Hub-Spoke Topology

🛠️ Technology Stack

🚀 Key Features

1. Zero Trust Network Access (ZTNA)

2. Identity-First Security

>> Guide: Configuring Entra ID & PIM

3. Automated Observability

>> Guide: Setting up Sentinel & KQL

📂 Repository Structure

This project follows the Azure Well-Architected Framework structure:

/
├── .github/workflows/   # CI/CD Pipelines with OIDC authentication
├── infra/               # Bicep Infrastructure Code
│   ├── modules/         # Reusable modules (Network, Security, Identity)
│   └── main.bicep       # Orchestrator for region-agnostic deployment
├── scripts/             # PowerShell automation for Identity/Governance
└── README.md            # System documentation

💻 Getting Started

Prerequisites

Deployment Instructions

Option 1: One-Click Deploy (Local)

# Clone the repository
git clone https://github.com/sammyonyekwere/Azure-Zero-Trust-Architecture.git

# Navigate to the directory
cd Azure-Zero-Trust-Architecture

# Deploy resources
az deployment sub create \
  --location eastus \
  --template-file infra/main.bicep \
  --parameters prefix=zt-demo

Option 2: GitHub Actions (CI/CD)

  1. Fork this repository.
  2. Configure Azure OIDC or Service Principal secrets (AZURE_CLIENT_ID, etc.).
  3. Push to main to trigger the Deploy Zero Trust Architecture workflow.

🔮 Future Roadmap