Azure Policy-definities auditIfNotExists-effect
Het auditIfNotExists
effect maakt het mogelijk om resources te controleren die betrekking hebben op de resource die overeenkomt met de if
voorwaarde, maar niet over de eigenschappen die zijn opgegeven in de details
then
voorwaarde.
AuditIfNotExists-evaluatie
auditIfNotExists
wordt uitgevoerd nadat een resourceprovider een resourceaanvraag heeft verwerkt of bijgewerkt en een geslaagde statuscode heeft geretourneerd. De controle treedt op als er geen gerelateerde resources zijn of als de resources die zijn gedefinieerd door ExistenceCondition
niet 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 auditIfNotExists
De details
eigenschap van de effecten AuditIfNotExists heeft alle subproperties die de gerelateerde resources definiëren die overeenkomen.
type
(vereist)- Hiermee geeft u het type van de gerelateerde resource die moet overeenkomen.
- Als
type
dit een resourcetype is onder deif
voorwaarderesource, voert het beleid query's uit voor resources hiervantype
binnen het bereik van de geëvalueerde resource. Anders worden beleidsquery's 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
overeenkomst zijn, wordt ditname
vereist en moet[field('name')]
dit zijn, of[field('fullName')]
voor een onderliggende resource. In plaats daarvan moet echter een controle-effect worden overwogen.
Notitie
type
en name
segmenten kunnen worden gecombineerd om geneste resources algemeen 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
dit een resource is die zich onder deif
voorwaarderesource bevindt. - De standaardwaarde is de resourcegroep van de
if
voorwaarderesource.
existenceScope
(optioneel)- Toegestane waarden zijn Abonnement en ResourceGroup.
- Hiermee stelt u het bereik in van waar de gerelateerde resource moet worden opgehaald waaruit moet worden gematcht.
- Dit geldt niet als
type
dit een resource is die zich onder deif
voorwaarderesource bevindt. - Voor ResourceGroup zou dit worden beperkt tot de resourcegroep waarin
resourceGroupName
deze is opgegeven. AlsresourceGroupName
dit niet is opgegeven, beperkt u zich tot de resourcegroep van deif
voorwaarderesource. Dit is het standaardgedrag. - Voor Abonnement voert u een query uit op het hele abonnement voor de gerelateerde resource. Het toewijzingsbereik moet worden ingesteld op abonnement of hoger voor de 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 het inrichten is voltooid, ongeacht het resultaat. Inrichting die langer dan zes uur duurt, wordt behandeld als een fout bij het bepalen van na het inrichten van evaluatievertragingen. - De standaardwaarde is
PT10M
(10 minuten). - Het opgeven van een lange evaluatievertraging kan ertoe leiden dat de vastgelegde nalevingsstatus van de resource pas wordt bijgewerkt als de volgende evaluatietrigger.
existenceCondition
(optioneel)- Als dit niet is opgegeven, voldoet een gerelateerde resource aan
type
het effect en wordt de controle niet geactiveerd. - Gebruikt dezelfde taal als de beleidsregel voor de
if
voorwaarde, maar wordt afzonderlijk geëvalueerd op basis van elke gerelateerde resource. - Als een overeenkomende gerelateerde resource waar oplevert, is het effect tevreden 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 opgegeven, voldoet een gerelateerde resource aan
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.
- Ontdek hoe u niet-compatibele resources kunt herstellen.
- Controleer Azure-beheergroepen.