Share via


Azure Policy-patroon: veldeigenschappen

De operator veld evalueert de opgegeven eigenschap of alias voor een waarde voor een bepaalde voorwaarde.

Voorbeeld van beleidsdefinitie

Met deze beleidsdefinitie kunt u toegestane regio's vastleggen die voldoen aan de geografische vereisten van uw organisatie. De toegestane resources worden gedefinieerd in de parameter listOfAllowedLocations (matrix). Resources die voldoen aan de definitie worden geweigerd.

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

Uitleg

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

De operator veld wordt drie keer gebruikt binnen de logische operator allOf.

  • Het eerste gebruik evalueert de location-eigenschap met de voorwaarde notIn voor de parameter listOfAllowedLocations. notIn werkt aangezien het een matrix verwacht en de parameter een matrix is. Als de location van de gemaakte of bijgewerkte resource zich niet in de goedgekeurde lijst bevindt, wordt dit element als waar beoordeeld.
  • Het tweede gebruik evalueert ook de location-eigenschap, maar gebruikt de voorwaarde notEquals om te zien of de resource globaal is. Als de location van de gemaakte of bijgewerkte resource niet globaal is, wordt dit element als waar beoordeeld.
  • Het laatste gebruik evalueert de type-eigenschap en gebruikt de voorwaarde notEquals om te controleren dat het resourcetype niet Microsoft.AzureActiveDirectory/b2cDirectories is. Als dat niet het geval is, wordt dit element als waar beoordeeld.

Als aan alle drie voorwaarden in de logische operator allOf voldaan wordt, dan wordt het maken of bijwerken van de resource geblokkeerd door Azure Policy.

Volgende stappen