用于评估依赖资源的合规性的Azure策略

kyks70gy  于 2023-06-24  发布在  其他
关注(0)|答案(1)|浏览(98)

如果分配的子网(现有子网)不符合特定的策略定义,我需要阻止创建VM。我知道我可以阻止创建子网,但如果子网已经存在,我如何阻止VM使用它。
我有一个策略,审核子网是否有NSG,并且NSG是否启用了Internet访问。因此,如果任何VM试图使用此NSG,则应阻止它。

cvxl0en2

cvxl0en21#

防止创建具有特定策略定义的现有子网的VM。检查以下工作区:
创建一个策略定义,使用下面的JSON来阻止vm,如下所示:

{
  "mode": "All",
  "policyRule": {
    "if": {
      "allOf": [
        {
          "field": "type",
          "in": [
            "Microsoft.Network/virtualNetworks/subnets",
            "Microsoft.Network/networkSecurityGroups",
            "Microsoft.Compute/virtualMachines"
          ]
        },
        {
          "anyOf": [
            {
              "field": "type",
              "equals": "Microsoft.Network/virtualNetworks/subnets"
            },
            {
              "field": "type",
              "equals": "Microsoft.Network/networkSecurityGroups"
            }
          ]
        },
        {
          "field": "Microsoft.Network/networkSecurityGroups/securityRules[*].destinationAddressPrefix",
          "equals": "*"
        }
      ]
    },
    "then": {
      "effect": "Audit"
    }
  },
  "parameters": {}
}

分配策略,如果你想拒绝vm创建更改effect = deny.

在分配策略后,您可以看到具有Internet访问权限的现有子网的NSG,它被标记为不兼容成功,如下所示:

注意:此策略仅适用于新建VM。此策略不会自动删除或阻止虚拟机使用不合规的子网(如果虚拟机已经在使用不合规的子网)。将仅阻止创建使用不兼容子网的新VM。

相关问题