Azure Policy-definíciók auditIfNotExists effektusa

Az auditIfNotExists effektus lehetővé teszi a feltételnek megfelelő if erőforráshoz kapcsolódó erőforrások naplózásátthen, de nem rendelkeznek a feltételben details megadott tulajdonságokkal.

AuditIfNotExists értékelés

auditIfNotExists fut, miután egy erőforrás-szolgáltató feldolgozta a létrehozási vagy frissítési erőforrás-kérelmet, és visszaadott egy sikeres állapotkódot. A naplózás akkor történik, ha nincsenek kapcsolódó erőforrások, vagy ha az általuk ExistenceCondition definiált erőforrások értéke nem igaz. Új és frissített erőforrások esetén az Azure Policy hozzáad egy Microsoft.Authorization/policies/audit/action műveletet a tevékenységnaplóhoz, és nem megfelelőként jelöli meg az erőforrást. Aktiváláskor a feltételnek megfelelő if erőforrás az az erőforrás, amely nem megfelelőként van megjelölve.

Az AuditIfNotExists tulajdonságai

Az details AuditIfNotExists-effektusok tulajdonsága minden olyan altulajdonságtal rendelkezik, amely meghatározza a kapcsolódó erőforrásokat.

  • type (kötelező)
    • Megadja az egyező kapcsolódó erőforrás típusát.
    • Ha type egy erőforrástípus a if feltételerőforrás alatt található, a szabályzat lekérdezi ennek type erőforrásait a kiértékelt erőforrás hatókörén belül. Ellenkező esetben a szabályzat lekérdezései ugyanabban az erőforráscsoportban vagy előfizetésben találhatók, mint a kiértékelt erőforrás az existenceScopeadott erőforrástól függően.
  • name (nem kötelező)
    • Megadja annak az erőforrásnak a pontos nevét, amelynek egyeznie kell, és a szabályzat egy adott erőforrást hív le a megadott típusú erőforrások helyett.
    • Ha a feltétel értéke if.field.typethen.details.type és az egyezés, akkor name kötelezővé válik, és a gyermekerőforrásnak vagy [field('fullName')] a gyermekerőforrásnak kell lennie[field('name')]. Ehelyett azonban a naplózási effektust kell figyelembe venni.

Feljegyzés

type és name a szegmensek kombinálhatók a beágyazott erőforrások általános lekéréséhez.

Egy adott erőforrás lekéréséhez használhatja és "name": "parentResourceName/nestedResourceName"használhatja "type": "Microsoft.ExampleProvider/exampleParentType/exampleNestedType" a .

Beágyazott erőforrások gyűjteményének lekéréséhez helyettesítő karakter ? adható meg a vezetéknév-szegmens helyett. Például: "type": "Microsoft.ExampleProvider/exampleParentType/exampleNestedType" és "name": "parentResourceName/?". Ez kombinálható mezőfüggvényekkel a kiértékelt erőforráshoz kapcsolódó erőforrások eléréséhez, például "name": "[concat(field('name'), '/?')]"."

  • resourceGroupName (nem kötelező)
    • Lehetővé teszi a kapcsolódó erőforrás egyezését egy másik erőforráscsoportból.
    • Nem alkalmazható, ha type olyan erőforrásról van szó, amely a if feltételerőforrás alatt lenne.
    • Az alapértelmezett érték a if feltételerőforrás erőforráscsoportja.
  • existenceScope (nem kötelező)
    • Az engedélyezett értékek az Előfizetés és a ResourceGroup.
    • Beállítja, hogy a kapcsolódó erőforrás honnan kérje le az egyező erőforrás hatókörét.
    • Nem alkalmazható, ha type olyan erőforrásról van szó, amely a if feltételerőforrás alatt lenne.
    • A ResourceGroup esetében a megadott erőforráscsoportra resourceGroupName lenne korlátozva. Ha resourceGroupName nincs megadva, akkor a if feltételerőforrás erőforráscsoportjára korlátozható, ami az alapértelmezett viselkedés.
    • Előfizetés esetén lekérdezi a teljes előfizetést a kapcsolódó erőforráshoz. A hozzárendelés hatókörét előfizetésben vagy annál magasabb szinten kell beállítani a megfelelő értékeléshez.
    • Az alapértelmezett érték a ResourceGroup.
  • evaluationDelay (nem kötelező)
    • Meghatározza, hogy mikor kell kiértékelni a kapcsolódó erőforrások meglétét. A késést csak a létrehozási vagy frissítési erőforrás-kérés eredményeként kapott értékelésekhez használja a rendszer.
    • Az engedélyezett értékek AfterProvisioningAfterProvisioningSuccessAfterProvisioningFailure0 és 360 perc közötti ISO 8601-es időtartamok.
    • Az AfterProvisioning értékek a szabályzatszabály if feltételében kiértékelt erőforrás kiépítési eredményét vizsgálják. AfterProvisioning a kiépítés befejezése után fut, függetlenül az eredménytől. A hat óránál hosszabb ideig tartó üzembe helyezést hibaként kezeli a rendszer az afterProvisioning kiértékelési késéseinek meghatározásakor.
    • Az alapértelmezett érték PT10M (10 perc).
    • Ha hosszú kiértékelési késleltetést ad meg, előfordulhat, hogy az erőforrás rögzített megfelelőségi állapota nem frissül a következő kiértékelési eseményindítóig.
  • existenceCondition (nem kötelező)
    • Ha nincs megadva, a kapcsolódó erőforrás type megfelel az effektusnak, és nem indítja el a naplózást.
    • Ugyanazt a nyelvet használja, mint a feltétel házirendszabálya if , de a rendszer egyenként értékeli ki az egyes kapcsolódó erőforrásokat.
    • Ha egyező kapcsolódó erőforrás értéke igaz, az eredmény teljesül, és nem indítja el a naplózást.
    • A [field()] használatával ellenőrizheti a feltételben szereplő if értékekkel való egyenértékűséget.
    • Használható például annak ellenőrzésére, hogy a szülőerőforrás (a if feltételben) ugyanabban az erőforráshelyen található-e, mint az egyező kapcsolódó erőforrás.

AuditIfNotExists példa

Példa: Kiértékeli a virtuális gépeket annak megállapításához, hogy létezik-e kártevőirtó bővítmény, majd ha hiányzik, naplóz.

{
  "if": {
    "field": "type",
    "equals": "Microsoft.Compute/virtualMachines"
  },
  "then": {
    "effect": "auditIfNotExists",
    "details": {
      "type": "Microsoft.Compute/virtualMachines/extensions",
      "existenceCondition": {
        "allOf": [
          {
            "field": "Microsoft.Compute/virtualMachines/extensions/publisher",
            "equals": "Microsoft.Azure.Security"
          },
          {
            "field": "Microsoft.Compute/virtualMachines/extensions/type",
            "equals": "IaaSAntimalware"
          }
        ]
      }
    }
  }
}

Következő lépések