如何通过Azure Policy限制仅创建Standard SKU的Azure Front Door资源?
Azure Policy限制仅创建Standard SKU的Azure Front Door资源
一、明确两种Front Door资源的正确字段
Azure Front Door有两种主流类型,对应的资源类型和SKU字段存在差异:
- Front Door Standard/Premium:归属
Microsoft.Cdn/profiles资源类型,SKU字段为sku.name,有效值包括Standard_AzureFrontDoor(Standard SKU)和Premium_AzureFrontDoor(Premium SKU)。需要额外通过kind: FrontDoor过滤该类型的CDN Profile,避免影响其他CDN资源。 - 经典Front Door:归属
Microsoft.Network/frontDoors资源类型,SKU字段为sku.tier,有效值包括Standard_Classic(经典Standard SKU)和Premium_Classic(经典Premium SKU)。
你之前的问题出在字段名错误(比如经典Front Door误用skuName而非sku.tier),或是未针对CDN Profile添加kind过滤条件。
二、完整策略定义示例
以下策略可同时限制两种类型的Front Door仅允许创建Standard SKU:
{ "mode": "Indexed", "policyRule": { "if": { "anyOf": [ // 限制Front Door Standard/Premium为Standard SKU { "allOf": [ { "field": "type", "equals": "Microsoft.Cdn/profiles" }, { "field": "kind", "equals": "FrontDoor" }, { "field": "sku.name", "notEquals": "Standard_AzureFrontDoor" } ] }, // 限制经典Front Door为Standard SKU { "allOf": [ { "field": "type", "equals": "Microsoft.Network/frontDoors" }, { "field": "sku.tier", "notEquals": "Standard_Classic" } ] } ] }, "then": { "effect": "Deny" } }, "parameters": {} }
三、策略说明
mode: Indexed:确保策略仅针对支持资源属性索引的资源类型生效,适配资源创建/更新阶段的检查场景。anyOf:覆盖两种Front Door类型的检查逻辑,只要其中一种类型不符合SKU要求就触发拒绝操作。- 针对
Microsoft.Cdn/profiles:需同时满足「资源类型为CDN Profile」「类型是Front Door」「SKU不是Standard_AzureFrontDoor」三个条件才会拒绝。 - 针对
Microsoft.Network/frontDoors:只要资源类型为经典Front Door且SKU tier不是Standard_Classic,就会拒绝创建。
四、使用步骤
- 进入Azure门户的策略服务,点击定义 > + 策略定义。
- 填写策略名称、描述,选择应用范围,将上述JSON内容粘贴到规则编辑器中。
- 保存策略定义后,将其分配到目标订阅/资源组范围,策略即可生效。
内容的提问来源于stack exchange,提问作者Damo
相关产品推荐
相关产品推荐

