Azure Policy-definities weigeren effect
Het deny
effect wordt gebruikt om te voorkomen dat een resourceaanvraag voldoet aan gedefinieerde standaarden via een beleidsdefinitie en mislukt de aanvraag.
Evaluatie weigeren
Wanneer u een overeenkomende resource in een Resource Manager-modus maakt of bijwerkt, voorkomt u dat de aanvraag wordt verzonden naar de resourceprovider. De aanvraag wordt geretourneerd als een 403 (Forbidden)
. In de portal kan de Forbidden
status worden weergegeven als een implementatiestatus die is verhinderd door de beleidstoewijzing. Voor een resourceprovidermodus beheert de resourceprovider de evaluatie van de resource.
Tijdens de evaluatie van bestaande resources worden resources die overeenkomen met een deny
beleidsdefinitie gemarkeerd als niet-compatibel.
Eigenschappen weigeren
Voor een Resource Manager-modus heeft het deny
effect geen eigenschappen meer voor gebruik in de then
voorwaarde van de beleidsdefinitie.
Voor een resourceprovidermodus van Microsoft.Kubernetes.Data
heeft het deny
effect de volgende subproperties van details
. Het gebruik van templateInfo
is vereist voor nieuwe of bijgewerkte beleidsdefinities, zoals constraintTemplate
afgeschaft.
templateInfo
(vereist)- Kan niet worden gebruikt met
constraintTemplate
. sourceType
(vereist)Hiermee definieert u het type bron voor de beperkingssjabloon. Toegestane waarden:
PublicURL
ofBase64Encoded
.Als
PublicURL
, gekoppeld aan eigenschapurl
om de locatie van de beperkingssjabloon op te geven. De locatie moet openbaar toegankelijk zijn.Waarschuwing
Gebruik geen SAS-URI's of tokens in
url
of iets anders dat een geheim beschikbaar kan maken.Als
Base64Encoded
, gekoppeld aan eigenschapcontent
om de base 64 gecodeerde beperkingssjabloon op te geven. Zie Beleidsdefinitie maken op basis van een beperkingssjabloon om een aangepaste definitie te maken op basis van een bestaande OPA-beperkingssjabloon (Open Policy Agent) Gatekeeper v3.
- Kan niet worden gebruikt met
constraint
(optioneel)- Kan niet worden gebruikt met
templateInfo
. - De CRD-implementatie van de beperkingssjabloon. Maakt gebruik van parameters die worden doorgegeven als
values
{{ .Values.<valuename> }}
. In voorbeeld 2 hieronder zijn{{ .Values.excludedNamespaces }}
deze waarden en{{ .Values.allowedContainerImagesRegex }}
.
- Kan niet worden gebruikt met
constraintTemplate
(afgeschaft)- Kan niet worden gebruikt met
templateInfo
. - Moet worden vervangen door
templateInfo
bij het maken of bijwerken van een beleidsdefinitie. - De Constraint-sjabloon CustomResourceDefinition (CRD) die nieuwe beperkingen definieert. De sjabloon definieert de Rego-logica, het beperkingsschema en de beperkingsparameters die worden doorgegeven vanuit
values
Azure Policy. Ga naar Gatekeeper-beperkingen voor meer informatie.
- Kan niet worden gebruikt met
constraintInfo
(optioneel)- Kan niet worden gebruikt met
constraint
,constraintTemplate
ofapiGroups
kinds
. - Als
constraintInfo
deze niet is opgegeven, kan de beperking worden gegenereerd op basis vantemplateInfo
en beleid. sourceType
(vereist)Hiermee definieert u het type bron voor de beperking. Toegestane waarden:
PublicURL
ofBase64Encoded
.Als
PublicURL
, gekoppeld aan eigenschapurl
om de locatie van de beperking op te geven. De locatie moet openbaar toegankelijk zijn.Waarschuwing
Gebruik geen SAS-URI's of tokens in
url
of iets anders dat een geheim beschikbaar kan maken.
- Kan niet worden gebruikt met
namespaces
(optioneel)- Een matrix van Kubernetes-naamruimten om beleidsevaluatie te beperken.
- Een lege of ontbrekende waarde zorgt ervoor dat beleidsevaluatie alle naamruimten bevat, behalve de naamruimten die zijn gedefinieerd in
excludedNamespaces
.
excludedNamespaces
(vereist)- Een matrix van Kubernetes-naamruimten die moeten worden uitgesloten van beleidsevaluatie.
labelSelector
(vereist)- Een object dat eigenschappen (object) en
matchExpression
(matrix) bevatmatchLabels
om op te geven welke Kubernetes-resources moeten worden opgenomen voor beleidsevaluatie die overeenkomt met de opgegeven labels en selectors. - Een lege of ontbrekende waarde zorgt ervoor dat beleidsevaluatie alle labels en selectors bevat, behalve naamruimten die zijn gedefinieerd in
excludedNamespaces
.
- Een object dat eigenschappen (object) en
apiGroups
(vereist bij het gebruik van templateInfo)- Een matrix die de API-groepen bevat die overeenkomen. Een lege matrix (
[""]
) is de kern-API-groep. - Definiëren
["*"]
voor apiGroups is niet toegestaan.
- Een matrix die de API-groepen bevat die overeenkomen. Een lege matrix (
kinds
(vereist bij het gebruik van templateInfo)- Een matrix met het type Kubernetes-object om de evaluatie te beperken.
- Definiëren
["*"]
voor soorten is niet toegestaan.
values
(optioneel)- Definieert parameters en waarden die moeten worden doorgegeven aan de beperking. Elke waarde moet bestaan in de CRD van de beperkingssjabloon.
Voorbeeld van weigeren
Voorbeeld 1: Het deny
effect voor Resource Manager-modi gebruiken.
"then": {
"effect": "deny"
}
Voorbeeld 2: Het deny
effect voor een resourceprovidermodus van Microsoft.Kubernetes.Data
. De aanvullende informatie in details.templateInfo
declareert het gebruik van PublicURL
en stelt url
deze in op de locatie van de sjabloon Beperking die moet worden gebruikt in Kubernetes om de toegestane containerinstallatiekopieën te beperken.
"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"
]
}
}
Volgende stappen
- Bekijk voorbeelden in Azure Policy-voorbeelden.
- Lees over de structuur van Azure Policy-definities.
- Meer informatie over het programmatisch maken van beleid.
- Meer informatie over het ophalen van nalevingsgegevens.
- Ontdek hoe u niet-compatibele resources kunt herstellen.
- Controleer Azure-beheergroepen.