Azure-beleidspatroon: veldeigenschappenAzure Policy pattern: field properties

De veldoperator evalueert de opgegeven eigenschap of alias naar een opgegeven waarde voor een bepaalde voorwaarde.The field operator evaluates the specified property or alias to a provided value for a given condition.

VoorbeeldbeleidsdefinitieSample policy definition

Met deze beleidsdefinitie u toegestane regio's definiëren die voldoen aan de geolocatievereisten van uw organisatie.This policy definition enables you to define allowed regions that meet your organization's geo-location requirements. De toegestane resources worden gedefinieerd in parameterlijstAllowedLocations (array).The allowed resources are defined in parameter listOfAllowedLocations (array). Resources die overeenkomen met de definitie worden geweigerd.Resources that match the definition are denied.

{
   "properties": {
       "displayName": "Allowed locations",
       "policyType": "BuiltIn",
       "description": "This policy enables you to restrict the locations your organization can specify when deploying resources. Use to enforce your geo-compliance requirements. Excludes resource groups, Microsoft.AzureActiveDirectory/b2cDirectories, and resources that use the 'global' region.",
       "mode": "Indexed",
       "parameters": {
           "listOfAllowedLocations": {
               "type": "Array",
               "metadata": {
                   "description": "The list of locations that can be specified when deploying resources.",
                   "strongType": "location",
                   "displayName": "Allowed locations"
               }
           }
       },
       "policyRule": {
           "if": {
               "allOf": [{
                       "field": "location",
                       "notIn": "[parameters('listOfAllowedLocations')]"
                   },
                   {
                       "field": "location",
                       "notEquals": "global"
                   },
                   {
                       "field": "type",
                       "notEquals": "Microsoft.AzureActiveDirectory/b2cDirectories"
                   }
               ]
           },
           "then": {
               "effect": "Deny"
           }
       }
   }
}

UitlegExplanation

   "if": {
       "allOf": [{
               "field": "location",
               "notIn": "[parameters('listOfAllowedLocations')]"
           },
           {
               "field": "location",
               "notEquals": "global"
           },
           {
               "field": "type",
               "notEquals": "Microsoft.AzureActiveDirectory/b2cDirectories"
           }
       ]
   },
   "then": {
       "effect": "Deny"
   }
}

De veldoperator wordt drie keer gebruikt binnen de logische operator allOf.The field operator is used three times within the logical operator allOf.

  • Het eerste gebruik location evalueert de eigenschap met de voorwaarde nietIn aan de parameter listOfAllowedLocations.The first use evaluates the location property with the notIn condition to the listOfAllowedLocations parameter. notIn werkt zoals het verwacht een array en de parameter is een array.notIn works as it expects an array and the parameter is an array. Als location de van de gemaakte of bijgewerkte resource niet in de goedgekeurde lijst staat, wordt dit element geëvalueerd in true.If the location of the created or updated resource isn't in the approved list, this element evaluates to true.
  • Het tweede gebruik evalueert ook de location eigenschap, maar gebruikt de voorwaarde notEquals om te zien of de resource _globaal_is.The second use also evaluates the location property, but uses the notEquals condition to see if the resource is global. Als location de van de gemaakte of bijgewerkte resource niet _globaal_is, wordt dit element geëvalueerd in true.If the location of the created or updated resource isn't global, this element evaluates to true.
  • Het laatste gebruik type evalueert de eigenschap en gebruikt de voorwaarde notEquals om het resourcetype te valideren, niet Microsoft.AzureActiveDirectory/b2cDirectories.The last use evaluates the type property and uses the notEquals condition to validate the resource type isn't Microsoft.AzureActiveDirectory/b2cDirectories. Als dit niet het geval is, wordt dit element geëvalueerd.If it isn't, this element evaluates to true.

Als alle drie de voorwaardeverklaringen in de logische operator allOf true evalueren, wordt het maken of bijwerken van de resource geblokkeerd door Azure Policy.If all three condition statements in the allOf logical operator evaluate true, the resource creation or update is blocked by Azure Policy.

Volgende stappenNext steps