#azure-policy
#azure-политика
Вопрос:
Я пытаюсь использовать функции шаблона ARM в effect
части политики, но, похоже, это не позволяет делать что-то, что поддерживает шаблон ARM utcnow('YYYY')
. За статью (https://docs.microsoft.com/en-us/azure/governance/policy/concepts/definition-structure#policy-functions) Я смогу использовать эту функцию, по крайней мере, в параметрах, а затем передать ее, но она передается как строка. Пример политики приведен ниже. Я пытаюсь преобразовать utcnow() по умолчанию в короткую строку даты и не могу сделать это с помощью политики
"policyRule": {
"if": {
"anyOf": [
{
"field": "tags['datemodified']",
"exists": "false"
},
{
"field": "tags['datemodified']",
"exists": "true"
}
]
},
"then": {
"effect": "modify",
"details": {
"roleDefinitionIds": [
"/providers/Microsoft.Authorization/roleDefinitions/4a9ae827-6dc8-4573-8ac7-8239d42aa03f"
],
"operations": [
{
"operation": "addOrReplace",
"field": "tags['datemodified']",
"value": "[parameters('timeOfExecution')]"
}
]
}
}
},
"parameters": {
"timeOfExecution": {
"type": "String",
"metadata": {
"displayName": "timeOfExecution",
"description": null
},
"defaultValue": "[utcnow('yyyy-MM-dd')]"
}
}
Ответ №1:
Согласно поддержке Microsoft, следующие функции шаблона ARM не поддерживаются в политике Azure:
dateTimeAdd
utcNow(format)
deployment
environment
variables
extensionResourceId
listAccountSas
listKeys
listSecrets
list*
pickZones
providers (deprecated)
reference
resourceId
subscriptionResourceId
tenantResourceId
managementGroup
tenant
newGuid