如果第一个诊断设置已存在,则 Azure 策略拒绝向任何资源添加第二个诊断设置
我尝试了下面的代码,但它似乎没有任何资源详细信息,并且不起作用
{
"mode": "All",
"policyRule": {
"if": {
"field": "type",
"equals": "Microsoft.Insights/diagnosticSettings"
},
"then": {
"effect": "deny"
}
},
"parameters": {}
}
如果第一个诊断设置已存在,则 Azure 策略拒绝将第二个诊断设置添加到任何资源:-
Azure 策略如下:我找到了如何避免添加两个或多个诊断设置。如果至少一个诊断参数已启用并设置为“true”,则策略允许。
如果资源具有多个启用设置为“true”的诊断设置,则策略将禁止。
{
"mode": "All",
"policyRule": {
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.Insights/diagnosticSettings"
},
{
"count": {
"field": "Microsoft.Insights/diagnosticSettings/logs[*]",
"where": {
"allOf": [
{
"field": "Microsoft.Insights/diagnosticSettings/logs[*].enabled",
"equals": "true"
}
]
}
},
"greater": 1
}
]
},
"then": {
"effect": "deny"
}
},
"parameters": {}
}
创建成功:
COUNT
操作员。