Controle-effect van Azure Policy-definities
Het audit
effect wordt gebruikt om een waarschuwingsgebeurtenis te maken in het activiteitenlogboek bij het evalueren van een niet-compatibele resource, maar de aanvraag wordt niet gestopt.
Controle-evaluatie
Controle is het laatste effect dat door Azure Policy is gecontroleerd tijdens het maken of bijwerken van een resource. Voor een Resource Manager-modus verzendt Azure Policy de resource vervolgens naar de resourceprovider. Bij het evalueren van een aanvraag voor het maken of bijwerken van een resource voegt Azure Policy een Microsoft.Authorization/policies/audit/action
bewerking toe aan het activiteitenlogboek en markeert de resource als niet-compatibel. Tijdens een evaluatiecyclus van de standaardnaleving wordt alleen de nalevingsstatus van de resource bijgewerkt.
Eigenschappen controleren
Voor een Resource Manager-modus heeft het controle-effect geen andere eigenschappen voor gebruik in de then
voorwaarde van de beleidsdefinitie.
Voor een resourceprovidermodus van Microsoft.Kubernetes.Data
heeft het controle-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, URL-tokens of iets anders dat geheimen in tekst zonder opmaak kan weergeven.
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
(afgeschaft)- 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
,apiGroups
,kinds
,scope
, ,namespaces
ofexcludedNamespaces
labelSelector
. - 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 die niet zijn gedefinieerd in excludedNamespaces.
excludedNamespaces
(optioneel)- Een matrix van Kubernetes-naamruimten die moeten worden uitgesloten van beleidsevaluatie.
labelSelector
(optioneel)- Een object dat matchLabels (object) en matchExpression-eigenschappen (matrix) bevat, zodat kan worden opgegeven 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.
scope
(optioneel)- Een tekenreeks die de bereikeigenschap bevat om op te geven of resources met clusterbereik of naamruimtebereik overeenkomen.
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 en overeenkomen met een eigenschap in de validatiesectie
openAPIV3Schema
van de CRD van de beperkingssjabloon.
- Definieert parameters en waarden die moeten worden doorgegeven aan de beperking. Elke waarde moet bestaan en overeenkomen met een eigenschap in de validatiesectie
Voorbeeld van controle
Voorbeeld 1: Het controle-effect voor Resource Manager-modi gebruiken.
"then": {
"effect": "audit"
}
Voorbeeld 2: het controle-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": "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"
]
}
}
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.