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.Data
ma 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
programem . sourceType
(wymagane)Definiuje typ źródła szablonu ograniczenia. Dozwolone wartości:
PublicURL
lubBase64Encoded
.Jeśli
PublicURL
element 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
element 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.
- Nie można używać z
constraint
(przestarzałe)- Nie można używać z
templateInfo
programem . - 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 }}
.
- Nie można używać z
constraintTemplate
(przestarzałe)- Nie można używać z
templateInfo
programem . - 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.
- Nie można używać z
constraintInfo
(opcjonalny)- Nie można używać z , , , , , ,
namespaces
,excludedNamespaces
lublabelSelector
.scope
kinds
apiGroups
constraintTemplate
constraint
- Jeśli
constraintInfo
nie zostanie podana, ograniczenie można wygenerować na podstawietemplateInfo
zasad i . sourceType
(wymagane)Definiuje typ źródła dla ograniczenia. Dozwolone wartości:
PublicURL
lubBase64Encoded
.Jeśli
PublicURL
parametr 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.
- Nie można używać z , , , , , ,
namespaces
(opcjonalny)excludedNamespaces
(opcjonalny)- Tablica przestrzeni nazw Kubernetes do wykluczenia z oceny zasad.
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.
- Tablica zawierająca grupy interfejsów API, które mają być zgodne. Pusta tablica (
kinds
(wymagane w przypadku korzystania z elementu templateInfo)- Tablica zawierająca rodzaj obiektu Kubernetes w celu ograniczenia oceny do.
- Definiowanie
["*"]
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 dopasować właściwość w sekcji walidacji
openAPIV3Schema
szablonu ograniczenia CRD.
- 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
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
- Zapoznaj się z przykładami w przykładach usługi Azure Policy.
- Przejrzyj temat Struktura definicji zasad Azure Policy.
- Dowiedz się, jak programowo tworzyć zasady.
- Dowiedz się, jak uzyskać dane zgodności.
- Dowiedz się, jak korygować niezgodne zasoby.
- Przejrzyj grupy zarządzania platformy Azure.