Udostępnij przez


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 constraintTemplate.
    • 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 Base64Encoded jest sparowany z właściwością content w celu zapewnienia szablonu ograniczenia zakodowanego w formacie Base64. Zobacz Tworzenie definicji zasad na podstawie szablonu ograniczenia, aby utworzyć niestandardową definicję na podstawie istniejącego Open Policy Agent (OPA) Gatekeeper v3 szablonu ograniczenia.

  • constraint (przestarzałe)

    • Nie można używać z templateInfo.
    • 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 templateInfo.
    • 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, które są przekazywane poprzez values z usługi Azure Policy. Aby uzyskać więcej informacji, przejdź do tematu Ograniczenia usługi Gatekeeper.
  • constraintInfo (opcjonalny)

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

      • Jeśli PublicURL jest połączony z właściwością url w celu określenia lokalizacji ograniczenia. Lokalizacja musi być publicznie dostępna.

        Ostrzeżenie

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

  • namespaces (opcjonalny)

    • Tablicaprzestrzeni nazw Kubernetes w celu ograniczenia oceny zasad.
    • Pusta wartość lub jej brak powoduje, że ewaluacja 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 polityk obejmuje wszystkie etykiety i selektory, z wyjątkiem przestrzeni nazw zdefiniowanych w wykluczonychPrzestrzeniachNazw.
  • 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 grupą główną API.
    • Definiowanie ["*"] dla grup api jest niedozwolone.
  • kinds (wymagane w przypadku korzystania z elementu templateInfo)

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

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

Przykład inspekcji

Przykład 1: Używanie efektu audytu dla trybów Menadżera zasobów.

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

Przykład 2. Użycie efektu inspekcji dla trybu dostawcy zasobów .Microsoft.Kubernetes.Data Dodatkowe informacje w details.templateInfo deklarują użycie PublicURL i przypisują url jako lokalizację szablonu ograniczenia używanego w Kubernetes do 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