Freigeben über


Azure-Richtliniendefinitionsüberwachungseffekt

Der audit Effekt wird verwendet, um ein Warnereignis im Aktivitätsprotokoll beim Auswerten einer nicht kompatiblen Ressource zu erstellen, aber die Anforderung wird nicht beendet.

Audit-Bewertung

Die Überwachung ist der letzte Effekt, der von der Azure-Richtlinie während der Erstellung oder Aktualisierung einer Ressource überprüft wurde. Bei einem Ressourcen-Manager-Modus sendet Azure Policy dann die Ressource an den Ressourcenanbieter. Beim Auswerten einer Erstellungs- oder Aktualisierungsanforderung für eine Ressource fügt Azure Policy dem Aktivitätsprotokoll einen Microsoft.Authorization/policies/audit/action Vorgang hinzu und kennzeichnet die Ressource als nicht konform. Während eines Standardmäßigen Konformitätsbewertungszyklus wird nur der Compliancestatus der Ressource aktualisiert.

Überwachungseigenschaften

Für einen Ressourcen-Manager-Modus verfügt der Überwachungseffekt nicht über andere Eigenschaften für die Verwendung in der then Bedingung der Richtliniendefinition.

Für einen Ressourcenanbietermodus von Microsoft.Kubernetes.Datahat der Überwachungseffekt die folgenden Untereigenschaften von details. Die Verwendung von templateInfo ist für neue oder aktualisierte Richtliniendefinitionen erforderlich, da constraintTemplate sie veraltet sind.

  • templateInfo (erforderlich)

    • Kann nicht mit constraintTemplateverwendet werden.
    • sourceType (erforderlich)
      • Definiert den Quelltyp für die Einschränkungsvorlage. Zulässige Werte: PublicURL oder Base64Encoded.

      • Wenn PublicURL, gepaart mit Eigenschaft url , um die Position der Einschränkungsvorlage bereitzustellen. Auf den Speicherort muss öffentlich zugegriffen werden können.

        Warnung

        Verwenden Sie keine SAS-URIs, URL-Token oder andere Elemente, die geheime Schlüssel im Nur-Text-Format verfügbar machen könnten.

      • Wenn Base64Encoded, gepaart mit Eigenschaft content , um die base64-codierte Einschränkungsvorlage bereitzustellen. Siehe Erstellen einer Richtliniendefinition aus Einschränkungsvorlage zum Erstellen einer benutzerdefinierten Definition aus einer vorhandenen Open Policy Agent (OPA) Gatekeeper v3-Einschränkungsvorlage.

  • constraint (veraltet)

    • Kann nicht mit templateInfoverwendet werden.
    • Die CRD-Implementierung der Einschränkungsvorlage. Verwendet Parameter, die als values{{ .Values.<valuename> }}übergeben werden. In Beispiel 2 unten sind {{ .Values.excludedNamespaces }} diese Werte und {{ .Values.allowedContainerImagesRegex }}.
  • constraintTemplate (veraltet)

    • Kann nicht mit templateInfoverwendet werden.
    • Muss beim Erstellen oder Aktualisieren einer Richtliniendefinition durch ersetzt templateInfo werden.
    • Die Einschränkungsvorlage CustomResourceDefinition (CRD), die neue Einschränkungen definiert. Die Vorlage definiert die Rego-Logik, das Einschränkungsschema und die Einschränkungsparameter, die von values Azure Policy übergeben werden. Weitere Informationen zu Gatekeeper-Einschränkungen.
  • constraintInfo (wahlweise)

    • Kann nicht mit constraint, , constraintTemplateapiGroups, kinds, , scope, , , namespacesoder excludedNamespaceslabelSelector.
    • Wenn constraintInfo dies nicht möglich ist, kann die Einschränkung aus und von templateInfo der Richtlinie generiert werden.
    • sourceType (erforderlich)
      • Definiert den Typ der Quelle für die Einschränkung. Zulässige Werte: PublicURL oder Base64Encoded.

      • Wenn PublicURL, gepaart mit Eigenschaft url , um die Position der Einschränkung bereitzustellen. Auf den Speicherort muss öffentlich zugegriffen werden können.

        Warnung

        Verwenden Sie keine SAS-URIs oder Token in url oder andere Elemente, die ein Geheimnis offenlegen könnten.

  • namespaces (wahlweise)

    • Ein Array von Kubernetes-Namespaces , auf die die Richtlinienauswertung beschränkt werden soll.
    • Ein leerer oder fehlender Wert bewirkt, dass die Richtlinienauswertung alle Namespaces enthält, die nicht in excludedNamespaces definiert sind.
  • excludedNamespaces (wahlweise)

  • labelSelector (wahlweise)

    • Ein Objekt , das MatchLabels (Objekt) und MatchExpression (Array) enthält, um anzugeben, welche Kubernetes-Ressourcen für die Richtlinienauswertung einbezogen werden sollen, die den bereitgestellten Bezeichnungen und Selektoren entsprechen.
    • Ein leerer oder fehlender Wert bewirkt, dass die Richtlinienauswertung alle Bezeichnungen und Selektoren enthält, mit Ausnahme von Namespaces, die in excludedNamespaces definiert sind.
  • scope (wahlweise)

    • Eine Zeichenfolge , die die Bereichseigenschaft enthält, um anzugeben, ob clusterbezogene oder namespacebezogene Ressourcen übereinstimmen.
  • apiGroups (erforderlich bei Verwendung von templateInfo)

    • Ein Array , das die API-Gruppen enthält, die übereinstimmen sollen. Ein leeres Array ([""]) ist die Kern-API-Gruppe.
    • Die Definition ["*"] für apiGroups ist unzulässig.
  • kinds (erforderlich bei Verwendung von templateInfo)

    • Ein Array , das die Art des Kubernetes-Objekts enthält, auf das die Auswertung beschränkt werden soll.
    • Das Definieren ["*"] für Typen ist unzulässig.
  • values (wahlweise)

    • Definiert alle Parameter und Werte, die an die Einschränkung übergeben werden sollen. Jeder Wert muss vorhanden sein und einer Eigenschaft im Gültigkeitsbereich openAPIV3Schema der Einschränkungsvorlage CRD entsprechen.

Beispiel für „audit“

Beispiel 1: Verwenden des Überwachungseffekts für Ressourcen-Manager-Modi.

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

Beispiel 2: Verwenden des Überwachungseffekts für einen Ressourcenanbietermodus von Microsoft.Kubernetes.Data. Die zusätzlichen Informationen in details.templateInfo deklarieren die Verwendung und PublicURL legt url sie auf den Speicherort der Einschränkungsvorlage fest, die in Kubernetes verwendet werden soll, um die zulässigen Containerimages einzuschränken.

"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ächste Schritte