Azure Policy effecten begrijpenUnderstand Azure Policy effects

Elke beleidsdefinitie in Azure Policy heeft één effect.Each policy definition in Azure Policy has a single effect. Dit effect bepaalt wat er gebeurt wanneer de beleids regel wordt geëvalueerd voor overeenstemming.That effect determines what happens when the policy rule is evaluated to match. De effecten gedragen zich anders als ze voor een nieuwe resource, een bijgewerkte resource of een bestaande resource zijn.The effects behave differently if they are for a new resource, an updated resource, or an existing resource.

Deze effecten worden momenteel ondersteund in een beleids definitie:These effects are currently supported in a policy definition:

De volgende effecten worden afgeschaft:The following effects are being deprecated:

Belangrijk

In plaats van de EnforceOPAConstraint -of EnforceRegoPolicy -effecten gebruikt u controleren en weigeren met de resource provider modus Microsoft.Kubernetes.Data .In place of the EnforceOPAConstraint or EnforceRegoPolicy effects, use audit and deny with Resource Provider mode Microsoft.Kubernetes.Data. De ingebouwde beleids definities zijn bijgewerkt.The built-in policy definitions have been updated. Wanneer bestaande beleids toewijzingen van deze ingebouwde beleids definities worden gewijzigd, moet de para meter effect worden gewijzigd in een waarde in de lijst met bijgewerkte allowedValues .When existing policy assignments of these built-in policy definitions are modified, the effect parameter must be changed to a value in the updated allowedValues list.

Volg orde van evaluatieOrder of evaluation

Aanvragen om een resource te maken of bij te werken worden eerst geëvalueerd door Azure Policy.Requests to create or update a resource are evaluated by Azure Policy first. Azure Policy maakt een lijst met alle toewijzingen die van toepassing zijn op de resource en evalueert vervolgens de resource op basis van elke definitie.Azure Policy creates a list of all assignments that apply to the resource and then evaluates the resource against each definition. Voor een Resource Manager-modusworden door Azure Policy verschillende effecten verwerkt voordat de aanvraag aan de juiste resource provider wordt door gegeven.For a Resource Manager mode, Azure Policy processes several of the effects before handing the request to the appropriate Resource Provider. Deze volg orde voor komt onnodige verwerking door een resource provider wanneer een resource niet voldoet aan de ontworpen governance-besturings elementen van Azure Policy.This order prevents unnecessary processing by a Resource Provider when a resource doesn't meet the designed governance controls of Azure Policy. Met een resource provider modusbeheert de resource provider de evaluatie en het resultaat en rapporteert de resultaten terug naar Azure Policy.With a Resource Provider mode, the Resource Provider manages the evaluation and outcome and reports the results back to Azure Policy.

  • Uitgeschakeld wordt eerst gecontroleerd om te bepalen of de beleids regel moet worden geëvalueerd.Disabled is checked first to determine if the policy rule should be evaluated.
  • Toevoegen en wijzigen worden vervolgens geëvalueerd.Append and Modify are then evaluated. Omdat de aanvraag kan worden gewijzigd, is het mogelijk dat er een wijziging is aangebracht waardoor een controle of weigering van een trigger kan worden verhinderd.Since either could alter the request, a change made may prevent an audit or deny effect from triggering. Deze effecten zijn alleen beschikbaar in de modus Resource Manager.These effects are only available with a Resource Manager mode.
  • De weigering wordt vervolgens geëvalueerd.Deny is then evaluated. Door weigeren voor controle te evalueren, wordt de dubbele logboek registratie van een ongewenste resource voor komen.By evaluating deny before audit, double logging of an undesired resource is prevented.
  • De controle wordt als laatste geëvalueerd.Audit is evaluated last.

Nadat de resource provider een succes code heeft geretourneerd in een aanvraag voor de Resource Manager-modus, AuditIfNotExists en DeployIfNotExists bepalen of aanvullende nalevings logboek registratie of actie vereist is.After the Resource Provider returns a success code on a Resource Manager mode request, AuditIfNotExists and DeployIfNotExists evaluate to determine if additional compliance logging or action is required.

ToevoegenAppend

Append wordt gebruikt om extra velden toe te voegen aan de aangevraagde resource tijdens het maken of bijwerken.Append is used to add additional fields to the requested resource during creation or update. Een voor beeld hiervan is het opgeven van toegestane IP-adressen voor een opslag resource.A common example is specifying allowed IPs for a storage resource.

Belangrijk

Append is bedoeld voor gebruik met niet-label eigenschappen.Append is intended for use with non-tag properties. Bij toevoegen kunnen Tags aan een resource worden toegevoegd tijdens het maken of bijwerken van een aanvraag, maar het is raadzaam om in plaats daarvan het wijzigings effect voor Tags te gebruiken.While Append can add tags to a resource during a create or update request, it's recommended to use the Modify effect for tags instead.

Evaluatie toevoegenAppend evaluation

Toevoegen evalueert voordat de aanvraag wordt verwerkt door een resource provider tijdens het maken of bijwerken van een resource.Append evaluates before the request gets processed by a Resource Provider during the creation or updating of a resource. Append voegt velden toe aan de resource wanneer aan de voor waarde van de beleids regel wordt voldaan.Append adds fields to the resource when the if condition of the policy rule is met. Als het toevoeg effect een waarde in de oorspronkelijke aanvraag overschrijft met een andere waarde, fungeert deze als een weigerings effect en weigert de aanvraag.If the append effect would override a value in the original request with a different value, then it acts as a deny effect and rejects the request. Gebruik de [*] versie van de alias om een nieuwe waarde toe te voegen aan een bestaande matrix.To append a new value to an existing array, use the [*] version of the alias.

Wanneer een beleids definitie die gebruikmaakt van het toevoeg effect wordt uitgevoerd als onderdeel van een evaluatie cyclus, worden er geen wijzigingen aangebracht in resources die al bestaan.When a policy definition using the append effect is run as part of an evaluation cycle, it doesn't make changes to resources that already exist. In plaats daarvan wordt er een resource gemarkeerd die voldoet aan de if -voor waarde als niet-compatibel.Instead, it marks any resource that meets the if condition as non-compliant.

Eigenschappen toevoegenAppend properties

Een toevoeg effect heeft alleen een detail matrix, wat vereist is.An append effect only has a details array, which is required. Omdat Details een matrix is, kan het één veld/waarde- paar of meerdere waarden hebben.As details is an array, it can take either a single field/value pair or multiples. Raadpleeg de definitie structuur voor de lijst met geaccepteerde velden.Refer to definition structure for the list of acceptable fields.

Voor beelden toevoegenAppend examples

Voor beeld 1: een combi natie van één veld/waarde met een niet- [*] alias met een matrix waarde om IP-regels in te stellen op een opslag account.Example 1: Single field/value pair using a non-[*] alias with an array value to set IP rules on a storage account. Wanneer de niet- [*] alias een matrix is, voegt het effect de waarde toe als de volledige matrix.When the non-[*] alias is an array, the effect appends the value as the entire array. Als de matrix al bestaat, treedt er een gebeurtenis deny op van het conflict.If the array already exists, a deny event occurs from the conflict.

"then": {
    "effect": "append",
    "details": [{
        "field": "Microsoft.Storage/storageAccounts/networkAcls.ipRules",
        "value": [{
            "action": "Allow",
            "value": "134.5.0.0/21"
        }]
    }]
}

Voor beeld 2: een combi natie van één veld/waarde met een [*] alias met een matrix waarde om IP-regels in te stellen op een opslag account.Example 2: Single field/value pair using an [*] alias with an array value to set IP rules on a storage account. Met behulp van de [*] alias voegt het effect de waarde toe aan een mogelijk vooraf bestaande matrix.By using the [*] alias, the effect appends the value to a potentially pre-existing array. Als de matrix nog niet bestaat, wordt deze gemaakt.If the array doesn't exist yet, it's created.

"then": {
    "effect": "append",
    "details": [{
        "field": "Microsoft.Storage/storageAccounts/networkAcls.ipRules[*]",
        "value": {
            "value": "40.40.40.40",
            "action": "Allow"
        }
    }]
}

ControlerenAudit

Controle wordt gebruikt om een waarschuwings gebeurtenis in het activiteiten logboek te maken bij het evalueren van een niet-compatibele resource, maar de aanvraag wordt niet gestopt.Audit is used to create a warning event in the activity log when evaluating a non-compliant resource, but it doesn't stop the request.

Controle-evaluatieAudit evaluation

Controle is het laatste effect dat door Azure Policy is gecontroleerd tijdens het maken of bijwerken van een resource.Audit is the last effect checked by Azure Policy during the creation or update of a resource. Voor een resource manager-modus wordt Azure Policy de resource vervolgens naar de resource provider verzonden.For a Resource Manager mode, Azure Policy then sends the resource to the Resource Provider. Audit werkt hetzelfde voor een resource aanvraag en een evaluatie cyclus.Audit works the same for a resource request and an evaluation cycle. Azure Policy voegt een Microsoft.Authorization/policies/audit/action bewerking aan het activiteiten logboek toe en markeert de resource als niet-compatibel.Azure Policy adds a Microsoft.Authorization/policies/audit/action operation to the activity log and marks the resource as non-compliant.

Controle-eigenschappenAudit properties

Voor een resource manager-modus bevat het controle-effect geen aanvullende eigenschappen voor gebruik in de voor waarde voor de beleids definitie.For a Resource Manager mode, the audit effect doesn't have any additional properties for use in the then condition of the policy definition.

Voor de modus van de resource provider van Microsoft.Kubernetes.Data heeft het controle-effect de volgende aanvullende subeigenschappen van Details.For a Resource Provider mode of Microsoft.Kubernetes.Data, the audit effect has the following additional subproperties of details.

  • constraintTemplate (vereist)constraintTemplate (required)
    • De beperkings sjabloon CustomResourceDefinition (CRD) waarmee nieuwe beperkingen worden gedefinieerd.The Constraint template CustomResourceDefinition (CRD) that defines new Constraints. De sjabloon definieert de Rego Logic, het beperkings schema en de beperkings parameters die worden door gegeven via waarden van Azure Policy.The template defines the Rego logic, the Constraint schema, and the Constraint parameters that are passed via values from Azure Policy.
  • beperking (vereist)constraint (required)
    • De CRD-implementatie van de beperkings sjabloon.The CRD implementation of the Constraint template. Maakt gebruik van para meters die worden door gegeven via waarden als {{ .Values.<valuename> }} .Uses parameters passed via values as {{ .Values.<valuename> }}. In voor beeld 2 hieronder staan deze waarden {{ .Values.excludedNamespaces }} en {{ .Values.allowedContainerImagesRegex }} .In example 2 below, these values are {{ .Values.excludedNamespaces }} and {{ .Values.allowedContainerImagesRegex }}.
  • waarden (optioneel)values (optional)
    • Hiermee definieert u de para meters en waarden die moeten worden door gegeven aan de beperking.Defines any parameters and values to pass to the Constraint. Elke waarde moet bestaan in de beperkings sjabloon CRD.Each value must exist in the Constraint template CRD.

Controle voorbeeldAudit example

Voor beeld 1: het controle-effect voor de Resource Manager-modus gebruiken.Example 1: Using the audit effect for Resource Manager modes.

"then": {
    "effect": "audit"
}

Voor beeld 2: het controle-effect voor een resource provider modus van gebruiken Microsoft.Kubernetes.Data .Example 2: Using the audit effect for a Resource Provider mode of Microsoft.Kubernetes.Data. De aanvullende informatie in Details definieert de beperkings sjabloon en CRD voor gebruik in Kubernetes om de toegestane container installatie kopieën te beperken.The additional information in details defines the Constraint template and CRD to use in Kubernetes to limit the allowed container images.

"then": {
    "effect": "audit",
    "details": {
        "constraintTemplate": "https://raw.githubusercontent.com/Azure/azure-policy/master/built-in-references/Kubernetes/container-allowed-images/template.yaml",
        "constraint": "https://raw.githubusercontent.com/Azure/azure-policy/master/built-in-references/Kubernetes/container-allowed-images/constraint.yaml",
        "values": {
            "allowedContainerImagesRegex": "[parameters('allowedContainerImagesRegex')]",
            "excludedNamespaces": "[parameters('excludedNamespaces')]"
        }
    }
}

AuditIfNotExistsAuditIfNotExists

AuditIfNotExists maakt het mogelijk om de resources te controleren die zijn gerelateerd aan de resource die overeenkomt met de if -voor waarde, maar waarvoor u de eigenschappen niet hebt opgegeven in de Details van de voor waarde.AuditIfNotExists enables auditing of resources related to the resource that matches the if condition, but don't have the properties specified in the details of the then condition.

AuditIfNotExists-evaluatieAuditIfNotExists evaluation

AuditIfNotExists wordt uitgevoerd nadat een resource provider een aanvraag voor het maken of bijwerken van een resource heeft verwerkt en een status code voor geslaagd heeft geretourneerd.AuditIfNotExists runs after a Resource Provider has handled a create or update resource request and has returned a success status code. De controle treedt op als er geen gerelateerde resources zijn of als de resources die zijn gedefinieerd door ExistenceCondition niet naar waar worden geëvalueerd.The audit occurs if there are no related resources or if the resources defined by ExistenceCondition don't evaluate to true. Azure Policy voegt een Microsoft.Authorization/policies/audit/action bewerking aan het activiteiten logboek op dezelfde manier toe als het controle-effect.Azure Policy adds a Microsoft.Authorization/policies/audit/action operation to the activity log the same way as the audit effect. Als deze wordt geactiveerd, is de resource die voldoet aan de if -voor waarde de resource die is gemarkeerd als niet-compatibel.When triggered, the resource that satisfied the if condition is the resource that is marked as non-compliant.

AuditIfNotExists-eigenschappenAuditIfNotExists properties

De eigenschap Details van de AuditIfNotExists-effecten heeft alle subeigenschappen waarmee de gerelateerde resources worden gedefinieerd.The details property of the AuditIfNotExists effects has all the subproperties that define the related resources to match.

  • Type (vereist)Type (required)
    • Hiermee geeft u het type gerelateerde resource op dat moet worden gezocht.Specifies the type of the related resource to match.
    • Als Details. type een resource type onder de if -voor waarde-resource is, wordt in het beleid query's voor bronnen van dit type binnen het bereik van de geëvalueerde resource beschreven.If details.type is a resource type underneath the if condition resource, the policy queries for resources of this type within the scope of the evaluated resource. Anders worden er beleids query's uitgevoerd binnen dezelfde resource groep als de geëvalueerde resource.Otherwise, policy queries within the same resource group as the evaluated resource.
  • Naam (optioneel)Name (optional)
    • Hiermee geeft u de exacte naam op van de resource die moet worden vergeleken. het beleid zorgt ervoor dat er één specifieke resource wordt opgehaald in plaats van alle resources van het opgegeven type.Specifies the exact name of the resource to match and causes the policy to fetch one specific resource instead of all resources of the specified type.
    • Wanneer de voorwaarde waarden voor if. Field. type en then. Details. type overeenkomen, wordt de naam vereist en moet dit zijn [field('name')] .When the condition values for if.field.type and then.details.type match, then Name becomes required and must be [field('name')]. In plaats daarvan moet echter een controle -effect worden overwogen.However, an audit effect should be considered instead.
  • ResourceGroupName (optioneel)ResourceGroupName (optional)
    • Hiermee kan het vergelijken van de gerelateerde resource afkomstig zijn uit een andere resource groep.Allows the matching of the related resource to come from a different resource group.
    • Is niet van toepassing als type een resource is die onder de if -voor waarde-resource zou vallen.Doesn't apply if type is a resource that would be underneath the if condition resource.
    • De standaard waarde is de resource groep voor de indienings voorwaarde resource.Default is the if condition resource's resource group.
  • ExistenceScope (optioneel)ExistenceScope (optional)
    • Toegestane waarden zijn abonnements -en ResourceGroup.Allowed values are Subscription and ResourceGroup.
    • Hiermee stelt u het bereik van waar de gerelateerde resource moet worden opgehaald om overeen te komen met.Sets the scope of where to fetch the related resource to match from.
    • Is niet van toepassing als type een resource is die onder de if -voor waarde-resource zou vallen.Doesn't apply if type is a resource that would be underneath the if condition resource.
    • Voor _ResourceGroup_zou de resource groep van de if -voor waarde worden beperkt of de resource groep die is opgegeven in ResourceGroupName.For ResourceGroup, would limit to the if condition resource's resource group or the resource group specified in ResourceGroupName.
    • Voor het _abonnement_voert u een query uit op het hele abonnement voor de gerelateerde resource.For Subscription, queries the entire subscription for the related resource.
    • De standaard waarde is ResourceGroup.Default is ResourceGroup.
  • ExistenceCondition (optioneel)ExistenceCondition (optional)
    • Als u niets opgeeft, wordt een gerelateerde bron van het type voldoet aan het effect en wordt de controle niet geactiveerd.If not specified, any related resource of type satisfies the effect and doesn't trigger the audit.
    • Maakt gebruik van dezelfde taal als de beleids regel voor de if -voor waarde, maar wordt voor elke gerelateerde resource afzonderlijk geëvalueerd.Uses the same language as the policy rule for the if condition, but is evaluated against each related resource individually.
    • Als een overeenkomende gerelateerde resource wordt geëvalueerd als waar, wordt het effect ervan afgehandeld en wordt de controle niet geactiveerd.If any matching related resource evaluates to true, the effect is satisfied and doesn't trigger the audit.
    • Kan [Field ()] gebruiken om de gelijkwaardigheid te controleren met waarden in de if -voor waarde.Can use [field()] to check equivalence with values in the if condition.
    • Kan bijvoorbeeld worden gebruikt om te controleren of de bovenliggende resource (in de if -voor waarde) zich op dezelfde resource locatie bevindt als de overeenkomende gerelateerde resource.For example, could be used to validate that the parent resource (in the if condition) is in the same resource location as the matching related resource.

AuditIfNotExists-voor beeldAuditIfNotExists example

Voor beeld: Hiermee wordt Virtual Machines geëvalueerd om te bepalen of de uitbrei ding van de uitschakeling van de anti-malware bestaat en wordt gecontroleerdExample: Evaluates Virtual Machines to determine if the Antimalware extension exists then audits when missing.

{
    "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"
                    }
                ]
            }
        }
    }
}

WeigerenDeny

Weigeren wordt gebruikt om te voor komen dat een resource aanvraag die voldoet aan gedefinieerde normen via een beleids definitie, de aanvraag mislukt.Deny is used to prevent a resource request that doesn't match defined standards through a policy definition and fails the request.

Evaluatie weigerenDeny evaluation

Wanneer u een overeenkomende resource in een resource manager-modus maakt of bijwerkt, voor komt u dat de aanvraag wordt verzonden naar de resource provider.When creating or updating a matched resource in a Resource Manager mode, deny prevents the request before being sent to the Resource Provider. De aanvraag wordt geretourneerd als een 403 (Forbidden) .The request is returned as a 403 (Forbidden). In de portal kan de verboden worden weer gegeven als een status voor de implementatie die door de beleids toewijzing is voor komen.In the portal, the Forbidden can be viewed as a status on the deployment that was prevented by the policy assignment. De resource provider beheert de evaluatie van de resource voor de modus van de resource provider.For a Resource Provider mode, the resource provider manages the evaluation of the resource.

Tijdens de evaluatie van bestaande resources zijn bronnen die overeenkomen met een beleids definitie voor weigeren als niet-compatibel gemarkeerd.During evaluation of existing resources, resources that match a deny policy definition are marked as non-compliant.

Eigenschappen weigerenDeny properties

Voor een resource manager-modus heeft het deny-effect geen aanvullende eigenschappen voor gebruik in de voor waarde voor de beleids definitie.For a Resource Manager mode, the deny effect doesn't have any additional properties for use in the then condition of the policy definition.

Voor de modus van de resource provider van Microsoft.Kubernetes.Data heeft het deny-effect de volgende aanvullende subeigenschappen van Details.For a Resource Provider mode of Microsoft.Kubernetes.Data, the deny effect has the following additional subproperties of details.

  • constraintTemplate (vereist)constraintTemplate (required)
    • De beperkings sjabloon CustomResourceDefinition (CRD) waarmee nieuwe beperkingen worden gedefinieerd.The Constraint template CustomResourceDefinition (CRD) that defines new Constraints. De sjabloon definieert de Rego Logic, het beperkings schema en de beperkings parameters die worden door gegeven via waarden van Azure Policy.The template defines the Rego logic, the Constraint schema, and the Constraint parameters that are passed via values from Azure Policy.
  • beperking (vereist)constraint (required)
    • De CRD-implementatie van de beperkings sjabloon.The CRD implementation of the Constraint template. Maakt gebruik van para meters die worden door gegeven via waarden als {{ .Values.<valuename> }} .Uses parameters passed via values as {{ .Values.<valuename> }}. In voor beeld 2 hieronder staan deze waarden {{ .Values.excludedNamespaces }} en {{ .Values.allowedContainerImagesRegex }} .In example 2 below, these values are {{ .Values.excludedNamespaces }} and {{ .Values.allowedContainerImagesRegex }}.
  • waarden (optioneel)values (optional)
    • Hiermee definieert u de para meters en waarden die moeten worden door gegeven aan de beperking.Defines any parameters and values to pass to the Constraint. Elke waarde moet bestaan in de beperkings sjabloon CRD.Each value must exist in the Constraint template CRD.

Voor beeld weigerenDeny example

Voor beeld 1: het afwijzen van de Resource Manager-modus gebruiken.Example 1: Using the deny effect for Resource Manager modes.

"then": {
    "effect": "deny"
}

Voor beeld 2: het weigeren van het effect van een resource provider modus van Microsoft.Kubernetes.Data .Example 2: Using the deny effect for a Resource Provider mode of Microsoft.Kubernetes.Data. De aanvullende informatie in Details definieert de beperkings sjabloon en CRD voor gebruik in Kubernetes om de toegestane container installatie kopieën te beperken.The additional information in details defines the Constraint template and CRD to use in Kubernetes to limit the allowed container images.

"then": {
    "effect": "deny",
    "details": {
        "constraintTemplate": "https://raw.githubusercontent.com/Azure/azure-policy/master/built-in-references/Kubernetes/container-allowed-images/template.yaml",
        "constraint": "https://raw.githubusercontent.com/Azure/azure-policy/master/built-in-references/Kubernetes/container-allowed-images/constraint.yaml",
        "values": {
            "allowedContainerImagesRegex": "[parameters('allowedContainerImagesRegex')]",
            "excludedNamespaces": "[parameters('excludedNamespaces')]"
        }
    }
}

DeployIfNotExistsDeployIfNotExists

Net als bij AuditIfNotExists voert een DeployIfNotExists-beleids definitie een sjabloon implementatie uit wanneer aan de voor waarde wordt voldaan.Similar to AuditIfNotExists, a DeployIfNotExists policy definition executes a template deployment when the condition is met.

Notitie

Geneste sjablonen worden ondersteund met deployIfNotExists, maar gekoppelde sjablonen worden momenteel niet ondersteund.Nested templates are supported with deployIfNotExists, but linked templates are currently not supported.

DeployIfNotExists-evaluatieDeployIfNotExists evaluation

DeployIfNotExists wordt ongeveer 15 minuten uitgevoerd nadat een resource provider een aanvraag voor het maken of bijwerken van een resource heeft afgehandeld en een status code voor geslaagd heeft geretourneerd.DeployIfNotExists runs about 15 minutes after a Resource Provider has handled a create or update resource request and has returned a success status code. Een sjabloon implementatie treedt op als er geen gerelateerde resources zijn of als de resources die zijn gedefinieerd door ExistenceCondition niet naar waar worden geëvalueerd.A template deployment occurs if there are no related resources or if the resources defined by ExistenceCondition don't evaluate to true. De duur van de implementatie is afhankelijk van de complexiteit van de resources die in de sjabloon zijn opgenomen.The duration of the deployment depends on the complexity of resources included in the template.

Tijdens een evaluatie cyclus worden beleids definities met een DeployIfNotExists-effect dat overeenkomt met resources, gemarkeerd als niet-compatibel, maar wordt er geen actie ondernomen voor die bron.During an evaluation cycle, policy definitions with a DeployIfNotExists effect that match resources are marked as non-compliant, but no action is taken on that resource. Bestaande niet-compatibele resources kunnen worden hersteld met een herstel taak.Existing non-compliant resources can be remediated with a remediation task.

DeployIfNotExists-eigenschappenDeployIfNotExists properties

De eigenschap Details van het effect DeployIfNotExists heeft alle subeigenschappen waarmee de gerelateerde resources worden gedefinieerd en de sjabloon implementatie moet worden uitgevoerd.The details property of the DeployIfNotExists effect has all the subproperties that define the related resources to match and the template deployment to execute.

  • Type (vereist)Type (required)

    • Hiermee geeft u het type gerelateerde resource op dat moet worden gezocht.Specifies the type of the related resource to match.
    • U begint met het ophalen van een resource onder de if -voor waarde resource en vervolgens query's in dezelfde resource groep als de indienings voorwaarde resource.Starts by trying to fetch a resource underneath the if condition resource, then queries within the same resource group as the if condition resource.
  • Naam (optioneel)Name (optional)

    • Hiermee geeft u de exacte naam op van de resource die moet worden vergeleken. het beleid zorgt ervoor dat er één specifieke resource wordt opgehaald in plaats van alle resources van het opgegeven type.Specifies the exact name of the resource to match and causes the policy to fetch one specific resource instead of all resources of the specified type.
    • Wanneer de voorwaarde waarden voor if. Field. type en then. Details. type overeenkomen, wordt de naam vereist en moet dit zijn [field('name')] .When the condition values for if.field.type and then.details.type match, then Name becomes required and must be [field('name')].
  • ResourceGroupName (optioneel)ResourceGroupName (optional)

    • Hiermee kan het vergelijken van de gerelateerde resource afkomstig zijn uit een andere resource groep.Allows the matching of the related resource to come from a different resource group.
    • Is niet van toepassing als type een resource is die onder de if -voor waarde-resource zou vallen.Doesn't apply if type is a resource that would be underneath the if condition resource.
    • De standaard waarde is de resource groep voor de indienings voorwaarde resource.Default is the if condition resource's resource group.
    • Als er een sjabloon implementatie wordt uitgevoerd, wordt deze geïmplementeerd in de resource groep van deze waarde.If a template deployment is executed, it's deployed in the resource group of this value.
  • ExistenceScope (optioneel)ExistenceScope (optional)

    • Toegestane waarden zijn abonnements -en ResourceGroup.Allowed values are Subscription and ResourceGroup.
    • Hiermee stelt u het bereik van waar de gerelateerde resource moet worden opgehaald om overeen te komen met.Sets the scope of where to fetch the related resource to match from.
    • Is niet van toepassing als type een resource is die onder de if -voor waarde-resource zou vallen.Doesn't apply if type is a resource that would be underneath the if condition resource.
    • Voor _ResourceGroup_zou de resource groep van de if -voor waarde worden beperkt of de resource groep die is opgegeven in ResourceGroupName.For ResourceGroup, would limit to the if condition resource's resource group or the resource group specified in ResourceGroupName.
    • Voor het _abonnement_voert u een query uit op het hele abonnement voor de gerelateerde resource.For Subscription, queries the entire subscription for the related resource.
    • De standaard waarde is ResourceGroup.Default is ResourceGroup.
  • ExistenceCondition (optioneel)ExistenceCondition (optional)

    • Als u niets opgeeft, wordt een gerelateerde bron van het type voldoet aan het effect en wordt de implementatie niet geactiveerd.If not specified, any related resource of type satisfies the effect and doesn't trigger the deployment.
    • Maakt gebruik van dezelfde taal als de beleids regel voor de if -voor waarde, maar wordt voor elke gerelateerde resource afzonderlijk geëvalueerd.Uses the same language as the policy rule for the if condition, but is evaluated against each related resource individually.
    • Als een overeenkomende gerelateerde resource wordt geëvalueerd als waar, wordt het effect voldaan en wordt de implementatie niet geactiveerd.If any matching related resource evaluates to true, the effect is satisfied and doesn't trigger the deployment.
    • Kan [Field ()] gebruiken om de gelijkwaardigheid te controleren met waarden in de if -voor waarde.Can use [field()] to check equivalence with values in the if condition.
    • Kan bijvoorbeeld worden gebruikt om te controleren of de bovenliggende resource (in de if -voor waarde) zich op dezelfde resource locatie bevindt als de overeenkomende gerelateerde resource.For example, could be used to validate that the parent resource (in the if condition) is in the same resource location as the matching related resource.
  • roleDefinitionIds (vereist)roleDefinitionIds (required)

    • Deze eigenschap moet een matrix van teken reeksen bevatten die overeenkomen met de op rollen gebaseerde toegangs beheer functie-ID die toegankelijk is voor het abonnement.This property must include an array of strings that match role-based access control role ID accessible by the subscription. Zie voor meer informatie herstel-beleids definitie configureren.For more information, see remediation - configure policy definition.
  • DeploymentScope (optioneel)DeploymentScope (optional)

    • Toegestane waarden zijn abonnements -en ResourceGroup.Allowed values are Subscription and ResourceGroup.
    • Hiermee stelt u het type implementatie in dat moet worden geactiveerd.Sets the type of deployment to be triggered. Met het abonnement wordt een implementatie op abonnements niveauaangegeven. ResourceGroup wijst op een implementatie naar een resource groep.Subscription indicates a deployment at subscription level, ResourceGroup indicates a deployment to a resource group.
    • Een locatie -eigenschap moet worden opgegeven in de implementatie bij het gebruik van implementaties op abonnements niveau.A location property must be specified in the Deployment when using subscription level deployments.
    • De standaard waarde is ResourceGroup.Default is ResourceGroup.
  • Implementatie (vereist)Deployment (required)

    • Deze eigenschap moet de volledige sjabloon implementatie bevatten, aangezien deze wordt door gegeven aan de Microsoft.Resources/deployments put-API.This property should include the full template deployment as it would be passed to the Microsoft.Resources/deployments PUT API. Zie implementaties rest APIvoor meer informatie.For more information, see the Deployments REST API.

    Notitie

    Alle functies in de implementatie -eigenschap worden geëvalueerd als onderdelen van de sjabloon, niet het beleid.All functions inside the Deployment property are evaluated as components of the template, not the policy. De uitzonde ring is de eigenschap para meters waarmee waarden van het beleid worden door gegeven aan de sjabloon.The exception is the parameters property that passes values from the policy to the template. De waarde in deze sectie onder een sjabloon parameter naam wordt gebruikt om deze waarde door te geven (Zie FullDbName in het DeployIfNotExists-voor beeld).The value in this section under a template parameter name is used to perform this value passing (see fullDbName in the DeployIfNotExists example).

DeployIfNotExists-voor beeldDeployIfNotExists example

Voor beeld: Hiermee worden SQL Server data bases geëvalueerd om te bepalen of transparentDataEncryption is ingeschakeld.Example: Evaluates SQL Server databases to determine if transparentDataEncryption is enabled. Als dat niet het geval is, wordt er een implementatie uitgevoerd om in te scha kelen.If not, then a deployment to enable is executed.

"if": {
    "field": "type",
    "equals": "Microsoft.Sql/servers/databases"
},
"then": {
    "effect": "DeployIfNotExists",
    "details": {
        "type": "Microsoft.Sql/servers/databases/transparentDataEncryption",
        "name": "current",
        "roleDefinitionIds": [
            "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/{roleGUID}",
            "/providers/Microsoft.Authorization/roleDefinitions/{builtinroleGUID}"
        ],
        "existenceCondition": {
            "field": "Microsoft.Sql/transparentDataEncryption.status",
            "equals": "Enabled"
        },
        "deployment": {
            "properties": {
                "mode": "incremental",
                "template": {
                    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
                    "contentVersion": "1.0.0.0",
                    "parameters": {
                        "fullDbName": {
                            "type": "string"
                        }
                    },
                    "resources": [{
                        "name": "[concat(parameters('fullDbName'), '/current')]",
                        "type": "Microsoft.Sql/servers/databases/transparentDataEncryption",
                        "apiVersion": "2014-04-01",
                        "properties": {
                            "status": "Enabled"
                        }
                    }]
                },
                "parameters": {
                    "fullDbName": {
                        "value": "[field('fullName')]"
                    }
                }
            }
        }
    }
}

UitgeschakeldDisabled

Dit effect is handig voor het testen van situaties of voor wanneer de beleids definitie van invloed is op de para meter.This effect is useful for testing situations or for when the policy definition has parameterized the effect. Deze flexibiliteit maakt het mogelijk een enkele toewijzing uit te scha kelen in plaats van alle toewijzingen van dat beleid uit te scha kelen.This flexibility makes it possible to disable a single assignment instead of disabling all of that policy's assignments.

Een alternatief voor het uitgeschakelde effect is enforcementMode, dat is ingesteld op de beleids toewijzing.An alternative to the Disabled effect is enforcementMode, which is set on the policy assignment. Wanneer enforcementMode is uitgeschakeld, worden er nog steeds resources geëvalueerd.When enforcementMode is Disabled, resources are still evaluated. Logboek registratie, zoals activiteiten logboeken, en het beleids effect vindt niet plaats.Logging, such as Activity logs, and the policy effect don't occur. Zie beleids toewijzing-afdwingings modusvoor meer informatie.For more information, see policy assignment - enforcement mode.

EnforceOPAConstraintEnforceOPAConstraint

Dit effect wordt gebruikt in combi natie met de beleids definitie modus van Microsoft.Kubernetes.Data .This effect is used with a policy definition mode of Microsoft.Kubernetes.Data. Het wordt gebruikt voor het door geven van Gate Keeping-regels voor toegangs beheer die zijn gedefinieerd met opa CONSTRAINT Framework voor het openen van beleids agent (opa) voor Kubernetes-clusters in Azure.It's used to pass Gatekeeper v3 admission control rules defined with OPA Constraint Framework to Open Policy Agent (OPA) to Kubernetes clusters on Azure.

Notitie

Azure Policy voor Kubernetes is in Preview en ondersteunt alleen Linux-knooppunt Pools en ingebouwde beleids definities.Azure Policy for Kubernetes is in Preview and only supports Linux node pools and built-in policy definitions. Ingebouwde beleids definities bevinden zich in de categorie Kubernetes .Built-in policy definitions are in the Kubernetes category. De beperkte preview-beleids definities met EnforceOPAConstraint -effect en de gerelateerde Kubernetes-service categorie worden afgeschaft.The limited preview policy definitions with EnforceOPAConstraint effect and the related Kubernetes Service category are being deprecated. Gebruik in plaats daarvan de effecten controleren en weigeren met de resource provider modus Microsoft.Kubernetes.Data .Instead, use the effects audit and deny with Resource Provider mode Microsoft.Kubernetes.Data.

EnforceOPAConstraint-evaluatieEnforceOPAConstraint evaluation

De open Policy Agent Admission controller evalueert elke nieuwe aanvraag op het cluster in realtime.The Open Policy Agent admission controller evaluates any new request on the cluster in real time. Elke 15 minuten wordt een volledige scan van het cluster voltooid en worden de resultaten gerapporteerd aan Azure Policy.Every 15 minutes, a full scan of the cluster is completed and the results reported to Azure Policy.

EnforceOPAConstraint-eigenschappenEnforceOPAConstraint properties

De eigenschap Details van het effect EnforceOPAConstraint heeft de subeigenschappen waarmee de gate keeper v3 Admission Control-regel wordt beschreven.The details property of the EnforceOPAConstraint effect has the subproperties that describe the Gatekeeper v3 admission control rule.

  • constraintTemplate (vereist)constraintTemplate (required)
    • De beperkings sjabloon CustomResourceDefinition (CRD) waarmee nieuwe beperkingen worden gedefinieerd.The Constraint template CustomResourceDefinition (CRD) that defines new Constraints. De sjabloon definieert de Rego Logic, het beperkings schema en de beperkings parameters die worden door gegeven via waarden van Azure Policy.The template defines the Rego logic, the Constraint schema, and the Constraint parameters that are passed via values from Azure Policy.
  • beperking (vereist)constraint (required)
    • De CRD-implementatie van de beperkings sjabloon.The CRD implementation of the Constraint template. Maakt gebruik van para meters die worden door gegeven via waarden als {{ .Values.<valuename> }} .Uses parameters passed via values as {{ .Values.<valuename> }}. In het onderstaande voor beeld zijn deze waarden {{ .Values.cpuLimit }} en {{ .Values.memoryLimit }} .In the example below, these values are {{ .Values.cpuLimit }} and {{ .Values.memoryLimit }}.
  • waarden (optioneel)values (optional)
    • Hiermee definieert u de para meters en waarden die moeten worden door gegeven aan de beperking.Defines any parameters and values to pass to the Constraint. Elke waarde moet bestaan in de beperkings sjabloon CRD.Each value must exist in the Constraint template CRD.

EnforceOPAConstraint-voor beeldEnforceOPAConstraint example

Voor beeld: gate keeper v3 Admission Control regel voor het instellen van limieten voor container-CPU en geheugen bronnen in Kubernetes.Example: Gatekeeper v3 admission control rule to set container CPU and memory resource limits in Kubernetes.

"if": {
    "allOf": [
        {
            "field": "type",
            "in": [
                "Microsoft.ContainerService/managedClusters",
                "AKS Engine"
            ]
        },
        {
            "field": "location",
            "equals": "westus2"
        }
    ]
},
"then": {
    "effect": "enforceOPAConstraint",
    "details": {
        "constraintTemplate": "https://raw.githubusercontent.com/Azure/azure-policy/master/built-in-references/Kubernetes/container-resource-limits/template.yaml",
        "constraint": "https://raw.githubusercontent.com/Azure/azure-policy/master/built-in-references/Kubernetes/container-resource-limits/constraint.yaml",
        "values": {
            "cpuLimit": "[parameters('cpuLimit')]",
            "memoryLimit": "[parameters('memoryLimit')]"
        }
    }
}

EnforceRegoPolicyEnforceRegoPolicy

Dit effect wordt gebruikt in combi natie met de beleids definitie modus van Microsoft.ContainerService.Data .This effect is used with a policy definition mode of Microsoft.ContainerService.Data. Het wordt gebruikt voor het door geven van de regels voor toegangs beheer van gate keeper v2 die zijn gedefinieerd met Rego voor het openen van beleids agent (opa) op de Azure Kubernetes-service.It's used to pass Gatekeeper v2 admission control rules defined with Rego to Open Policy Agent (OPA) on Azure Kubernetes Service.

Notitie

Azure Policy voor Kubernetes is in Preview en ondersteunt alleen Linux-knooppunt Pools en ingebouwde beleids definities.Azure Policy for Kubernetes is in Preview and only supports Linux node pools and built-in policy definitions. Ingebouwde beleids definities bevinden zich in de categorie Kubernetes .Built-in policy definitions are in the Kubernetes category. De beperkte preview-beleids definities met EnforceRegoPolicy -effect en de gerelateerde Kubernetes-service categorie worden afgeschaft.The limited preview policy definitions with EnforceRegoPolicy effect and the related Kubernetes Service category are being deprecated. Gebruik in plaats daarvan de effecten controleren en weigeren met de resource provider modus Microsoft.Kubernetes.Data .Instead, use the effects audit and deny with Resource Provider mode Microsoft.Kubernetes.Data.

EnforceRegoPolicy-evaluatieEnforceRegoPolicy evaluation

De open Policy Agent Admission controller evalueert elke nieuwe aanvraag op het cluster in realtime.The Open Policy Agent admission controller evaluates any new request on the cluster in real time. Elke 15 minuten wordt een volledige scan van het cluster voltooid en worden de resultaten gerapporteerd aan Azure Policy.Every 15 minutes, a full scan of the cluster is completed and the results reported to Azure Policy.

EnforceRegoPolicy-eigenschappenEnforceRegoPolicy properties

De eigenschap Details van het effect EnforceRegoPolicy heeft de subeigenschappen waarmee de gate keeper v2 Admission Control-regel wordt beschreven.The details property of the EnforceRegoPolicy effect has the subproperties that describe the Gatekeeper v2 admission control rule.

  • policyId (vereist)policyId (required)
    • Een unieke naam die als een para meter wordt door gegeven aan de Rego Admission Control-regel.A unique name passed as a parameter to the Rego admission control rule.
  • beleid (vereist)policy (required)
    • Hiermee geeft u de URI op van de Rego Admission Control-regel.Specifies the URI of the Rego admission control rule.
  • policyParameters (optioneel)policyParameters (optional)
    • Hiermee worden alle para meters en waarden gedefinieerd die moeten worden door gegeven aan het Rego-beleid.Defines any parameters and values to pass to the rego policy.

EnforceRegoPolicy-voor beeldEnforceRegoPolicy example

Voor beeld: gate keeper v2 Admission Control regel om alleen de opgegeven container installatie kopieën in AKS toe te staan.Example: Gatekeeper v2 admission control rule to allow only the specified container images in AKS.

"if": {
    "allOf": [
        {
            "field": "type",
            "equals": "Microsoft.ContainerService/managedClusters"
        },
        {
            "field": "location",
            "equals": "westus2"
        }
    ]
},
"then": {
    "effect": "EnforceRegoPolicy",
    "details": {
        "policyId": "ContainerAllowedImages",
        "policy": "https://raw.githubusercontent.com/Azure/azure-policy/master/built-in-references/KubernetesService/container-allowed-images/limited-preview/gatekeeperpolicy.rego",
        "policyParameters": {
            "allowedContainerImagesRegex": "[parameters('allowedContainerImagesRegex')]"
        }
    }
}

WijzigenModify

Modify wordt gebruikt om tags toe te voegen, bij te werken of te verwijderen tijdens het maken of bijwerken van een resource.Modify is used to add, update, or remove tags on a resource during creation or update. Een voor beeld hiervan is het bijwerken van tags op resources, zoals costCenter.A common example is updating tags on resources such as costCenter. Een wijzigings beleid moet altijd zijn mode ingesteld op geïndexeerd tenzij de doel resource een resource groep is.A Modify policy should always have mode set to Indexed unless the target resource is a resource group. Bestaande niet-compatibele resources kunnen worden hersteld met een herstel taak.Existing non-compliant resources can be remediated with a remediation task. Eén wijzigings regel kan elk wille keurig aantal bewerkingen hebben.A single Modify rule can have any number of operations.

Belangrijk

Modify is momenteel alleen voor gebruik met tags.Modify is currently only for use with tags. Als u labels beheert, is het raadzaam om wijzigen te gebruiken in plaats van toevoegen als wijzigen biedt extra bewerkings typen en de mogelijkheid om bestaande resources te herstellen.If you are managing tags, it's recommended to use Modify instead of Append as Modify provides additional operation types and the ability to remediate existing resources. Toevoegen wordt echter aanbevolen als u geen beheerde identiteit kunt maken.However, Append is recommended if you aren't able to create a managed identity.

Evaluatie wijzigenModify evaluation

Met modify worden geëvalueerd voordat de aanvraag wordt verwerkt door een resource provider tijdens het maken of bijwerken van een resource.Modify evaluates before the request gets processed by a Resource Provider during the creation or updating of a resource. Met modify worden tags voor een resource toegevoegd of bijgewerkt wanneer wordt voldaan aan de indienings voorwaarde van de beleids regel.Modify adds or updates tags on a resource when the if condition of the policy rule is met.

Wanneer een beleids definitie die gebruikmaakt van het Modify-effect, wordt uitgevoerd als onderdeel van een evaluatie cyclus, worden er geen wijzigingen aangebracht in resources die al bestaan.When a policy definition using the Modify effect is run as part of an evaluation cycle, it doesn't make changes to resources that already exist. In plaats daarvan wordt er een resource gemarkeerd die voldoet aan de if -voor waarde als niet-compatibel.Instead, it marks any resource that meets the if condition as non-compliant.

Eigenschappen wijzigenModify properties

De eigenschap Details van het effect Modify heeft alle subeigenschappen die de machtigingen definiëren die nodig zijn voor herstel en de bewerkingen die worden gebruikt om label waarden toe te voegen, bij te werken of te verwijderen.The details property of the Modify effect has all the subproperties that define the permissions needed for remediation and the operations used to add, update, or remove tag values.

  • roleDefinitionIds (vereist)roleDefinitionIds (required)
    • Deze eigenschap moet een matrix van teken reeksen bevatten die overeenkomen met de op rollen gebaseerde toegangs beheer functie-ID die toegankelijk is voor het abonnement.This property must include an array of strings that match role-based access control role ID accessible by the subscription. Zie voor meer informatie herstel-beleids definitie configureren.For more information, see remediation - configure policy definition.
    • De gedefinieerde rol moet alle bewerkingen bevatten die zijn toegewezen aan de rol Inzender .The role defined must include all operations granted to the Contributor role.
  • conflictEffect (optioneel)conflictEffect (optional)
    • Hiermee wordt bepaald welke beleids definitie ' WINS ' in het geval van meer dan één beleids definitie dezelfde eigenschap wijzigt.Determines which policy definition "wins" in the event that more than one policy definition modifies the same property.
      • Voor nieuwe of bijgewerkte bronnen heeft de beleids definitie met weigeren prioriteit.For new or updated resources, the policy definition with deny takes precedence. Beleids definities met controle alle bewerkingenovers Laan.Policy definitions with audit skip all operations. Als er meer dan één beleids definitie is _geweigerd, wordt_de aanvraag geweigerd als een conflict.If more than one policy definition has deny, the request is denied as a conflict. Als alle beleids definities _controle_hebben, worden geen van de bewerkingen van de conflicterende beleids definities verwerkt.If all policy definitions have audit, then none of the operations of the conflicting policy definitions are processed.
      • Voor bestaande bronnen geldt dat als er meerdere beleids regels zijn geweigerd, de nalevings status _conflicterend_is.For existing resources, if more than one policy definition has deny, the compliance status is Conflict. Als een of minder beleids definities zijn geweigerd, retourneert elke toewijzing een nalevings status van niet-compatibel.If one or fewer policy definitions have deny, each assignment returns a compliance status of Non-compliant.
    • Beschik bare waarden: controleren, weigeren, uitgeschakeld.Available values: audit, deny, disabled.
    • De standaard waarde is weigeren.Default value is deny.
  • bewerkingen (vereist)operations (required)
    • Een matrix met alle label bewerkingen die moeten worden voltooid voor overeenkomende resources.An array of all tag operations to be completed on matching resources.
    • Eigenschappen:Properties:
      • bewerking (vereist)operation (required)
        • Definieert welke actie moet worden uitgevoerd op een overeenkomende resource.Defines what action to take on a matching resource. Opties zijn: addOrReplace, toevoegen, verwijderen.Options are: addOrReplace, Add, Remove. Een gezichte lijkt op Append het toevoegen van het effect.Add behaves similar to the Append effect.
      • veld (vereist)field (required)
        • Het label dat moet worden toegevoegd, vervangen of verwijderd.The tag to add, replace, or remove. Label namen moeten voldoen aan dezelfde naam Conventie voor andere velden.Tag names must adhere to the same naming convention for other fields.
      • waarde (optioneel)value (optional)
        • De waarde waarop de tag moet worden ingesteld.The value to set the tag to.
        • Deze eigenschap is vereist als operation de bewerking addOrReplace of _add_is.This property is required if operation is addOrReplace or Add.

Bewerkingen wijzigenModify operations

De eigenschap array Operations maakt het mogelijk verschillende labels op verschillende manieren te wijzigen vanuit één beleids definitie.The operations property array makes it possible to alter several tags in different ways from a single policy definition. Elke bewerking bestaat uit bewerking-, veld-en waarde -eigenschappen.Each operation is made up of operation, field, and value properties. Bewerking bepaalt wat de herstel taak doet op de tags, het veld bepaalt welke tag wordt gewijzigd en waarde definieert de nieuwe instelling voor die tag.Operation determines what the remediation task does to the tags, field determines which tag is altered, and value defines the new setting for that tag. In het onderstaande voor beeld wordt de volgende tag gewijzigd:The example below makes the following tag changes:

  • Hiermee stelt environment u de tag in op test, zelfs als deze al met een andere waarde bestaat.Sets the environment tag to "Test", even if it already exists with a different value.
  • Hiermee verwijdert u de tag TempResource .Removes the tag TempResource.
  • Hiermee stelt Dept u het label in op de beleids parameter voor de beleids toewijzing geconfigureerde afdeling .Sets the Dept tag to the policy parameter DeptName configured on the policy assignment.
"details": {
    ...
    "operations": [
        {
            "operation": "addOrReplace",
            "field": "tags['environment']",
            "value": "Test"
        },
        {
            "operation": "Remove",
            "field": "tags['TempResource']",
        },
        {
            "operation": "addOrReplace",
            "field": "tags['Dept']",
            "value": "[parameters('DeptName')]"
        }
    ]
}

De eigenschap Operation heeft de volgende opties:The operation property has the following options:

BewerkingOperation BeschrijvingDescription
addOrReplaceaddOrReplace Voegt de gedefinieerde tag en waarde toe aan de resource, zelfs als de tag al bestaat met een andere waarde.Adds the defined tag and value to the resource, even if the tag already exists with a different value.
ToevoegenAdd Voegt de gedefinieerde tag en waarde toe aan de resource.Adds the defined tag and value to the resource.
VerwijderenRemove Hiermee verwijdert u de gedefinieerde tag uit de resource.Removes the defined tag from the resource.

Voor beelden wijzigenModify examples

Voor beeld 1: Voeg de environment tag toe en vervang bestaande environment Tags door ' test ':Example 1: Add the environment tag and replace existing environment tags with "Test":

"then": {
    "effect": "modify",
    "details": {
        "roleDefinitionIds": [
            "/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c"
        ],
        "operations": [
            {
                "operation": "addOrReplace",
                "field": "tags['environment']",
                "value": "Test"
            }
        ]
    }
}

Voor beeld 2: de env tag verwijderen en de environment tag toevoegen of bestaande environment Tags vervangen door een waarde met para meters:Example 2: Remove the env tag and add the environment tag or replace existing environment tags with a parameterized value:

"then": {
    "effect": "modify",
    "details": {
        "roleDefinitionIds": [
            "/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c"
        ],
        "conflictEffect": "deny",
        "operations": [
            {
                "operation": "Remove",
                "field": "tags['env']"
            },
            {
                "operation": "addOrReplace",
                "field": "tags['environment']",
                "value": "[parameters('tagValue')]"
            }
        ]
    }
}

Beleids definities voor lagenLayering policy definitions

Een resource kan worden beïnvloed door meerdere toewijzingen.A resource may be impacted by several assignments. Deze toewijzingen kunnen zich in hetzelfde bereik bevinden of in verschillende bereiken.These assignments may be at the same scope or at different scopes. Voor elk van deze toewijzingen is waarschijnlijk ook een ander effect gedefinieerd.Each of these assignments is also likely to have a different effect defined. De voor waarde en het effect van elk beleid worden onafhankelijk geëvalueerd.The condition and effect for each policy is independently evaluated. Bijvoorbeeld:For example:

  • Beleid 1Policy 1
    • Hiermee wordt de resource locatie beperkt tot ' westelijke 'Restricts resource location to 'westus'
    • Toegewezen aan abonnement AAssigned to subscription A
    • Effect weigerenDeny effect
  • Beleid 2Policy 2
    • Hiermee wordt de resource locatie beperkt tot oostusRestricts resource location to 'eastus'
    • Toegewezen aan resource groep B in abonnement AAssigned to resource group B in subscription A
    • Controle-effectAudit effect

Deze instelling zou resulteren in het volgende resultaat:This setup would result in the following outcome:

  • Resources die al deel uitmaken van resource groep B in Oost-out, voldoen aan beleid 2 en niet-compatibel met beleid 1Any resource already in resource group B in 'eastus' is compliant to policy 2 and non-compliant to policy 1
  • Resources die zich al in resource groep B bevindt, worden niet conform ' Oost-', niet-compatibel met beleid 2 en voldoen niet aan beleid 1 als dit niet in ' westelijke ' isAny resource already in resource group B not in 'eastus' is non-compliant to policy 2 and non-compliant to policy 1 if not in 'westus'
  • Nieuwe resources in abonnement die niet in ' westus ' voor komen, worden geweigerd door beleid 1Any new resource in subscription A not in 'westus' is denied by policy 1
  • Nieuwe resources in abonnement A en resource groep B in westus worden gemaakt en voldoen niet aan het beleid 2Any new resource in subscription A and resource group B in 'westus' is created and non-compliant on policy 2

Als zowel beleid 1 als beleid 2 gevolgen heeft voor de weigering, verandert de situatie in:If both policy 1 and policy 2 had effect of deny, the situation changes to:

  • Een resource die al deel uitmaakt van resource groep B is niet compatibel met het beleid 2Any resource already in resource group B not in 'eastus' is non-compliant to policy 2
  • Resources die zich al in resource groep B bevindt, zijn niet compatibel met beleid 1Any resource already in resource group B not in 'westus' is non-compliant to policy 1
  • Nieuwe resources in abonnement die niet in ' westus ' voor komen, worden geweigerd door beleid 1Any new resource in subscription A not in 'westus' is denied by policy 1
  • Nieuwe resources in resource groep B van abonnement A worden geweigerdAny new resource in resource group B of subscription A is denied

Elke toewijzing wordt afzonderlijk geëvalueerd.Each assignment is individually evaluated. Daarom is er geen kans dat een resource door een hiaat wordt geslipd van verschillen in het bereik.As such, there isn't an opportunity for a resource to slip through a gap from differences in scope. Het resultaat van het beperken van beleids definities voor lagen wordt als cumulatief het meest beperkendbeschouwd.The net result of layering policy definitions is considered to be cumulative most restrictive. Als voor het beleid 1 en 2 bijvoorbeeld een weigering is ingesteld, wordt een bron geblokkeerd door de beleids definities die elkaar overlappen en conflicteren.As an example, if both policy 1 and 2 had a deny effect, a resource would be blocked by the overlapping and conflicting policy definitions. Als u de resource nog steeds moet maken in het doel bereik, kunt u de uitsluitingen voor elke toewijzing controleren om te controleren of de juiste beleids toewijzingen van invloed zijn op de juiste bereiken.If you still need the resource to be created in the target scope, review the exclusions on each assignment to validate the right policy assignments are affecting the right scopes.

Volgende stappenNext steps