IBM's Azure Foundry Enterprise Kit

Infrastructure as Code (Pillar 1)

Why infrastructure-first: Agents cannot run without a secure foundation. The Enterprise Kit provisions 35 Bicep modules with one subscription-scoped deployment — identity, networking, data, AI services, MCP hosting, and governance controls — in under 30 minutes. No portal clicking. No manual RBAC assignments. Zero Trust from day one.

Overview

Pillar 1 delivers a complete, subscription-scoped Azure deployment using 27 parameterized Bicep modules that follow Azure Cloud Adoption Framework (CAF) Landing Zone patterns. The deployment creates a dedicated resource group and provisions all services with managed identities, private networking, Azure Policy, and Zero Trust controls.

35 Bicep Modules

→ View full Bicep Module Reference with parameters, configurations, outputs & dependencies

#ModuleAzure ServicePurpose
1managed-identitiesMicrosoft.ManagedIdentityUser-assigned managed identities + RBAC role assignments
2networkMicrosoft.NetworkVNet, subnets, NSGs, Private DNS zones, private endpoints
3key-vaultMicrosoft.KeyVaultSecrets management, CMK encryption wrapper
4cosmos-dbMicrosoft.DocumentDBDecision Ledger, agent memory, state persistence (serverless + vector)
5ai-searchMicrosoft.SearchRAG knowledge grounding, semantic ranking
6foundry-projectMicrosoft.MachineLearningServicesAI Foundry Hub + Project workspace
7agent-applicationFoundry Agent APIARM-native agent packaging + deployment
8app-insightsMicrosoft.InsightsApplication Insights + Log Analytics workspace
9api-managementMicrosoft.ApiManagementAPIM AI Gateway with token limits + semantic caching
10content-safetyMicrosoft.CognitiveServicesContent Safety for prompt attack detection + PII
11guardrailsFoundry Guardrails APIPlatform-managed content safety + task adherence
12toolboxFoundry Toolbox APICentralized MCP tool registry with Entra auth
13continuous-evalFoundry Evaluations APIScheduled evaluation runs + quality gates
14azure-policyMicrosoft.AuthorizationCustom policy initiative for agent governance
15entra-agent-identityMicrosoft.GraphEntra Agent Identity Blueprints + federated credentials
16runtime-interceptorContainer AppKill switch + token budget enforcement
17api-centerMicrosoft.ApiCenterPrivate MCP tool catalog for server discovery & governance
18function-mcpMicrosoft.Web/sitesAzure Functions MCP server hosting template
19container-app-mcpMicrosoft.AppContainer Apps MCP server hosting template
20cost-managementMicrosoft.CostManagementBudget alerts, anomaly detection, and cost allocation tags
21hub-spokeMicrosoft.NetworkHub-spoke VNet topology with Azure Firewall and DNS
22hub-spoke-peeringMicrosoft.NetworkVNet peering between hub and spoke networks
23data-residencyMicrosoft.AuthorizationAllowed-locations policy for data sovereignty
24chaos-studioMicrosoft.ChaosResilience testing experiments (network disruption, CPU pressure)
25traffic-managerMicrosoft.NetworkMulti-region agent endpoint failover
26managed-hsmMicrosoft.KeyVaultFIPS 140-3 Level 3 hardware security module
27ai-search-indexMicrosoft.SearchRAG pipeline: vector index, skillset, blob indexer

Zero Trust Controls

Every module implements specific Zero Trust for AI controls (ZT-01 through ZT-17):

ControlDescriptionPrimary Module(s)
ZT-01Identity Foundation — agent & user authenticationentra-agent-identity
ZT-02Least Privilege RBAC — fine-grained role assignmentsmanaged-identities, entra-agent-identity
ZT-03Network Microsegmentation — subnet isolation & private endpointsnetwork
ZT-04Data Protection — encryption at rest & in transitkey-vault
ZT-05Tool Authorization — toolbox allowlists & invocation policytoolbox, runtime-interceptor
ZT-06Content Safety — input/output filtering & guardrailscontent-safety
ZT-07Audit & Decision Ledger — immutable decision recordscosmos-db
ZT-08Continuous Evaluation — runtime quality & compliance scoringcontinuous-eval
ZT-09Threat Detection — anomaly detection & prompt injectionapi-management, content-safety
ZT-10Data Boundary — geo-fencing & residency policiesazure-policy
ZT-11Memory Governance — retention, PII masking, cross-agent isolationcosmos-db, azure-policy
ZT-12Multi-Agent Trust — inter-agent credential verificationentra-agent-identity
ZT-13Supply Chain — model provenance & adapter verificationfoundry-hub
ZT-14Incident Response — automated containment & recoveryobservability, runtime-interceptor
ZT-15MCP Security — server auth, transport, tool authorization & fleet monitoringapi-center, function-mcp, container-app-mcp
ZT-16Compliance Automation — continuous compliance evidence collection & framework mappingazure-policy, continuous-eval
ZT-17Data Residency — sovereign data controls, geo-fencing, & cross-border transfer enforcementazure-policy, network

Deployment Profiles

The kit supports two deployment profiles via parameter files — allowing cost-efficient development without sacrificing production security:

ProfileSKU StrategyNetworkingUse Case
parameters/dev.bicepparamFree/Basic/Serverless tiersPublic endpoints (optional VNet)Development, POC, demos
parameters/prod.bicepparamStandard/Premium tiersFull private networkingProduction, regulated workloads

Standards Alignment

FrameworkHow Pillar 1 Aligns
Azure CAF (Ready phase)Subscription-scoped, RG isolation, tagging, RBAC, Azure Policy initiative
Azure WAF — SecurityPrivate endpoints, CMK, managed identity, NSGs
Azure WAF — ReliabilityGeo-redundancy options, autoscale configurations
Azure WAF — Cost OptimizationDev/Prod SKU profiles via parameter files
Azure WAF — Ops ExcellenceIaC, CI/CD pipelines, diagnostic settings on all resources
Microsoft Zero Trust for AI17 ZT controls (ZT-01 through ZT-17) across all modules, including MCP security, compliance automation, and data residency

Quick Start

Single-Tenant Deployment

# Deploy the full platform (dev profile)
az deployment sub create \
  --location eastus2 \
  --template-file infra/bicep/main.bicep \
  --parameters infra/bicep/parameters/dev.bicepparam

# Deploy with production profile
az deployment sub create \
  --location eastus2 \
  --template-file infra/bicep/main.bicep \
  --parameters infra/bicep/parameters/prod.bicepparam

Multi-LOB Platform Deployment

For enterprise scenarios with multiple lines of business (LOBs), use the hub-spoke architecture with full network, identity, data, and secrets isolation per LOB.

# Step 1: Deploy shared platform hub
az deployment sub create \
  --location eastus2 \
  --template-file infra/bicep/main-platform.bicep \
  --parameters infra/bicep/parameters/platform-dev.bicepparam

# Step 2: Onboard each LOB via self-service CLI
python scripts/onboard_lob.py \
  --name banking \
  --display-name "Banking Division" \
  --env dev \
  --cidr 10.1.0.0/16 \
  --data-classification confidential

# Step 3: Manage LOBs
python scripts/afek.py lob list --env dev
python scripts/afek.py lob status banking --env dev

Multi-LOB Architecture

The multi-LOB platform engineering layer provides complete isolation between business units:

Isolation LayerMechanismModule
NetworkDedicated spoke VNet per LOB with NSG deny-all cross-spokelob-spoke.bicep
IdentityPer-LOB UAMI with 6 scoped RBAC roleslob-identity.bicep
SecretsDedicated Key Vault per LOB with private endpointlob-keyvault.bicep
DataLOB-prefixed Cosmos containers + AI Search indexeslob-cosmos-containers.bicep, lob-search-index.bicep
AI WorkspaceSeparate Foundry Project per LOB (child of shared Hub)lob-project.bicep
CostPer-LOB budget alerts + LOB-tagged resourcescost-management.bicep

Operations & Capacity

  • Capacity Monitoring — Azure Monitor workbook with token consumption, Cosmos RU, AI Search latency, and budget burn rate per LOB
  • Capacity Alerts — Automated alerts for Cosmos RU > 80%, AI Search latency > 500ms, token usage anomalies
  • Failover Automationscripts/failover.py with check/failover/failback/status commands
  • KQL Query Library — 9 pre-built queries for capacity planning and cross-LOB analysis
  • Custom RBAC Roles — "AI Agent Developer" and "Platform Operator" roles scoped to LOB boundaries