Delen via


Controle-effect van Azure Policy-definities

Het audit effect wordt gebruikt om een waarschuwingsgebeurtenis te maken in het activiteitenlogboek bij het evalueren van een niet-compatibele resource, maar de aanvraag wordt niet gestopt.

Controle-evaluatie

Controle is het laatste effect dat door Azure Policy is gecontroleerd tijdens het maken of bijwerken van een resource. Voor een Resource Manager-modus verzendt Azure Policy de resource vervolgens naar de resourceprovider. Bij het evalueren van een aanvraag voor het maken of bijwerken van een resource voegt Azure Policy een Microsoft.Authorization/policies/audit/action bewerking toe aan het activiteitenlogboek en markeert de resource als niet-compatibel. Tijdens een evaluatiecyclus van de standaardnaleving wordt alleen de nalevingsstatus van de resource bijgewerkt.

Eigenschappen controleren

Voor een Resource Manager-modus heeft het controle-effect geen andere eigenschappen voor gebruik in de then voorwaarde van de beleidsdefinitie.

Voor een resourceprovidermodus van Microsoft.Kubernetes.Dataheeft het controle-effect de volgende subproperties van details. Het gebruik van templateInfo is vereist voor nieuwe of bijgewerkte beleidsdefinities, zoals constraintTemplate afgeschaft.

  • templateInfo (vereist)

    • Kan niet worden gebruikt met constraintTemplate.
    • sourceType (vereist)
      • Hiermee definieert u het type bron voor de beperkingssjabloon. Toegestane waarden: PublicURL of Base64Encoded.

      • Als PublicURL, gekoppeld aan eigenschap url om de locatie van de beperkingssjabloon op te geven. De locatie moet openbaar toegankelijk zijn.

        Waarschuwing

        Gebruik geen SAS-URI's, URL-tokens of iets anders dat geheimen in tekst zonder opmaak kan weergeven.

      • Als Base64Encoded, gekoppeld aan eigenschap content om de base 64 gecodeerde beperkingssjabloon op te geven. Zie Beleidsdefinitie maken op basis van een beperkingssjabloon om een aangepaste definitie te maken op basis van een bestaande OPA-beperkingssjabloon (Open Policy Agent) Gatekeeper v3.

  • constraint (afgeschaft)

    • Kan niet worden gebruikt met templateInfo.
    • De CRD-implementatie van de beperkingssjabloon. Maakt gebruik van parameters die worden doorgegeven als values {{ .Values.<valuename> }}. In voorbeeld 2 hieronder zijn {{ .Values.excludedNamespaces }} deze waarden en {{ .Values.allowedContainerImagesRegex }}.
  • constraintTemplate (afgeschaft)

    • Kan niet worden gebruikt met templateInfo.
    • Moet worden vervangen door templateInfo bij het maken of bijwerken van een beleidsdefinitie.
    • De Constraint-sjabloon CustomResourceDefinition (CRD) die nieuwe beperkingen definieert. De sjabloon definieert de Rego-logica, het beperkingsschema en de beperkingsparameters die worden doorgegeven vanuit values Azure Policy. Ga naar Gatekeeper-beperkingen voor meer informatie.
  • constraintInfo (optioneel)

    • Kan niet worden gebruikt met constraint, , constraintTemplate, apiGroups, kinds, scope, , namespacesof excludedNamespaceslabelSelector.
    • Als constraintInfo deze niet is opgegeven, kan de beperking worden gegenereerd op basis van templateInfo en beleid.
    • sourceType (vereist)
      • Hiermee definieert u het type bron voor de beperking. Toegestane waarden: PublicURL of Base64Encoded.

      • Als PublicURL, gekoppeld aan eigenschap url om de locatie van de beperking op te geven. De locatie moet openbaar toegankelijk zijn.

        Waarschuwing

        Gebruik geen SAS-URI's of tokens in url of iets anders dat een geheim beschikbaar kan maken.

  • namespaces (optioneel)

    • Een matrix van Kubernetes-naamruimten om beleidsevaluatie te beperken.
    • Een lege of ontbrekende waarde zorgt ervoor dat beleidsevaluatie alle naamruimten bevat die niet zijn gedefinieerd in excludedNamespaces.
  • excludedNamespaces (optioneel)

  • labelSelector (optioneel)

    • Een object dat matchLabels (object) en matchExpression-eigenschappen (matrix) bevat, zodat kan worden opgegeven welke Kubernetes-resources moeten worden opgenomen voor beleidsevaluatie die overeenkomt met de opgegeven labels en selectors.
    • Een lege of ontbrekende waarde zorgt ervoor dat beleidsevaluatie alle labels en selectors bevat, behalve naamruimten die zijn gedefinieerd in excludedNamespaces.
  • scope (optioneel)

    • Een tekenreeks die de bereikeigenschap bevat om op te geven of resources met clusterbereik of naamruimtebereik overeenkomen.
  • apiGroups (vereist bij het gebruik van templateInfo)

    • Een matrix die de API-groepen bevat die overeenkomen. Een lege matrix ([""]) is de kern-API-groep.
    • Definiëren ["*"] voor apiGroups is niet toegestaan.
  • kinds (vereist bij het gebruik van templateInfo)

    • Een matrix met het type Kubernetes-object om de evaluatie te beperken.
    • Definiëren ["*"] voor soorten is niet toegestaan.
  • values (optioneel)

    • Definieert parameters en waarden die moeten worden doorgegeven aan de beperking. Elke waarde moet bestaan en overeenkomen met een eigenschap in de validatiesectie openAPIV3Schema van de CRD van de beperkingssjabloon.

Voorbeeld van controle

Voorbeeld 1: Het controle-effect voor Resource Manager-modi gebruiken.

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

Voorbeeld 2: het controle-effect voor een resourceprovidermodus van Microsoft.Kubernetes.Data. De aanvullende informatie in details.templateInfo declareert het gebruik van PublicURL en stelt url deze in op de locatie van de sjabloon Beperking die moet worden gebruikt in Kubernetes om de toegestane containerinstallatiekopieën te beperken.

"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"
    ]
  }
}

Volgende stappen