Блок кода ниже должен соответствовать требованиям шаблона *-*-asp
. Я не проводил достаточного тестирования, но для всех, кто хочет обеспечить соблюдение соглашений об именах с помощью политик, я надеюсь, что это поможет. Кроме того, было бы интересно узнать, есть ли лучшее решение, чем то, что представлено здесь.
Azure Policy Like / Match не поддерживает регулярные выражения, сложность приведенного ниже решения только подчеркивает необходимость в такой системе. Есть голос пользователя, прошу вас проголосовать, если вы видите актуальность функции регулярного выражения в политике Azure - ссылка здесь.
{
"if": {
"allOf": [
{
"field": "type",
"in": "[parameters('listOfResourceTypes')]"
},
{
"not": {
"allOf": [
{
"value": "[equals(length(split(parameters('namePattern'), '-')), length(split(field('name'), '-')))]",
"equals": true
},
{
"value": "[equals(toLower(last(split(parameters('namePattern'), '-'))), toLower(last(split(field('name'), '-'))))]",
"equals": true
}
]
}
}
]
},
"then": {
"effect": "[parameters('policyEffect')]"
}
}
person
user527614
schedule
13.02.2020