如何在Azure中阻止创建新的公共IP

nwo49xxi  于 2023-06-24  发布在  其他
关注(0)|答案(2)|浏览(108)

我试图阻止没有全局管理员的用户创建新的公共ip并将其分配给vms或nics。但我不想影响现有的分配的ip。我认为最好的办法是制定政策。
我发现这个策略阻止了所有未指定的资源组中的公共ip,但我不知道它是否会影响现有的

"policyRule": {
      "if": {
        "allOf": [
          {
            "field": "type",
            "equals": "Microsoft.Network/networkInterfaces"
          },
          {
            "field": "Microsoft.Network/networkInterfaces/ipconfigurations[*].publicIpAddress.id",
            "exists": true
          },
          {
            "value": "[resourceGroup().name]",
            "notEquals": "resource-group-name"
          }
        ]
      },
      "then": {
        "effect": "deny"
      }
    }
  }

有人知道它是否会影响现有的或知道一个更好的方法来写一个政策,可以帮助我

d5vmydt9

d5vmydt91#

您提到的策略将阻止所有未在Policy中指定的resource groups中的Public IPs,但不会影响现有的resource groups
但是,它将阻止创建新的public IPs,以及分配给resource groups中未指定的网络资源。如果您希望阻止创建新的public IPs,但允许分配现有的Public IP,则可以使用以下策略。

{
      "mode": "All",
      "policyRule": {
        "if": {
          "allOf": [
            {
              "field": "type",
              "equals": "Microsoft.Network/publicIPAddresses"
            },
            {
              "field": "Microsoft.Network/publicIPAddresses/ipConfiguration.id",
              "exists": false
            },
            {
              "value": "[resourceGroup().name]",
              "notEquals": "v-venkat-mindtree"
            }
          ]
        },
        "then": {
          "effect": "deny"
        }
      },
      "parameters": {}
    }
    • 输出:**

Public IP与其他Resource Group的创建

使用指定的Resource Group创建Public IP

已成功将现有公网IP分配给网络接口。

z3yyvxxp

z3yyvxxp2#

Azure策略将评估并报告所有违反策略的资源;但是,除非附加了“如果不存在则部署”,否则不会执行任何操作。
一旦提交部署,Azure策略将针对部署执行。为了明确起见,这将包括对现有资源的任何更新或任何净新资源的创建。在这种情况下,当提交部署时,将发生拒绝操作并阻止部署。策略也可以用于不同的操作。

相关问题