The Management Landing Zone provides centralized monitoring, security, governance, and cost management for the entire Azure environment. This subscription hosts shared platform services that support all workloads.
# Illustrative Log Analytics configurationlog_analytics_workspace:name:"law-platform-{region}-001"resource_group:"rg-management-monitoring-{region}"location:"{primary-region}"sku:"PerGB2018"retention_days:90# SOC 2 minimum# Enable for compliancefeatures:enable_data_export:trueimmediate_data_purge_on_30_days:false# Daily cap to control costs (adjust based on usage)daily_quota_gb:10# Day 1 - monitor and adjust# Solutionssolutions:-name:"SecurityInsights"# Required for Sentinel-name:"VMInsights"-name:"ContainerInsights"-name:"AzureActivity"
flowchart TB
subgraph "Data Sources"
ACT[Activity Logs<br/>All Subscriptions]
DIAG[Diagnostic Settings<br/>All Resources]
ENTRA[Entra ID Logs<br/>Sign-in & Audit]
VM[VM Logs<br/>Windows/Linux]
CONT[Container Logs<br/>AKS/ACA]
end
subgraph "Log Analytics Workspace"
LAW[Central Workspace<br/>law-platform-001]
subgraph "Tables"
T1[AzureActivity]
T2[AzureDiagnostics]
T3[SigninLogs]
T4[SecurityEvent]
T5[ContainerLog]
end
end
subgraph "Consumers"
SEN[Sentinel<br/>SIEM]
MDC[Defender for Cloud<br/>Security]
WKBK[Workbooks<br/>Dashboards]
ALERT[Alerts<br/>Action Groups]
end
ACT --> LAW
DIAG --> LAW
ENTRA --> LAW
VM --> LAW
CONT --> LAW
LAW --> SEN
LAW --> MDC
LAW --> WKBK
LAW --> ALERT
For compliance requirements (SOC 2, ISO 27001), certain logs need extended retention:
Log Type
Hot Storage (LA)
Archive Storage
Total Retention
Security logs
90 days
Storage Account
2 years
Audit logs
90 days
Storage Account
7 years
Sign-in logs
90 days
Storage Account
2 years
Activity logs
90 days
Storage Account
2 years
# Data export rule for long-term retentiondata_export_rule:name:"export-security-logs"destination:type:"storage_account"name:"stplatformauditlogs{region}"container:"security-logs"tables:-"SecurityEvent"-"SigninLogs"-"AuditLogs"-"AzureActivity"
defender_for_cloud:# Enable across all subscriptions via Azure Policyauto_provisioning:log_analytics_agent:true# Deprecated - use AMAazure_monitoring_agent:truevulnerability_assessment:"MicrosoftDefender"# Continuous export to Log Analyticscontinuous_export:enabled:truedestination:"law-platform-{region}-001"export_types:-"Securityrecommendations"-"Securityalerts"-"Securescore"-"Regulatorycompliance"# Email notificationssecurity_contacts:emails:-"security-team@company.com"alert_notifications:truealerts_to_admins:truemin_severity:"Medium"
graph LR
subgraph "Alert Sources"
M[Metrics]
L[Logs]
AH[Activity/Health]
SC[Smart Detection]
end
subgraph "Processing"
AR[Alert Rules]
AG[Action Groups]
end
subgraph "Notifications"
EM[Email]
SMS[SMS]
TM[Teams]
WH[Webhook]
LB[Logic App]
end
M --> AR
L --> AR
AH --> AR
SC --> AR
AR --> AG
AG --> EM
AG --> SMS
AG --> TM
AG --> WH
AG --> LB
policy_definition:name:"policy-require-diagnostic-settings"display_name:"DeploydiagnosticsettingstoLogAnalytics"mode:"Indexed"parameters:logAnalytics:type:"String"metadata:displayName:"LogAnalyticsworkspace"description:"CentralLogAnalyticsworkspaceID"policy_rule:if:field:"type"in:-"Microsoft.KeyVault/vaults"-"Microsoft.Storage/storageAccounts"-"Microsoft.Sql/servers"-"Microsoft.Web/sites"# Add other resource typesthen:effect:"DeployIfNotExists"details:type:"Microsoft.Insights/diagnosticSettings"existenceCondition:field:"Microsoft.Insights/diagnosticSettings/workspaceId"equals:"[parameters('logAnalytics')]"
policy_definition:name:"policy-require-encryption"display_name:"Requireencryptionatrest"mode:"All"# Uses built-in policies for different resource typespolicy_set:-displayName:"Storageaccountsshouldusecustomer-managedkey"policyDefinitionId:"/providers/Microsoft.Authorization/policyDefinitions/..."-displayName:"SQLdatabasesshoulduseTDE"policyDefinitionId:"/providers/Microsoft.Authorization/policyDefinitions/..."
Microsoft Sentinel is recommended for Day 2 after initial platform stabilization.
sentinel_configuration:workspace:"law-platform-{region}-001"# Same as Log Analyticsdata_connectors:# Free tier connectors-name:"AzureActivity"kind:"AzureActivity"-name:"MicrosoftEntraID"kind:"AzureActiveDirectory"-name:"MicrosoftDefenderforCloud"kind:"AzureSecurityCenter"# Paid connectors (evaluate cost)-name:"Microsoft365Defender"kind:"Microsoft365Defender"-name:"Office365"kind:"Office365"analytics_rules:# Enable built-in rules for:-"Bruteforceattacks"-"Impossibletravel"-"Privilegedaccountactivity"-"Massfiledownloads"automation:# Playbooks for common responses-"Isolatecompromiseduser"-"BlockIPaddress"-"CreateServiceNowticket"
automation_account:name:"aa-platform-{region}-001"resource_group:"rg-management-automation-{region}"location:"{region}"identity:type:"SystemAssigned"# Assign Reader role at Company Root MGmodules:-"Az.Accounts"-"Az.Resources"-"Az.Monitor"-"Az.CostManagement"