如何删除App Service被删除后遗留的孤立托管标识(MSI)
Azure孤立托管标识(MSI)删除解决方案
你遇到的权限报错属于正常现象,托管标识的服务主体默认由Azure平台托管,即便是全局管理员账号,默认也没有直接删除该类对象的权限,可按以下方案操作:
方案一:权限提升后直接删除
- 登录Azure门户,进入Azure Active Directory -> 属性设置页
- 找到「全局管理员可以管理 Azure 订阅和管理组」选项,将开关调整为是后保存配置
- 等待3-5分钟权限同步生效后,运行以下命令删除对应服务主体(替换为你查询到的objectId):
az ad sp delete --id 8f8c3360-fc2f-4a5e-a97a-f3b6fba6d972
- 删除完成后可回滚上述全局管理员权限开关的配置,避免不必要的权限暴露
方案二:资源重建回收(适用于方案一执行失败的场景)
该方案利用MSI和关联资源的生命周期绑定规则,通过重建同名资源触发MSI自动清理:
- 在原MSI关联的资源组(示例中为
myResourceGroup)下,创建和原App Service同名的新应用(示例名称为appservice-name) - 进入该临时App Service的「标识」配置页,将「系统分配」标识的状态切换为开启,等待配置保存完成
- 再次将「系统分配」标识的状态切换为关闭,在弹出的确认删除提示中选择确认,Azure会自动清理关联的MSI对象
- 确认MSI删除后,可删除该临时创建的App Service资源
结果验证
删除完成后可运行原查询命令验证对象是否已清除:
az ad sp list --display-name $appServiceName
返回空数组则说明删除成功。
内容的提问来源于stack exchange,提问作者Tiju John
相关产品推荐
相关产品推荐

