如何通过策略将公共 IP 限制到所有 Azure DevTest Labs

问题描述

我们目前拥有禁止在管理组级别范围内使用公共 ip 的内置策略,这在我们的环境中创建常规 VM 时有效。此策略不会阻止在 DevTest 实验室中创建具有公共 IP 的 VM,即使它们是在具有阻止 IP 策略的管理组中创建的。有人遇到过这种情况吗?

解决方法

有在 Microsoft.Network/networkInterfaces 级别工作的内置策略来阻止具有公共 IP 的 NIC,但开发测试实验室中的 VM 与常规 VM 具有不同类型的资源。

例如,您可以通过如下策略限制 Azure DevTest Labs 中 VM 上的公共 IP:

    "policyRule": {
      "if": {
        "allOf": [
          {
            "field": "type","equals": "Microsoft.DevTestLab/labs/virtualmachines"
          },{
            "not": {
              "field": "Microsoft.DevTestLab/labs/virtualmachines/disallowPublicIpAddress","equals": true
            }
          }
        ]
      },"then": {
        "effect": "deny"
      }
    }
  },

enter image description here