Efekt inspekcji definicji usługi Azure Policy

Efekt audit służy do tworzenia zdarzenia ostrzegawczego w dzienniku aktywności podczas oceniania niezgodnego zasobu, ale nie zatrzymuje żądania.

Ocena inspekcji

Inspekcja to ostatni efekt sprawdzany przez usługę Azure Policy podczas tworzenia lub aktualizowania zasobu. W przypadku trybu usługi Resource Manager usługa Azure Policy wysyła następnie zasób do dostawcy zasobów. Podczas oceniania żądania utworzenia lub aktualizacji zasobu usługa Azure Policy dodaje operację Microsoft.Authorization/policies/audit/action do dziennika aktywności i oznacza zasób jako niezgodny. Podczas standardowego cyklu oceny zgodności jest aktualizowany tylko stan zgodności zasobu.

Właściwości inspekcji

W przypadku trybu usługi Resource Manager efekt inspekcji nie ma żadnych innych właściwości do użycia w then warunku definicji zasad.

W przypadku trybu dostawcy zasobów efekt inspekcji Microsoft.Kubernetes.Datama następujące podwłaściwości details. templateInfo Użycie elementu jest wymagane dla nowych lub zaktualizowanych definicji zasad, ponieważ constraintTemplate jest przestarzałe.

  • templateInfo (wymagane)

    • Nie można używać z constraintTemplateprogramem .
    • sourceType (wymagane)
      • Definiuje typ źródła szablonu ograniczenia. Dozwolone wartości: PublicURL lub Base64Encoded.

      • Jeśli PublicURLelement jest sparowany z właściwością url w celu zapewnienia lokalizacji szablonu ograniczenia. Lokalizacja musi być publicznie dostępna.

        Ostrzeżenie

        Nie używaj identyfikatorów URI sygnatur dostępu współdzielonego, tokenów url ani żadnych innych elementów, które mogą uwidaczniać wpisy tajne w postaci zwykłego tekstu.

      • Jeśli Base64Encodedelement jest sparowany z właściwością content w celu zapewnienia szablonu ograniczenia zakodowanego w formacie base 64. Zobacz Tworzenie definicji zasad na podstawie szablonu ograniczenia, aby utworzyć niestandardową definicję na podstawie istniejącego szablonu ograniczeń programu Open Policy Agent (OPA) Gatekeeper v3.

  • constraint (przestarzałe)

    • Nie można używać z templateInfoprogramem .
    • Implementacja crD szablonu ograniczenia. Używa parametrów przekazywanych za pośrednictwem values jako {{ .Values.<valuename> }}. W przykładzie 2 poniżej te wartości to {{ .Values.excludedNamespaces }} i {{ .Values.allowedContainerImagesRegex }}.
  • constraintTemplate (przestarzałe)

    • Nie można używać z templateInfoprogramem .
    • Należy zastąpić elementem templateInfo podczas tworzenia lub aktualizowania definicji zasad.
    • Szablon ograniczeń CustomResourceDefinition (CRD), który definiuje nowe ograniczenia. Szablon definiuje logikę rego, schemat ograniczenia i parametry ograniczenia przekazywane z values usługi Azure Policy. Aby uzyskać więcej informacji, przejdź do tematu Ograniczenia usługi Gatekeeper.
  • constraintInfo (opcjonalny)

    • Nie można używać z , , , , , , namespaces, excludedNamespaceslub labelSelector. scopekindsapiGroupsconstraintTemplateconstraint
    • Jeśli constraintInfo nie zostanie podana, ograniczenie można wygenerować na podstawie templateInfo zasad i .
    • sourceType (wymagane)
      • Definiuje typ źródła dla ograniczenia. Dozwolone wartości: PublicURL lub Base64Encoded.

      • Jeśli PublicURLparametr jest sparowany z właściwością url w celu zapewnienia lokalizacji ograniczenia. Lokalizacja musi być publicznie dostępna.

        Ostrzeżenie

        Nie używaj identyfikatorów URI sygnatury dostępu współdzielonego ani tokenów w url ani żadnych innych elementów, które mogą ujawnić wpis tajny.

  • namespaces (opcjonalny)

    • Tablicaprzestrzeni nazw platformy Kubernetes w celu ograniczenia oceny zasad do.
    • Pusta lub brakująca wartość powoduje, że ocena zasad uwzględnia wszystkie przestrzenie nazw, które nie są zdefiniowane w wykluczonych przestrzeniach Nazw.
  • excludedNamespaces (opcjonalny)

  • labelSelector (opcjonalny)

    • Obiekt, który zawiera właściwości matchLabels (object) i matchExpression (tablica), aby umożliwić określenie, które zasoby Kubernetes mają być uwzględnione do oceny zasad pasujących do podanych etykiet i selektorów.
    • Pusta lub brakująca wartość powoduje, że ocena zasad obejmuje wszystkie etykiety i selektory, z wyjątkiem przestrzeni nazw zdefiniowanych w wykluczonych Przestrzeniach Nazw.
  • scope (opcjonalny)

    • Ciąg zawierający właściwość zakresu umożliwiającą określenie, czy zasoby o zakresie klastra lub zasoby o zakresie przestrzeni nazw są zgodne.
  • apiGroups (wymagane w przypadku korzystania z elementu templateInfo)

    • Tablica zawierająca grupy interfejsów API, które mają być zgodne. Pusta tablica ([""]) jest podstawową grupą interfejsów API.
    • Definiowanie ["*"] dla grup apiGroups jest niedozwolone.
  • kinds (wymagane w przypadku korzystania z elementu templateInfo)

    • Tablica zawierająca rodzaj obiektu Kubernetes w celu ograniczenia oceny do.
    • Definiowanie ["*"] typówjest niedozwolone.
  • values (opcjonalny)

    • Definiuje wszystkie parametry i wartości, które mają być przekazywane do ograniczenia. Każda wartość musi istnieć i dopasować właściwość w sekcji walidacji openAPIV3Schema szablonu ograniczenia CRD.

Przykład inspekcji

Przykład 1: Używanie efektu inspekcji dla trybów usługi Resource Manager.

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

Przykład 2. Użycie efektu inspekcji dla trybu dostawcy zasobów .Microsoft.Kubernetes.Data Dodatkowe informacje w programie details.templateInfo deklarują użycie PublicURL i ustawiają url lokalizację szablonu ograniczenia do użycia w usłudze Kubernetes w celu ograniczenia dozwolonych obrazów kontenerów.

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

Następne kroki