Azure Policy,排除资源类型

Azure Policy, exclude resource type

提问人:Aryan 提问时间:11/7/2023 更新时间:11/8/2023 访问量:28

问:

我目前正在使用此策略成功禁用 Azure 存储帐户的公共访问。但是,在预配函数应用或应用服务时,同一策略会阻止其创建。我正在尝试对策略进行调整,以排除函数应用和应用服务,从而允许在不被此策略阻止的情况下创建它们。

这是我尝试过的 JSON,但它没有按预期工作。它仍阻止创建函数应用和应用服务,指示应限制 Azure 存储帐户的公共访问。

尝试使用此策略来免除函数和应用服务,但仍被策略阻止

type here  `{
  "mode": "Indexed",
  "policyRule": {
    "if": {
      "allOf": [
        {
          "field": "type",
          "notequals": "Microsoft.Web/sites"
        },
        {
          "anyOf": [
            {
              "field": "type",
              "equals": "Microsoft.Storage/storageAccounts"
            },
            {
              "field": "Microsoft.Storage/storageAccounts/networkAcls.defaultAction",
              "notEquals": "Deny"
            }
          ]
        }
      ]
    },
    "then": {
      "effect": "[parameters('effect')]"
    }
  },
  "parameters": {
    "effect": {
      "type": "String",
      "metadata": {
        "displayName": "Effect",
        "description": "The effect determines what happens when the policy rule is evaluated to match"
      },
      "allowedValues": [
        "Audit",
        "Deny",
        "Disabled"
      ],
      "defaultValue": "Audit"
    }
  }
}
azure-policy

评论


答:

0赞 agamil 11/8/2023 #1

需要创建两个单独的策略定义,一个用于存储帐户,另一个用于函数应用/应用服务

例如,函数应用策略:For example, the function app policy:

{
  "mode": "Indexed",
  "policyRule": {
    "if": {
      "allOf": [
        {
          "field": "type",
          "equals": "Microsoft.Web/sites"
        }
      ]
    },
    "then": {
      "effect": "Audit"  // You can choose "Audit," "Deny," or "Disabled" as needed
    }
  }
}

评论

0赞 Aryan 11/8/2023
它仍然失败,正如你建议的那样,创建了两个策略定义:1) 拒绝存储公共访问,2) 允许应用服务/函数应用。