如何限制Azure中安全组被删除?即使用户通过PIM获取特权角色也生效
答复
不存在可直接部署的原生Azure策略,能实现即使用户通过PIM激活你列出的所有高权限角色,也完全无法删除任意安全组的效果,核心原因如下:
Azure Policy的拒绝(Deny)生效逻辑是在Azure Resource Manager接收操作请求时做合规校验,只要操作主体拥有策略分配修改、策略豁免创建的相关权限,就可以直接绕开策略限制。你列出的角色里,特权角色管理员本身就具备为自身或其他账号分配更高权限(包括全局管理员、所有者、用户访问管理员等租户级最高权限)的能力,拿到最高权限后既可以直接删除安全组,也可以通过创建策略豁免、删除策略分配的方式绕过策略管控。
如果要尽可能接近你要的管控效果,可以通过组合配置实现最大化防护(注意没有任何方案能100%阻止持有租户级最高权限的账号执行删除操作,只能提升操作成本、配套审计告警及时响应):
- 部署自定义Azure Policy,规则配置为对
Microsoft.Groups/groups/delete操作执行Deny效果,将策略分配到需要管控的管理组或整租户范围,策略分配使用系统托管标识,同时严格收紧策略分配、策略定义、策略豁免相关的操作权限,不要给你列出的几类管理员开放上述权限。 - 给所有需要保护的安全组配置
CanNotDelete类型的资源锁,资源锁可以阻止普通权限账号直接删除资源,配套配置Azure活动日志告警,一旦出现删除/修改资源锁、调整策略分配、创建策略豁免的操作,立刻触发告警给安全运维团队做实时响应。 - 针对你列出的所有高优先级目录角色,在PIM中配置激活强制审批流程、最短激活时长限制,要求角色激活必须完成强MFA校验,避免用户无审批直接拿到高权限。
注意:租户级全局管理员、所有者、用户访问管理员这类最高权限角色,默认拥有租户内所有资源的所有操作权限,不存在原生管控手段可以完全限制这类角色的删除操作,防护核心是减少高权限的随意激活、对高风险操作做实时审计告警。
内容的提问来源于stack exchange,提问作者AskMe
相关产品推荐
相关产品推荐

