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

Azure Policy无法阻止未设置每日容量上限或上限超1GB的Application Insights资源创建问题排查

解决Azure Policy阻止未设置/超出1GB每日数据上限的Application Insights创建问题

首先,你的策略未生效主要有两个核心问题:目标资源类型错误和字段路径/条件逻辑不符合Azure资源的实际结构,下面一步步拆解并给出正确的配置方案。

问题分析

  1. 错误的资源类型目标
    你当前的策略针对的是microsoft.insights/components/pricingPlans(定价计划子资源),但实际上,Application Insights的每日数据容量上限配置是存储在主资源microsoft.insights/components的属性中,而非子资源。当用户创建Application Insights组件时,主资源的属性才是我们需要校验的对象。

  2. 字段路径与条件逻辑偏差
    你尝试的字段路径不准确,且对“未设置每日上限”的判断逻辑有误:

    • 正确的字段路径应为properties.dataVolumeCap.cap,而非你使用的路径;
    • Azure中,当未设置每日数据容量上限时,cap的值为0(而非属性不存在),这表示无限制访问。

正确的Azure Policy定义

以下是符合需求的策略规则,它会精准拦截两种场景:

  • 未设置每日数据上限(cap = 0)
  • 每日数据上限大于1GB(cap > 1)
{
  "mode": "Indexed",
  "policyRule": {
    "if": {
      "allOf": [
        {
          "field": "type",
          "equals": "microsoft.insights/components"
        },
        {
          "anyOf": [
            {
              "field": "properties.dataVolumeCap.cap",
              "equals": 0
            },
            {
              "field": "properties.dataVolumeCap.cap",
              "greater": 1
            }
          ]
        }
      ]
    },
    "then": {
      "effect": "deny"
    }
  }
}

额外说明

  • 模式选择:使用Indexed模式而非All,因为我们只需要针对可索引的资源类型(Application Insights组件属于此类),这样策略执行效率更高;
  • 字段验证:如果需要确认字段路径的准确性,可以通过Azure门户的“资源浏览器”查看现有Application Insights资源的JSON结构,找到dataVolumeCap节点下的cap值;
  • 定价层兼容性:该策略适用于经典和基于工作区的Application Insights定价层,两者的dataVolumeCap属性结构一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 06:02:47