Azure Policy Design (Governance & Compliance Automation)

πŸ’Ό Management Samenvatting

Azure Policy implementeert automated governance guardrails die compliance afgedwongen via deny/audit/remediate effects, waardoor configuration drift wordt voorkomen en security baselines consistent across subscriptions worden afgedwongen.

Aanbeveling
IMPLEMENTEER AZURE POLICY
Risico zonder
High
Risk Score
8/10
Implementatie
32u (tech: 16u)
Van toepassing op:
βœ“ Azure
βœ“ Governance

Zonder Azure Policy: handmatige compliance checking (unscalable), configuration drift (resources deviate van standards), no enforcement (users implementeren non-compliant resources), delayed detectie (compliance issues discovered too late). Azure Policy provides: Automated compliance beoordeling (continuous evaluation), Policy enforcement (deny non-compliant deployments), Auto-remediation (fix non-compliant resources automatic), compliance rapportage (dashboard voor audit), Inheritance (management group policies cascade to subscriptions).

Implementatie

Azure Policy architecture: (1) Policy Definitions (rules: IF condition THEN effect), (2) Policy Assignments (apply policies to scopes: management groups, subscriptions, resource groups), (3) Initiatives (bundles van policies - bijv. CIS Benchmark, ISO 27001), (4) Effects: Deny (Blokkeer deployment), Audit (log only), DeployIfNotExists (auto-remediate), Modify (change properties), (5) Exemptions (documented exceptions met expiration). Common policies: Require tags, dwing af naming conventions, Blokkeer public IP assignments, Require HTTPS-only, minimum TLS 1.2, versleuteling requirements, Netwerkbeveiliging Group mandatory, Allowed VM sizes, Geo-restrictions.

Vereisten

  1. Azure subscription
  2. Policy requirements defined (what to dwing af?)
  3. Management group hierarchy (for inheritance)
  4. Exception approval process
  5. Compliance framework selected (CIS, ISO 27001, NIST)

Implementatie

Deploy: Assign ingebouwde initiatives (CIS Azure Benchmark, ISO 27001), Maak aan aangepaste policies voor organization-specific requirements, Assign to management groups (inheritance), Configureer remediation tasks, monitoren compliance dashboard.

Compliance en Auditing

Azure Policy is FOUNDATIONAL voor: CIS Azure Benchmark (automated compliance), BIO governance requirements, ISO 27001 A.18.2.2 (Compliance checking), NIS2 Artikel 21 (Automated beveiligingscontroles).

Monitoring

Gebruik PowerShell-script azure-policy.ps1 (functie Invoke-Monitoring) – Controleren.

Remediatie

Gebruik PowerShell-script azure-policy.ps1 (functie Invoke-Remediation) – Herstellen.

Compliance & Frameworks

Automation

Gebruik het onderstaande PowerShell script om deze security control te monitoren en te implementeren. Het script bevat functies voor zowel monitoring (-Monitoring) als remediation (-Remediation).

PowerShell
<# .SYNOPSIS Azure Policy Design .DESCRIPTION Implementation for Azure Policy Design .NOTES Filename: azure-policy.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 Related JSON: content/design/platform/azure-policy.json #> #Requires -Version 5.1 #Requires -Modules Microsoft.Graph [CmdletBinding()] param( [Parameter()][switch]$WhatIf, [Parameter()][switch]$Monitoring, [Parameter()][switch]$Remediation, [Parameter()][switch]$Revert ) $ErrorActionPreference = 'Stop' $VerbosePreference = 'Continue' $PolicyName = "Azure Policy Design" $BIOControl = "14.02" function Connect-RequiredServices { # Connection logic based on API } function Test-Compliance { Write-Verbose "Testing compliance for: $PolicyName..." $result = [PSCustomObject]@{ ScriptName = "azure-policy" PolicyName = $PolicyName IsCompliant = $false TotalResources = 0 CompliantCount = 0 NonCompliantCount = 0 Details = @() Recommendations = @() } # Compliance check implementation # Based on: Design Document $result.Details += "Compliance check - implementation required based on control" $result.NonCompliantCount = 1 return $result } function Invoke-Remediation { Write-Host "`nApplying remediation for: $PolicyName..." -ForegroundColor Cyan # Remediation implementation Write-Host " Configuration applied" -ForegroundColor Green Write-Host "`n[OK] Remediation completed" -ForegroundColor Green } function Invoke-Monitoring { $result = Test-Compliance Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host "Total: $($result.TotalResources)" -ForegroundColor White Write-Host "Compliant: $($result.CompliantCount)" -ForegroundColor Green $color = if ($result.NonCompliantCount -gt 0) { "Red" } else { "Green" } Write-Host "Non-compliant: $($result.NonCompliantCount)" -ForegroundColor $color return $result } function Invoke-Revert { Write-Host "Revert: Configuration revert not yet implemented" -ForegroundColor Yellow } try { Connect-RequiredServices if ($Monitoring) { Invoke-Monitoring } elseif ($Remediation) { if ($WhatIf) { Write-Host "WhatIf: Would apply remediation" -ForegroundColor Yellow } else { Invoke-Remediation } } elseif ($Revert) { Invoke-Revert } else { $result = Test-Compliance if ($result.IsCompliant) { Write-Host "`n[OK] COMPLIANT" -ForegroundColor Green } else { Write-Host "`n[FAIL] NON-COMPLIANT" -ForegroundColor Red } } } catch { Write-Error $_ }

Risico zonder implementatie

Risico zonder implementatie
High: Zonder Azure Policy = no automated governance. Non-compliant deployments (unencrypted SQL, public storage), configuration drift (manual compliance impossible at scale), no enforcement (rely on manual checks). Het risico is HOOG - automated compliance.

Management Samenvatting

Azure Policy Framework: Built-in initiatives (CIS Benchmark, ISO 27001, PCI-DSS), Custom policies (organizational requirements), Deny policies (block non-compliant deployments - public IPs, unencrypted resources), Audit policies (detect violations), Auto-remediation (fix drift automatically), Policy exemptions (documented exceptions), Compliance dashboard. Activatie: Assign initiatives at Management Group level β†’ Configure deny/audit/remediate. Gratis. Verplicht BIO 5.01, CIS, ISO 27001. Implementatie: 16-32 uur. CRITICAL governance foundation - automated compliance enforcement at scale.