如果公共IP地址分配为“动态”,我将尝试创建Azure策略以拒绝创建应用程序网关。
我尝试使用“ publicIPAllocationMethod”作为强类型,但它给我抛出一个错误。
我看到这些字段是属性而不是类型。
{
"mode": "all",
"policyRule": {
"if": {
"allOf": [
{
"field": "publicIPAddress",
"equals": "dynamic"
}
]
},
"then": {
"effect": "deny"
}
},
"parameters": {}
}
策略基于别名工作,因此该字段必须是别名。根据我的研究,看起来Application Gateway中publicIDAddress的别名是Microsoft.Network/applicationGateways/frontendIPConfigurations[*].publicIPAddress。
但是我的资源有效载荷中的值是一个id。
我看到的唯一可以标记为动态的是Microsoft.Network/applicationGateways/frontendIPConfigurations[*].privateIPAllocationMethod,但这可能只是我的资源配置方式。
我建议在这里查看如何查找别名:https://docs.microsoft.com/en-us/azure/governance/policy/concepts/definition-structure#aliases