解决删除Azure Active Directory的Enterprise Applications异常

当我们不需要使用某个Azure Active Directory(以下简称AAD)的时候,我们可以删除它,这个时候Azure会对当前的AAD包含的内容进行检查,

在所有的检查项目中有一个名叫“企业应用”,有很多人在删除AAD的时候都被这一项挡住了去路却不知道该怎么解决,下面我们来看一下该如何对症下药。

通常这一项的检查不通过有两种情况:

1.Azure DevOps:在点击解决连接后,你可能会看到一个名叫“Azure DevOps”的企业应用,这是在你注册Azure DevOps的时候自动注册的,而且默认情况下你无法直接通过门户删除。这个时候我们需要使用PowerShell的Azure AD组件来删除:

首先注册一个AAD管理员用户,注意不是当前操作删除的这个微软账户,你需要注册一个AAD用户,然后赋予这个用户管理员权限;

在本地打开PowerShell,注意这里需要Windows的PowerShell,不能是跨平台的PowerShell Core,使用管理员权限执行以下命令:

Install-Module -Name AzureAD

安装完成后,执行以下命令:

Remove-AzureADServicePrincipal -ObjectId [AzureDevOps ObjectId]

ObjectId可以从应用的属性里面获取,执行完毕后你应该能够看到Azure DevOps已经被删除了。

2.Managed Identity:如果在删除Azure DevOps后仍然无法删除AAD,而且你应该会注意到在企业应用这一项的检查是先变成通过后在“Azure AD Domain Service”这一项检查后又变为不通过,这个时候就是因为当前AAD中还有未删除的Managed Identity。

1.点击解决链接,切换过滤选项到“Managed Identity”,你会看到当前AAD下面未删除的系统管理的标识,理论上系统管理标识是会在资源删除的同时被删除,但是有时候系统并不会自动删除它们(多发生于订阅迁移到了另一个AAD内),这个时候你需要手动删除。

2.对于Azure WebApp类的标识,你需要在新的AAD内禁用原有标识后重新启用标识来删除原有的标识,直接删除资源并不会删除标识

3.对于SQL Server,当开启AAD验证后也会自动注册标识,而且在门户内禁用原有AAD管理员重新配置新的管理员并没有用,这个时候需要用到Azure CLI,最方便的当然是打开门户内的Cloud Shell,选择Bash后,执行以下命令:

az sql server update --assign_identity --resource-group [Your-RG-Name] --name [Your-SQLServer-Name]

这个命令会更新原有的系统分配标识,更新后原有的标识被删除。

现在你应该可以顺利通过检查删除当前AAD了,祝大家Azure旅途愉快。

解决删除Azure Active Directory的Enterprise Applications异常

上一篇:Go语言工程结构


下一篇:C++基本语法与注释