Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Het auditIfNotExists
effect maakt het mogelijk om resources te controleren die betrekking hebben op de resource die voldoet aan de if
voorwaarde, maar die niet beschikken over de in de details
van de then
voorwaarde gespecificeerde eigenschappen.
AuditIfNotExists-evaluatie
auditIfNotExists
wordt uitgevoerd nadat een resourceprovider een resourceaanvraag heeft verwerkt of bijgewerkt en een geslaagde statuscode heeft geretourneerd. De controle vindt plaats als er geen gerelateerde bronnen zijn of als de bronnen vastgelegd door ExistenceCondition
niet als waar worden geëvalueerd. Voor nieuwe en bijgewerkte resources voegt Azure Policy een Microsoft.Authorization/policies/audit/action
bewerking toe aan het activiteitenlogboek en markeert de resource als niet-compatibel. Wanneer deze wordt geactiveerd, is de resource die aan de if
voorwaarde voldoet de resource die is gemarkeerd als niet-compatibel.
Eigenschappen van AuditIfNotExists
De details
eigenschap van de AuditIfNotExists-effecten heeft alle subeigenschappen die de overeenkomstige gerelateerde resources definiëren.
-
type
(vereist)- Specificeer het type van het gerelateerde hulpmiddel dat moet overeenkomen.
- Als
type
een resourcetype is dat onder de voorwaarderesourceif
valt, voert het beleid opvragen uit voor resources van dit typetype
binnen de reikwijdte van de geëvalueerde resource. Anders worden query's over beleid binnen dezelfde resourcegroep of hetzelfde abonnement als de geëvalueerde resource afhankelijk van deexistenceScope
.
-
name
(optioneel)- Hiermee geeft u de exacte naam van de resource die overeenkomt en zorgt ervoor dat het beleid één specifieke resource ophaalt in plaats van alle resources van het opgegeven type.
- Wanneer de voorwaardewaarden voor
if.field.type
enthen.details.type
overeenkomen, wordtname
vereist en moet het[field('name')]
zijn, of[field('fullName')]
voor een ondergeschikte resource. In plaats daarvan moet echter een controle-effect worden overwogen.
Opmerking
type
en name
segmenten kunnen worden gecombineerd om algemeen geneste resources op te halen.
Als u een specifieke resource wilt ophalen, kunt u deze gebruiken "type": "Microsoft.ExampleProvider/exampleParentType/exampleNestedType"
en "name": "parentResourceName/nestedResourceName"
.
Als u een verzameling geneste resources wilt ophalen, kunt u een jokerteken ?
opgeven in plaats van het achternaamsegment. Bijvoorbeeld "type": "Microsoft.ExampleProvider/exampleParentType/exampleNestedType"
en "name": "parentResourceName/?"
. Dit kan worden gecombineerd met veldfuncties voor toegang tot resources die zijn gerelateerd aan de geëvalueerde resource, zoals "name": "[concat(field('name'), '/?')]"
.".
-
resourceGroupName
(optioneel)- Hiermee kan de overeenkomende resource afkomstig zijn van een andere resourcegroep.
- Dit geldt niet als
type
een resource is die zich onder deif
voorwaarde bevindt. - De standaardinstelling is de resourcegroep van de voorwaarderesource
if
.
-
existenceScope
(optioneel)- Toegestane waarden zijn Abonnement en ResourceGroup.
- Hiermee stelt u de reikwijdte in voor het ophalen van de gerelateerde resource om te matchen.
- Dit geldt niet als
type
een resource is die onder deif
voorwaarde-resource zou vallen. - Voor ResourceGroup zou, indien gespecificeerd, beperkt worden tot de resourcegroep in
resourceGroupName
. AlsresourceGroupName
niet is opgegeven, wordt beperkt tot de resourcegroep van de voorwaarderesource vanif
, wat het standaardgedrag is. - Voor Abonnement wordt een query uitgevoerd op het hele abonnement voor de gerelateerde resource. Het taakbereik moet worden ingesteld op abonnement of hoger voor een juiste evaluatie.
- De standaardwaarde is ResourceGroup.
-
evaluationDelay
(optioneel)- Hiermee geeft u op wanneer het bestaan van de gerelateerde resources moet worden geëvalueerd. De vertraging wordt alleen gebruikt voor evaluaties die het gevolg zijn van een aanvraag voor het maken of bijwerken van resources.
- Toegestane waarden zijn
AfterProvisioning
,AfterProvisioningSuccess
ofAfterProvisioningFailure
een ISO 8601-duur tussen 0 en 360 minuten. - De waarden na inrichting inspecteren het inrichtingsresultaat van de resource die is geëvalueerd in de voorwaarde van
if
de beleidsregel.AfterProvisioning
wordt uitgevoerd nadat de provisioning is voltooid, ongeacht de uitkomst. Inrichting die meer dan zes uur in beslag neemt, wordt beschouwd als een mislukking bij het bepalen van AfterProvisioning evaluatievertragingen. - De standaardwaarde is
PT10M
(10 minuten). - Het specificeren van een lange evaluatievertraging kan ervoor zorgen dat de geregistreerde compliancestatus van de resource pas wordt geüpdatet bij de volgende evaluatietrigger.
-
existenceCondition
(optioneel)- Als dit niet is gespecificeerd, voldoet elke gerelateerde resource van
type
aan het effect en activeert het de controle niet. - Gebruikt dezelfde taal als de beleidsregel voor de
if
voorwaarde, maar wordt afzonderlijk geëvalueerd op basis van elke gerelateerde resource. - Als een bijbehorende gerelateerde bron als waar wordt beoordeeld, is het effect voldaan en wordt de controle niet geactiveerd.
- Kan [field()] gebruiken om de gelijkwaardigheid met waarden in de
if
voorwaarde te controleren. - Kan bijvoorbeeld worden gebruikt om te controleren of de bovenliggende resource (in de
if
voorwaarde) zich op dezelfde resourcelocatie bevindt als de overeenkomende gerelateerde resource.
- Als dit niet is gespecificeerd, voldoet elke gerelateerde resource van
Voorbeeld AuditIfNotExists
Voorbeeld: Evalueert virtuele machines om te bepalen of de Antimalware-extensie bestaat en controleert wanneer deze ontbreekt.
{
"if": {
"field": "type",
"equals": "Microsoft.Compute/virtualMachines"
},
"then": {
"effect": "auditIfNotExists",
"details": {
"type": "Microsoft.Compute/virtualMachines/extensions",
"existenceCondition": {
"allOf": [
{
"field": "Microsoft.Compute/virtualMachines/extensions/publisher",
"equals": "Microsoft.Azure.Security"
},
{
"field": "Microsoft.Compute/virtualMachines/extensions/type",
"equals": "IaaSAntimalware"
}
]
}
}
}
}
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.
- Leer hoe u niet-conforme bronnen kunt verbeteren.
- Controleer Azure-beheergroepen.