Megosztás a következőn keresztül:


Azure Policy-minta: mezőtulajdonságok

A mező operátor a megadott tulajdonságot vagy aliast egy adott feltétel megadott értékére értékeli ki.

Minta szabályzatdefiníció

Ez a szabályzatdefiníció lehetővé teszi, hogy olyan engedélyezett régiókat határozzon meg, amelyek megfelelnek a szervezet földrajzi hely követelményeinek. Az engedélyezett erőforrásokat a paraméterlistaOfAllowedLocations (tömb) határozza meg. A definíciónak megfelelő erőforrásokat a rendszer megtagadja.

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

Magyarázat

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

A mező operátort háromszor használja a logikai operátorallOf függvénye.

  • Az első használat a notIn feltétellel kiértékeli a locationtulajdonságot a listOfAllowedLocations paraméterre. a notIn úgy működik, ahogy egy tömböt vár, és a paraméter egy tömb. Ha a location létrehozott vagy frissített erőforrás nem szerepel a jóváhagyott listában, az elem értéke igaz.
  • A második használat szintén kiértékeli a location tulajdonságot, de a notEquals feltételt használja annak megtekintéséhez, hogy az erőforrás globális-e. Ha a location létrehozott vagy frissített erőforrás nem globális, ez az elem igaz értéket ad ki.
  • Az utolsó használat kiértékeli a type tulajdonságot, és a notEquals feltétel használatával ellenőrzi, hogy az erőforrástípus nem Microsoft.AzureActiveDirectory/b2cDirectories-e. Ha nem, akkor ez az elem igaz értéket ad vissza.

Ha az allOf logikai operátor mindhárom feltétel-utasítása igaz értéket ad, az Azure Policy letiltja az erőforrás létrehozását vagy frissítését.

Következő lépések