如何解决Azure自定义策略:资源一定不能具有未知标记-如何?
- 环境
- 客户
我想创建一个策略,如果给定的标签不是以上两种,则将资源评估为不合规。 (请注意,我想避免使用参数,而是将允许的标记名称“烙印”到定义中。)
我尝试了以下代码,但是当它们具有除上述标记之外的其他标签时,它会将资源标记为合规。
"mode": "Indexed","policyRule": {
"if": {
"allOf": [
{
"field": "tags","exists": "true"
},{
"field": "tags","notContainsKey": "Environment"
},"notContainsKey": "Client"
}
]
},"then": {
"effect": "deny"
}
},"parameters": {}
}
有人可以看到我要去哪里吗?
解决方法
如果我理解正确,则可以创建以下资源:
- 没有标签
- 仅“客户”标签
- 仅“环境”标签
- 仅“客户”和“环境”标签
所有其他情况都必须被阻止。
{
"mode": "All","policyRule": {
"if": {
"not": {
"value": "[if(equals(length(field('tags')),0),'noTags',if(and(equals(length(field('tags')),1),or(contains(field('tags'),'Environment'),contains(field('tags'),'Client'))),'environmentOrClientTagOnlyExists',2),and(contains(field('tags'),'environmentAndClientTagsExist','atLeastOneNotAllowedTagExists' ) ) )]","in": [
"noTags","environmentOrClientTagOnlyExists","environmentAndClientTagsExist"
]
}
},"then": {
"effect": "deny"
}
},"parameters": {}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。