Efekt odmowy definicji usługi Azure Policy
deny
Efekt służy do zapobiegania żądaniu zasobu, które nie pasuje do zdefiniowanych standardów za pomocą definicji zasad i kończy się niepowodzeniem żądania.
Odmowa oceny
Podczas tworzenia lub aktualizowania dopasowanego zasobu w trybie usługi Resource Manager odmowa uniemożliwia wysłanie żądania do dostawcy zasobów. Żądanie jest zwracane jako 403 (Forbidden)
. W portalu Forbidden
można wyświetlić stan wdrożenia, który został uniemożliwiony przez przypisanie zasad. W przypadku trybu dostawcy zasobów dostawca zasobów zarządza oceną zasobu.
Podczas oceny istniejących zasobów zasoby zgodne z definicją deny
zasad są oznaczone jako niezgodne.
Odmów właściwości
W przypadku trybu deny
usługi Resource Manager efekt nie ma więcej właściwości do użycia w then
warunku definicji zasad.
W przypadku trybu dostawcy Microsoft.Kubernetes.Data
zasobów efekt deny
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 sygnatury dostępu współdzielonego ani tokenów w
url
ani żadnych innych elementów, które mogą ujawnić wpis tajny.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
(opcjonalnie)- 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
(opcjonalnie)- Nie można używać z
constraint
,constraintTemplate
,apiGroups
lubkinds
. - 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
(opcjonalnie)excludedNamespaces
(wymagane)- Tablica przestrzeni nazw Kubernetes do wykluczenia z oceny zasad.
labelSelector
(wymagane)- Obiekt, który zawiera
matchLabels
właściwości (object) imatchExpression
(array), aby umożliwić określenie, które zasoby Kubernetes mają być uwzględniane 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 pliku
excludedNamespaces
.
- Obiekt, który zawiera
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
(opcjonalnie)- Definiuje wszystkie parametry i wartości, które mają być przekazywane do ograniczenia. Każda wartość musi istnieć w szablonie ograniczenia CRD.
Przykład odmowy
Przykład 1: Używanie deny
efektu dla trybów usługi Resource Manager.
"then": {
"effect": "deny"
}
Przykład 2. Użycie deny
efektu 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": "deny",
"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.