ARM模板增量部署Key Vault时删除networkAcls参数未生效问题
问题结论
你遇到的现象属于ARM增量部署模式的设计预期行为。
增量部署模式的核心逻辑
ARM增量部署的默认规则是:
- 仅对模板中显式声明的资源属性执行新增/修改操作
- 对模板未声明的已有资源属性,直接保留当前值,不会主动删除、重置或对齐到资源初始默认值
对应Key Vault场景的说明
你首次部署时在模板中显式声明了如下networkAcls配置,ARM会按照该配置完成Key Vault网络规则初始化:
"networkAcls": { "value": { "bypass": "AzureServices", "defaultAction": "Deny", "virtualNetworkRules": [], "ipRules": [] } }
后续你移除了模板中的该参数,ARM会判定你不需要修改networkAcls相关配置,因此会保留之前已经生效的规则,不会自动删除。
清除现有networkAcls配置的可选方案
- 方案1:继续使用增量部署模式,在模板中显式声明
networkAcls为你期望的目标值(例如将defaultAction设置为Allow,清空其他规则即可) - 方案2:改用完整部署模式,注意该模式会删除部署范围内所有未在模板中声明的资源,操作前需要确认模板已经覆盖了所有你需要保留的资源,避免误删。
内容的提问来源于stack exchange,提问作者user1209325
相关产品推荐
相关产品推荐

