如何修改Azure Policy以接受含4位及以上数字的标签值?
Azure Policy标签规则修改方案
问题解决思路
可以通过调整match操作符的通配符模式,实现接受以IT-开头且后跟4位及以上数字的标签值。Azure Policy的match操作符支持特定通配符语法,其中:
#代表单个数字字符+表示前面的模式(此处为#)可重复1次或多次
修改后的规则代码
将原规则中的match值从"IT-####"替换为"IT-####+",修改后的完整policyRule如下:
"policyRule": { "if": { "allOf": [ { "field": "type", "equals": "Microsoft.Resources/subscriptions/resourceGroups" }, { "not": { "field": "[concat('tags[', parameters('tagName'), ']')]", "match": "IT-####+" } } ] }, "then": { "effect": "deny" } }
通配符说明
Azure Policy的match操作符支持以下核心通配符:
#:匹配单个0-9的数字?:匹配任意单个字符(字母、数字、符号等)*:匹配任意长度的字符序列(包括空序列)+:匹配前面的模式至少1次(需搭配其他模式使用,如####+表示4个数字后再跟至少1个数字,即总长度≥4)
内容的提问来源于stack exchange,提问作者Helena Raia
相关产品推荐
相关产品推荐

