如何通过策略将Azure资源锁应用于资源组

如何通过策略将Azure资源锁应用于资源组,azure,azure-resource-group,Azure,Azure Resource Group,我正在尝试创建Azure策略,该策略将向订阅中的资源组部署级别为“CanNotDelete”的资源锁 当前该策略是100%兼容的,但该策略尚未创建任何锁 我的JSON policy.rules文件中有以下内容: { “如果”:{ “字段”:“类型”, “等于”:“Microsoft.Resources/resourceGroups” }, “然后”:{ “效果”:“deployIfNotExists”, “详情”:{ “类型”:“Microsoft.Authorization/locks”,

我正在尝试创建Azure策略,该策略将向订阅中的资源组部署级别为“CanNotDelete”的资源锁

当前该策略是100%兼容的,但该策略尚未创建任何锁

我的JSON policy.rules文件中有以下内容:


{
“如果”:{
“字段”:“类型”,
“等于”:“Microsoft.Resources/resourceGroups”
},
“然后”:{
“效果”:“deployIfNotExists”,
“详情”:{
“类型”:“Microsoft.Authorization/locks”,
“存在条件”:{
“字段”:“Microsoft.Authorization/locks/level”,
“等于”:“不能删除”
},
“角色定义ID”:[
“/providers/Microsoft.Authorization/roleDefinitions/0000-0000-0000-0000000”
],
“部署”:{
“财产”:{
“模式”:“增量”,
“模板”:{
“$schema”:”https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
“内容版本”:“1.0.0.0”,
“参数”:{
“地点”:{
“类型”:“字符串”
}
},
“资源”:[
{
“类型”:“Microsoft.Authorization/locks”,
“apiVersion”:“2017-04-01”,
“名称”:“资源锁”,
“财产”:{
“级别”:“不能删除”,
“注意事项”:“防止意外删除资源组”
}
}
]
}
}
}
}
}
}  

通过两个更改成功地实现了这一点

  • if语句路径-Microsoft.Resources/subscriptions/resourceGroups
  • 由于某种原因未创建托管标识,这是“deployIfNotExists”策略效果所必需的

  • 我希望这能帮助遇到相同问题的人

    您的API版本正确吗?所有与锁相关的文档我只能看到2016-09-01hey@RahulRuikar api版本是正确的,可以通过资源管理器\提供者查找。