Granskningseffekt för Azure Policy-definitioner

Effekten audit används för att skapa en varningshändelse i aktivitetsloggen när du utvärderar en icke-kompatibel resurs, men den stoppar inte begäran.

Granskningsutvärdering

Granskning är den sista effekten som kontrolleras av Azure Policy när en resurs skapas eller uppdateras. I ett Resource Manager-läge skickar Azure Policy sedan resursen till resursprovidern. När du utvärderar en begäran om att skapa eller uppdatera en resurs lägger Azure Policy till en Microsoft.Authorization/policies/audit/action åtgärd i aktivitetsloggen och markerar resursen som icke-kompatibel. Under en utvärderingscykel för standardefterlevnad uppdateras endast efterlevnadsstatusen för resursen.

Granskningsegenskaper

För ett Resource Manager-läge har granskningseffekten inga andra egenskaper för användning i villkoret then för principdefinitionen.

För ett resursproviderläge av Microsoft.Kubernetes.Datahar granskningseffekten följande underegenskaper som details. Användning av templateInfo krävs för nya eller uppdaterade principdefinitioner som constraintTemplate är inaktuella.

  • templateInfo (krävs)

    • Det går inte att använda med constraintTemplate.
    • sourceType (krävs)
      • Definierar typen av källa för villkorsmallen. Tillåtna värden: PublicURL eller Base64Encoded.

      • Om PublicURL, parat med egenskapen url för att ange platsen för villkorsmallen. Platsen måste vara offentligt tillgänglig.

        Varning

        Använd inte SAS-URI:er, URL-token eller något annat som kan exponera hemligheter i oformaterad text.

      • Om Base64Encoded, parat med egenskapen content för att tillhandahålla mallen för grundläggande 64-kodade villkor. Se Skapa principdefinition från villkorsmall för att skapa en anpassad definition från en befintlig Open Policy Agent (OPA) Gatekeeper v3-villkorsmall.

  • constraint (inaktuell)

    • Det går inte att använda med templateInfo.
    • CRD-implementeringen av villkorsmallen. Använder parametrar som skickas via values som {{ .Values.<valuename> }}. I exempel 2 nedan är {{ .Values.excludedNamespaces }} dessa värden och {{ .Values.allowedContainerImagesRegex }}.
  • constraintTemplate (inaktuell)

    • Det går inte att använda med templateInfo.
    • Måste ersättas med templateInfo när du skapar eller uppdaterar en principdefinition.
    • Villkorsmallen CustomResourceDefinition (CRD) som definierar nya begränsningar. Mallen definierar Rego-logiken, villkorsschemat och de villkorsparametrar som skickas via values från Azure Policy. Mer information finns i Gatekeeper-begränsningar.
  • constraintInfo (valfritt)

    • Det går inte att använda med constraint, constraintTemplate, apiGroups, kinds, scope, namespaces, excludedNamespaceseller labelSelector.
    • Om constraintInfo inte anges kan villkoret genereras från templateInfo och princip.
    • sourceType (krävs)
      • Definierar typen av källa för villkoret. Tillåtna värden: PublicURL eller Base64Encoded.

      • Om PublicURL, parat med egenskapen url för att ange platsen för villkoret. Platsen måste vara offentligt tillgänglig.

        Varning

        Använd inte SAS-URI:er eller token i url eller något annat som kan exponera en hemlighet.

  • namespaces (valfritt)

    • En matris med Kubernetes-namnområden att begränsa principutvärderingen till.
    • Ett tomt eller saknat värde gör att principutvärderingen inkluderar alla namnområden som inte definierats i excludedNamespaces.
  • excludedNamespaces (valfritt)

  • labelSelector (valfritt)

    • Ett objekt som innehåller egenskaperna matchLabels (objekt) och matchExpression (matris) så att du kan ange vilka Kubernetes-resurser som ska inkluderas för principutvärdering som matchade de angivna etiketterna och väljarna.
    • Ett tomt eller saknat värde gör att principutvärderingen inkluderar alla etiketter och väljare, förutom namnområden som definierats i excludedNamespaces.
  • scope (valfritt)

    • En sträng som innehåller omfångsegenskapen för att tillåta att du anger om klusteromfång eller namnområdesbegränsade resurser matchas.
  • apiGroups (krävs när du använder templateInfo)

    • En matris som innehåller de API-grupper som ska matchas. En tom matris ([""]) är kärn-API-gruppen.
    • Det är inte tillåtet att ["*"] definiera för apiGroups .
  • kinds (krävs när du använder templateInfo)

    • En matris som innehåller den typ av Kubernetes-objekt som utvärderingen ska begränsas till.
    • Det är inte tillåtet att ["*"] definiera för typer .
  • values (valfritt)

    • Definierar alla parametrar och värden som ska överföras till villkoret. Varje värde måste finnas och matcha en egenskap i valideringsavsnittet openAPIV3Schema i villkorsmallen CRD.

Granskningsexempel

Exempel 1: Använda granskningseffekten för Resource Manager-lägen.

"then": {
  "effect": "audit"
}

Exempel 2: Använda granskningseffekten för ett resursproviderläge i Microsoft.Kubernetes.Data. Den ytterligare informationen i details.templateInfo deklarerar användning av PublicURL och anger url platsen för villkorsmallen som ska användas i Kubernetes för att begränsa tillåtna containeravbildningar.

"then": {
  "effect": "audit",
  "details": {
    "templateInfo": {
      "sourceType": "PublicURL",
      "url": "https://store.policy.core.windows.net/kubernetes/container-allowed-images/v1/template.yaml",
    },
    "values": {
      "imageRegex": "[parameters('allowedContainerImagesRegex')]"
    },
    "apiGroups": [
      ""
    ],
    "kinds": [
      "Pod"
    ]
  }
}

Nästa steg