我有一个 Azure 策略,它通过 2 个分配验证 2 个资源组的区域。允许的区域是美国中南部和全球。我的问题是每个资源组中都存在我似乎无法摆脱的策略违规。例如,在一个资源组中,违反策略的资源是分配本身,我无法更改其区域(或者我不知道如何更改),并且我无法将其视为排除项中的排他性资源列表。对于第二个资源组,失败的项目是一些 SQL 数据库托管实例漏洞评估和一些安全评估;关于这些的有趣部分,当我尝试查看 Azure 找不到的资源时,只返回“找不到资源”,所以不出所料,我也不能排除这些。所以现在我似乎被一个无法实现 100% 合规性的政策和 2 个作业所困扰,我希望有人能提供解决方法。也许是一种排除资源类型而不是名称的方法,但我对任何想法持开放态度。谢谢。
问问题
1249 次
2 回答
1
在挖掘预先制定的政策时找到了答案。您可以按以下方式对 policyRule.if 部分中的类型字段进行限制。只需指定应排除的类型。
"policyRule": {
"if": {
"allOf": [
{
"field": "location",
"notIn": "[parameters('listOfAllowedLocations')]"
},
{
"field": "location",
"notEquals": "global"
},
{
"field": "type",
"notEquals": "Microsoft.AzureActiveDirectory/b2cDirectories"
}
]
},
于 2020-04-10T18:39:20.553 回答
0
在您的策略中添加类型限制会有所帮助,但您需要维护排除的资源类型列表。
如果您将策略的模式Indexed
更改为,那么您的策略将仅评估实际具有location
字段的资源。
于 2020-04-18T01:30:14.180 回答