Appearance
Azure Infrastructure Overview
Purpose
This document describes the Azure infrastructure architecture for the primary production environment. All infrastructure is managed as code using Terraform and deployed via GitHub Actions CI/CD pipelines.
Region
The primary Azure environment runs in US West 2, including Terraform state storage.
Subscription Structure
The Azure environment uses multiple subscriptions for resource isolation and RBAC boundary enforcement:
| Subscription | Purpose | Key Resources |
|---|---|---|
| Production | Production workloads | VMs, storage, app resources |
| Development | Dev/test workloads | Dev VMs, test databases |
| Identity | Directory services | Entra ID domain services VMs |
| Firewall | Network security | Palo Alto VM-Series, hub VNet |
| Logging | Centralized monitoring | Log Analytics, Event Hub, archive storage, Defender |
| Main | IAM and state | OIDC federation, Key Vault, Terraform state storage |
| Dashboard | Dashboard environment | [VERIFY: specific workloads] |
Each subscription has its own Terraform environment directory in the azure-infra repository, its own backend state, and its own CI/CD deploy workflow triggered by path-based changes.
Repository
| Repository | Region | Purpose |
|---|---|---|
azure-infra | US West 2 | Primary production infrastructure |
See DDE Infrastructure Overview for the DDE environment.
Core Components
Azure Active Directory / Entra ID
Entra ID provides identity and access management for the environment. Key configurations include:
- OIDC federated identity credentials for GitHub Actions CI/CD authentication — no long-lived credentials are stored in GitHub secrets
- Service principals scoped to specific infrastructure repositories
- Role-based access control (RBAC) applied at the resource group level
Networking
The network follows a hub-spoke topology with traffic inspection enforced through Palo Alto firewalls.
VNet Structure
Hub VNet (US West 2)
├── Firewall Subnet ← Palo Alto VM-Series
├── Management Subnet ← Management zone traffic
└── Gateway Subnet ← Connectivity
Spoke VNet(s)
└── Workload Subnets ← Production workloadsPalo Alto Firewall Zones
All traffic between network segments passes through the Palo Alto VM-Series firewall. The firewall is configured with three zones:
| Zone | Purpose |
|---|---|
untrust | External / internet-facing traffic |
trust | Internal production workloads |
mgmt | Firewall and infrastructure management |
Security policies control traffic flow between zones. No direct trust-to-untrust traffic is permitted without explicit policy allow rules. Management zone access is restricted to authorized admin sources only.
See Palo Alto Firewall Overview for policy structure and change request procedures.
Virtual Machines
Production workloads run on Windows Server VMs in Azure. VMs are:
- Deployed via Terraform using standardized configurations
- Joined to the domain via Entra ID where applicable
- Placed in the appropriate subnet based on workload classification
- Base images built in the dev environment before production deployment
Storage Accounts
| Storage Account | Purpose |
|---|---|
| Terraform state | Stores .tfstate files for azure-infra repo |
| Application storage | Production workload data as required |
Key Vault
Azure Key Vault is used for secrets management. Keys, certificates, and secrets used by production workloads are stored in Key Vault rather than in application configs or Terraform code.
Azure Policy
Azure Policy is configured on the subscription to enforce compliance guardrails at the platform level. Policy enforcement operates as a runtime complement to Checkov, which scans at the IaC layer before deployment.
The HIPAA/HITRUST and ISO 27001 policy initiatives are assigned to all production subscriptions. Azure Policy evaluates deployed resources against these frameworks continuously, complementing Checkov's pre-deploy IaC scanning.
Security Architecture
Defense in depth is achieved through layered controls:
| Layer | Control | Tool |
|---|---|---|
| IaC (pre-deploy) | Compliance scanning | Checkov |
| Network | Traffic inspection | Palo Alto VM-Series |
| Network | Segmentation | VNets, NSGs, Subnets |
| Identity | Access control | Entra ID, RBAC |
| Platform | Policy enforcement | Azure Policy |
| Secrets | Secrets management | Key Vault |
Compliance Posture
The Azure environment is in scope for SOC2, HIPAA, and HITRUST compliance. Key controls implemented:
- Encryption at rest on storage accounts and managed disks
- Network segmentation via hub-spoke topology and firewall zones
- Identity-based access with OIDC for automated deployments
- Infrastructure-as-code enforcing consistent, auditable configuration
- Checkov scanning on all PRs to prevent non-compliant resources from being deployed
Document History
| Date | Change | Author |
|---|---|---|
| March 2, 2026 | Added Subscription Structure section with 7-subscription model and purposes | Rory |
| March 2026 | Updated Azure Policy section to reflect deployed HIPAA/HITRUST and ISO 27001 initiatives, fixed DDE infrastructure link | Rory |
| February 2026 | Initial draft | Rory |