Diagnosztikai beállítások létrehozása nagy méretekben egyéni Azure-szabályzatok használatával

Azure Policy és a szabályzatkezdeményezések lehetővé teszik a nagy léptékű naplózást a Azure Monitor diagnosztikai beállításaival. Ez a cikk bemutatja, hogyan hozhat létre egyéni szabályzatot olyan Azure-erőforrásokhoz, amelyek nem rendelkeznek beépített szabályzattal. A beépített szabályzatokkal rendelkező Azure-erőforrások diagnosztikai beállításainak létrehozásához tekintse meg a diagnosztikai beállítások nagy léptékű létrehozását a beépített Azure-szabályzatok használatával.

Prerequisites

  • Szabályzatdefiníciók, kezdeményezések és hozzárendelések létrehozásához szüksége van az erőforrásházirend-közreműködői szerepkörre, vagy egy olyan szerepkörre, amely tartalmazza ezeket az engedélyeket (például tulajdonos) a munkaterületen.
  • A szervizeléshez deployIfNotExists a szabályzat-hozzárendeléshez felügyelt identitás szükséges. Adjon az identitásnak egy szerepkört, amely jogosult diagnosztikai beállítások létrehozására a hozzárendelés hatókörében, például a Figyelési közreműködő vagy Log Analytics Közreműködő.

Naplókategória-csoportok használata

A naplókategória-csoportok hasonló típusú naplókat tartalmaznak. A kategóriacsoportok segítségével egyszerűen hivatkozhat több naplóra egyetlen parancsban.

Kategóriacsoport Tartalom
allLogs Az erőforrás összes elérhető naplója.
audit Az erőforrás összes naplózási naplója.

Kategóriacsoport használatával dinamikusan frissülő szabályzatot definiálhat, amikor új naplókategóriákat ad hozzá a csoporthoz.

Egyéni szabályzatdefiníció létrehozása

Olyan erőforrástípusok esetén, amelyek nem rendelkeznek beépített szabályzattal, hozzon létre egy egyéni szabályzatdefiníciót. Hozza létre manuálisan a szabályzatot a Azure portálon egy meglévő beépített szabályzat másolásával, majd az erőforrástípus módosításával. Másik lehetőségként a szabályzatot programozott módon is létrehozhatja egy szkript használatával a PowerShell-galéria.

A szkript Create-AzDiagPolicy szabályzatfájlokat hoz létre egy adott erőforrástípushoz. Telepítse a fájlokat a PowerShell vagy a Azure CLI használatával. A diagnosztikai beállításokhoz az alábbi eljárással hozhat létre egyéni szabályzatdefiníciót:

  1. Győződjön meg arról, hogy telepítve van az Azure PowerShell .

  2. Telepítse a szkriptet a következő paranccsal:

    Install-Script -Name Create-AzDiagPolicy
    
  3. Futtassa a szkriptet a paraméterek segítségével annak megadásához, hogy hova küldje a naplókat. Adja meg az előfizetést és az erőforrástípust a parancssorban.

    Ha például olyan szabályzatdefiníciót szeretne létrehozni, amely naplókat küld egy Log Analytics munkaterületre és Azure Event Hubs, használja a következő parancsot:

    Create-AzDiagPolicy.ps1 -ExportLA -ExportEH -ExportDir ".\PolicyFiles"
    

    Másik lehetőségként adjon meg egy előfizetést és egy erőforrástípust a parancsban. Ha például olyan szabályzatdefiníciót szeretne létrehozni, amely naplókat küld egy Log Analytics munkaterületre, és Azure Event Hubs SQL Server adatbázisokhoz, használja a következő parancsot:

    Create-AzDiagPolicy.ps1 -SubscriptionID <subscription id> -ResourceType Microsoft.Sql/servers/databases -ExportLA -ExportEH -ExportDir ".\PolicyFiles"
    
  4. A szkript külön mappákat hoz létre az egyes szabályzatdefiníciókhoz. Minden mappa három fájlt tartalmaz: azurepolicy.json, azurepolicy.rules.jsonés azurepolicy.parameters.json. Ha manuálisan szeretné létrehozni a szabályzatot a Azure portálon, másolja és illessze be annak tartalmátazurepolicy.json, mert az tartalmazza a teljes szabályzatdefiníciót. A másik két fájl a PowerShell vagy az Azure CLI használatával hozza létre a szabályzatdefiníciót egy parancssorból.

    Az alábbi példák bemutatják, hogyan telepíthető a szabályzatdefiníció a PowerShellből és az Azure CLI-ből is. Az egyes példák metaadatokat tartalmaznak, hogy megadják az új szabályzatdefiníciók és a beépített szabályzatdefiníciók csoportosításának Monitoring kategóriáit.

    New-AzPolicyDefinition -name "Deploy Diagnostic Settings for SQL Server database to Log Analytics workspace" -policy .\Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.rules.json -parameter .\Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.parameters.json -mode All -Metadata '{"category":"Monitoring"}'
    
    az policy definition create --name 'deploy-diag-setting-sql-database--workspace' --display-name 'Deploy Diagnostic Settings for SQL Server database to Log Analytics workspace'  --rules 'Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.rules.json' --params 'Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.parameters.json' --subscription 'AzureMonitor_Docs' --mode All
    

Kezdeményezés létrehozása

Ahelyett, hogy minden szabályzatdefinícióhoz létrehozunk egy hozzárendelést, gyakori stratégia egy olyan kezdeményezés létrehozása, amely tartalmazza a szabályzatdefiníciókat az egyes Azure-szolgáltatások diagnosztikai beállításainak létrehozásához. A környezet kezelésétől függően hozzon létre hozzárendelést a kezdeményezés és egy felügyeleti csoport, előfizetés vagy erőforráscsoport között. Ez a stratégia a következő előnyöket kínálja:

  • Hozzon létre egyetlen hozzárendelést a kezdeményezéshez az egyes erőforrástípusokhoz tartozó több hozzárendelés helyett. Használja ugyanazt a kezdeményezést több monitorozási csoporthoz, előfizetéshez vagy erőforráscsoporthoz is.
  • Ha új erőforrástípust vagy célhelyet szeretne hozzáadni, módosítsa a kezdeményezést. Előfordulhat például, hogy a kezdeti követelmények az, hogy csak egy Log Analytics munkaterületre küldjön adatokat, de később Azure Event Hubs szeretne hozzáadni. Módosítsa a kezdeményezést új hozzárendelések létrehozása helyett.

A kezdeményezés létrehozásával kapcsolatos részletekért lásd : Kezdeményezésdefiníció létrehozása és hozzárendelése. Vegye figyelembe a következőket:

  • Állítsa a Kategória lehetőséget Monitorozás értékre, hogy csoportosíthassa a kapcsolódó beépített és egyéni szabályzatdefiníciókkal.
  • Ahelyett, hogy meg szeretné adni a Log Analytics munkaterület részleteit, és Azure Event Hubs a kezdeményezésben szereplő szabályzatdefiníciókhoz, használjon egy közös kezdeményezési paramétert. Ez a paraméter lehetővé teszi egy általános érték megadását az összes szabályzatdefinícióhoz, és szükség esetén módosíthatja azt.

Képernyőkép a kezdeményezés definíciójának beállításairól.

A kezdeményezés hozzárendelése

Rendelje hozzá a kezdeményezést egy Azure felügyeleti csoporthoz, előfizetéshez vagy erőforráscsoporthoz, attól függően, hogy milyen hatókörrel kell figyelnie az erőforrásokat. A felügyeleti csoportok hasznosak a hatókörkezelési szabályzatok esetében, különösen akkor, ha a szervezet több előfizetéssel rendelkezik.

Képernyőkép egy kezdeményezés Log Analytics-munkaterülethez való hozzárendelésének alapvető beállításairól az Azure Portalon.

A kezdeményezési paraméterekkel egyszer megadhatja a munkaterületet vagy bármely más részletet a kezdeményezés összes szabályzatdefiníciója esetében.

Képernyőkép a Kezdeményezési paraméterekről a Paraméterek lapon.

Szervizelési feladat létrehozása

Azure Policy minden erőforrásra alkalmazza a kezdeményezést az erőforrás létrehozásakor. A szervizelési feladat üzembe helyezi a kezdeményezésben szereplő szabályzatdefiníciókat a meglévő erőforrásokon, és diagnosztikai beállításokat hoz létre ezekhez az erőforrásokhoz.

Ha a hozzárendelést az Azure Portal használatával hozza létre, lehetősége van egyszerre egy szervizelési feladat létrehozására. A szervizelés részleteiért lásd: Nem megfelelő erőforrások szervizelése az Azure Policyval.

Képernyőkép egy Log Analytics-munkaterület kezdeményezési szervizeléséről.

Diagnosztikai beállítások ellenőrzése

A hozzárendelés és a szervizelési tevékenység befejezése után ellenőrizze, hogy léteznek-e diagnosztikai beállítások az erőforrásokon:

  1. A Azure portálon lépjen egy erőforrásra a hozzárendelés hatókörében, majd válassza a Diagnosztikai beállítások lehetőséget a Figyelés területen. Győződjön meg arról, hogy egy beállítás naplókat küld a konfigurált célhelyekre.

  2. Másik lehetőségként listázhatja az erőforrás diagnosztikai beállításait a Azure CLI használatával:

    az monitor diagnostic-settings list --resource <resource-id>