You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Policy调整:排除Function Apps与App Services避免创建被阻

修正后的Azure Policy配置
{
  "mode": "Indexed",
  "policyRule": {
    "if": {
      "allOf": [
        {
          "field": "type",
          "equals": "Microsoft.Storage/storageAccounts"
        },
        {
          "field": "Microsoft.Storage/storageAccounts/networkAcls.defaultAction",
          "notEquals": "Deny"
        },
        {
          "not": {
            "anyOf": [
              {
                "field": "tags['ms-resource-usage']",
                "equals": "azure-function-app"
              },
              {
                "field": "tags['createdBy']",
                "equals": "Microsoft.Web"
              }
            ]
          }
        }
      ]
    },
    "then": {
      "effect": "[parameters('effect')]"
    }
  },
  "parameters": {
    "effect": {
      "type": "String",
      "metadata": {
        "displayName": "执行效果",
        "description": "策略规则匹配时执行的操作"
      },
      "allowedValues": [
        "Audit",
        "Deny",
        "Disabled"
      ],
      "defaultValue": "Audit"
    }
  }
}

原策略问题分析

  1. 逻辑条件错误:原策略用anyOf包含两个条件,导致所有存储账户(无论公网访问是否禁用)都会触发规则,违背了"仅约束未禁用公网访问的存储账户"的核心需求。需将anyOf改为allOf,确保只针对「存储账户 + 公网访问未禁用」的资源。
  2. 未排除关联存储账户:部署Function App或App Service时会自动创建关联存储账户,这类存储默认不禁用公网访问,会被原策略拦截。需通过标签(如ms-resource-usage)或创建者标识筛选排除这类特殊存储。

验证与调整建议

  • 测试阶段将effect设为Audit,确认规则仅匹配需要约束的存储账户后,再改为Deny。
  • 若自动创建的存储账户标签与示例不同,可在Azure门户查看目标存储的标签/属性,调整anyOf内的筛选条件。

内容的提问来源于stack exchange,提问作者Aryan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 03:11:19