Azure-beleidspatroon: de operator van het aantalAzure Policy pattern: the count operator

De operator van de [ * ] telling evalueert leden van een alias.The count operator evaluates members of a [*] alias.

VoorbeeldbeleidsdefinitieSample policy definition

Met deze beleidsdefinitie worden netwerkbeveiligingsgroepen gecontroleerd die zijn geconfigureerd om binnenkomend Extern bureaublad-protocol (RDP)-verkeer toe te staan.This policy definition audits Network Security Groups configured to allow inbound Remote Desktop Protocol (RDP) traffic.

{
   "properties": {
       "mode": "all",
       "displayName": "Audit Network Security Groups for RDP",
       "description": "This policy audits NSGs with RDP ports enabled",
       "policyRule": {
           "if": {
               "allOf": [{
                       "field": "type",
                       "equals": "Microsoft.Network/networkSecurityGroups"
                   },
                   {
                       "count": {
                           "field": "Microsoft.Network/networkSecurityGroups/securityRules[*]",
                           "where": {
                               "allOf": [{
                                       "field": "Microsoft.Network/networkSecurityGroups/securityRules[*].direction",
                                       "equals": "Inbound"
                                   },
                                   {
                                       "field": "Microsoft.Network/networkSecurityGroups/securityRules[*].access",
                                       "equals": "Allow"
                                   },
                                   {
                                       "field": "Microsoft.Network/networkSecurityGroups/securityRules[*].destinationPortRange",
                                       "equals": "3389"
                                   }
                               ]
                           }
                       },
                       "greater": 0
                   }
               ]
           },
           "then": {
               "effect": "audit"
           }
       }
   }
}

UitlegExplanation

De kerncomponenten van de teloperator zijn veld, _waar_en de voorwaarde.The core components of the count operator are field, where, and the condition. Elk wordt gemarkeerd in het onderstaande fragment.Each is highlighted in the snippet below.

  • veld vertelt tellen welke alias leden van moeten evalueren.field tells count which alias to evaluate members of. Hier kijken we naar de [ * securityRules alias array van de netwerkbeveiligingsgroep.Here, we're looking at the securityRules[*] alias array of the network security group.
  • waar de beleidstaal wordt gebruikt om te bepalen welke arrayleden aan de criteria voldoen.where uses the policy language to define which array members meet the criteria. In dit voorbeeld groepeert een alleLogische operator drie verschillende conditie-evaluaties van aliasarray-eigenschappen: richting, _toegang_en destinationPortRange.In this example, an allOf logical operator groups three different condition evaluations of alias array properties: direction, access, and destinationPortRange.
  • De telvoorwaarde in dit voorbeeld is groter.The count condition in this example is greater. Count evalueert als waar wanneer een of meer leden van de aliasarray overeenkomen met de waar-clausule.Count evaluates as true when one or more members of the alias array matches the where clause.
{
   "count": {
       "field": "Microsoft.Network/networkSecurityGroups/securityRules[*]",
       "where": {
           "allOf": [{
                   "field": "Microsoft.Network/networkSecurityGroups/securityRules[*].direction",
                   "equals": "Inbound"
               },
               {
                   "field": "Microsoft.Network/networkSecurityGroups/securityRules[*].access",
                   "equals": "Allow"
               },
               {
                   "field": "Microsoft.Network/networkSecurityGroups/securityRules[*].destinationPortRange",
                   "equals": "3389"
               }
           ]
       }
   },
   "greater": 0
}

Volgende stappenNext steps