Шаблон Политики Azure: свойства поля
Оператор field вычисляет указанное свойство или псевдоним предоставленному значению для заданного условия.
Пример определения политики
Это определение политики позволяет определить разрешенные регионы, соответствующие требованиям географического расположения вашей организации. Разрешенные ресурсы определяются в параметре listOfAllowedLocations (массив). Ресурсы, соответствующие определению, отклоняются.
{
"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"
}
}
}
}
Описание
"if": {
"allOf": [{
"field": "location",
"notIn": "[parameters('listOfAllowedLocations')]"
},
{
"field": "location",
"notEquals": "global"
},
{
"field": "type",
"notEquals": "Microsoft.AzureActiveDirectory/b2cDirectories"
}
]
},
"then": {
"effect": "Deny"
}
}
Оператор field используется три раза в логическом оператореallOf.
- При первом использовании вычисляется свойство
location
с условием notIn в параметре listOfAllowedLocations. notIn работает, как ожидает массив, и параметр является массивом. Еслиlocation
созданного или обновленного ресурса не находится в списке утвержденных, этот элемент возвращает значение "true". - Второе использование также оценивает свойство
location
, но использует условие notEquals, чтобы определить, является ли ресурс глобальным. Еслиlocation
созданного или обновленного ресурса не глобальное, этот элемент возвращает значение "true". - При последнем использовании вычисляется свойство
type
и используется условие notEquals для проверки, не является ли тип ресурса Microsoft.AzureActiveDirectory/b2cDirectories. Если это не так, этот элемент возвращает значение "true".
Если все три оператора условий в логическом операторе allOf оцениваются как "true", то создание или обновление ресурса блокируется Политикой Azure.
Следующие шаги
- Ознакомьтесь с другими шаблонами и встроенными определениями.
- Изучите статью о структуре определения Политики Azure.
- Изучите сведения о действии политик.