1

我有一个 Azure 策略,它通过 2 个分配验证 2 个资源组的区域。允许的区域是美国中南部和全球。我的问题是每个资源组中都存在我似乎无法摆脱的策略违规。例如,在一个资源组中,违反策略的资源是分配本身,我无法更改其区域(或者我不知道如何更改),并且我无法将其视为排除项中的排他性资源列表。对于第二个资源组,失败的项目是一些 SQL 数据库托管实例漏洞评估和一些安全评估;关于这些的有趣部分,当我尝试查看 Azure 找不到的资源时,只返回“找不到资源”,所以不出所料,我也不能排除这些。所以现在我似乎被一个无法实现 100% 合规性的政策和 2 个作业所困扰,我希望有人能提供解决方法。也许是一种排除资源类型而不是名称的方法,但我对任何想法持开放态度。谢谢。

4

2 回答 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 回答