Post

Remediate all non-compliant policies

Subscription mozgatás érdekes tud lenni, ha másik Tenant-ból hozzuk át az előfizetést, de akár két Management Group közötti mozgatás is lehet trükkös, hiszen ha nagyban támaszkodunk az Azure Policy-re, akkor tulajdonképpen minden “deploy if not exist” policy-re remediate task-ot kellene indítanunk. Ezt a feladatot lehet ugyan automatizálni, de azért nem árt tudni, hogy mi történik pontosan.

A remediate task lényege, hogy a nem megfelelő beállításokat megpróbálja helyreállítani adott policy alapján. Ez a helyreállítás lehet egy egyszerű érték módosítás, de akár egy új erőforrás létrehozása is. A lényeg, hogy az erőforrást megpróbálja megfelelőre beállítani. Ha 1-2 darab van csak, akkor akár kézzel is csinálhatjuk, de ha van mondjuk 100+ policy, akkor már kellemetlenebb lehet, ahogyan nálam is, ezért készítettem egy kis AzureCLI-Powershell script-et, ami végig megy az összes nem megfelelő policy-n és létrehozza a remediate task-ot.

1
2
3
4
5
6
7
8
9
az login
az account set -s gudszent_Land3_Live 
az policy state trigger-scan --subscription gudszent_Land3_Live
$noncomliant = az policy state list  --filter "complianceState eq 'NonCompliant'" | ConvertFrom-Json -Depth 10 
$noncomliant | select resourceType,isCompliant,subscriptionId | ft

foreach ($item in $noncomliant) {
    az policy remediation create --name myRemediation --policy-assignment $item.policyAssignmentId
}
This post is licensed under CC BY 4.0 by the author.