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 voorwaarde, maar die niet beschikken over de in de if van de details 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
typeeen resourcetype is dat onder de voorwaarderesourceifvalt, voert het beleid opvragen uit voor resources van dit typetypebinnen 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.typeenthen.details.typeovereenkomen, wordtnamevereist 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
typeeen resource is die zich onder deifvoorwaarde 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
typeeen resource is die zich onder deifvoorwaarde bevindt. - Voor ResourceGroup zou, indien gespecificeerd, beperkt worden tot de resourcegroep in
resourceGroupName. AlsresourceGroupNameniet 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,AfterProvisioningSuccessofAfterProvisioningFailureeen 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
ifde beleidsregel.AfterProvisioningwordt 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
typeaan het effect en activeert het de controle niet. - Gebruikt dezelfde taal als de beleidsregel voor de
ifvoorwaarde, 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
ifvoorwaarde te controleren. - Kan bijvoorbeeld worden gebruikt om te controleren of de bovenliggende resource (in de
ifvoorwaarde) 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.