拒绝用户创建具有公共 IP 地址的 VM

Deny users from creating a vms with public ip addresses

提问人:Mahad 提问时间:10/24/2023 最后编辑:Mahad 更新时间:10/25/2023 访问量:46

问:

我正在尝试拒绝用户使用公共 IP 地址创建 vm。

我收到以下错误 - 此值不被接受 - “字段”:“Microsoft.Network/publicIPAddresses.ipConfiguration.id”,


{
  "mode": "All",
  "policyRule": {
    "if": {
      "allOf": [
        {
         "field": "type",
         "equals": "Microsoft.Network/publicIPAddresses"
        },
        {
          "not": {
           "field": "Microsoft.Network/publicIPAddresses.ipConfiguration.id",
           "exists": "true"
          }
        }
      ]
    },
    "then": {
      "effect": "deny"
    }
  },
  "parameters": {}
}

虚拟机 azure-policy azure-public-ip

评论


答:

0赞 Venkat V 10/25/2023 #1

拒绝用户创建具有公共 IP 地址的 VM

您使用的策略将拒绝任何具有公共 IP 的资源,并且策略中的字段也不正确。

"field": "Microsoft.Network/publicIPAddresses.ipConfiguration.id",

下面是正确的字段:

"field":"Microsoft.Network/publicIPAddresses/ipConfiguration.id",

下面是拒绝用户使用公共 IP 地址创建 VMS 的更新策略。

{
  "mode": "All",
  "policyRule": {
    "if": {
      "allOf": [
        {
          "field": "type",
          "equals": "Microsoft.Compute/virtualMachineScaleSets"
        },
        {
          "not": {
            "field": "Microsoft.Compute/virtualMachineScaleSets/virtualMachineProfile.networkProfile.networkInterfaceConfigurations[*].ipConfigurations[*].publicIPAddressConfiguration",
            "exists": "false"
          }
        }
      ]
    },
    "then": {
      "effect": "deny"
    }
  },
  "parameters": {}
}

将策略分配到指定范围后,它会拒绝创建具有公共 IPVMS,如下所示。

enter image description here