Model Azure Policy: Vlastnosti pole

Operátor pole vyhodnotí zadanou vlastnost nebo alias na zadanou hodnotu pro danou podmínku.

Ukázková definice zásady

Tato definice zásad umožňuje definovat povolené oblasti, které splňují požadavky vaší organizace na geografické umístění. Povolené prostředky jsou definovány v seznamu parametrůOfAllowedLocations (pole). Prostředky, které odpovídají definici, jsou odepřeny.

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

Vysvětlení

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

Operátor pole se používá třikrát v rámci logického operátoru allOf.

  • První použití vyhodnotí location vlastnost s notIn podmínkou na listOfAllowedLocations parametr. notIn funguje tak, jak očekává pole a parametr je pole. location Pokud vytvořený nebo aktualizovaný prostředek není ve schváleném seznamu, vyhodnotí se tento prvek jako true.
  • Druhé použití také vyhodnotí location vlastnost, ale pomocí podmínky notEquals zjistí, jestli je prostředek globální. location Pokud vytvořený nebo aktualizovaný prostředek není globální, vyhodnotí se tento prvek jako pravdivý.
  • Poslední použití vyhodnotí type vlastnost a použije podmínku notEquals k ověření typu prostředku není Microsoft.AzureActiveDirectory/b2cDirectories. Pokud tomu tak není, vyhodnotí se tento prvek jako true.

Pokud se všechny tři příkazy podmínky v logickém operátoru allOf vyhodnotí jako true, azure Policy zablokuje vytvoření nebo aktualizaci prostředku.

Další kroky