微软Azure - Entra ID - 删除外部身份租户
我在Microsoft Azure / Entra外部身份标识(External ID)上试了试,几周前创建了一个Entra外部身份租户(MSA所有)。现在,我想删除这个外部身份租户。
Microsoft Entra管理中心一直显示该租户存在“企业应用程序”,必须先删除这些应用程序,见下方屏幕快照:

点击“Delete all enterprise applications”(删除所有企业应用程序)会打开一个新页面,但没有列出任何应用程序,见下方屏幕快照:

将应用程序的可见性更改为“Hidden”也会导致没有应用程序被列出。
将应用程序类型改为“Microsoft Applications”会列出大约22个 Microsoft应用程序,但你点击其中任意一个(我试过全部)时,门户会显示以下信息:
You can't delete this application because it's a Microsoft first party application.
我还尝试了各种Azure CLI命令和REST请求,但都会出错。甚至尝试了一些由“AI”生成的脚本和建议——都没用。
如何删除一个由MSA拥有的Entra外部身份租户?
理想情况下,我希望有一个Bash脚本可以完成这项操作,因为脚本可以更容易地嵌入文档中,而不是依赖屏幕快照(因为UI会在几个月内发生变化,文档就会变得无用)。
先行致谢。
解决方案
于是我终于按如下步骤删除了外部身份租户:
- 我创建了一个新的订阅和资源组
- 将租户移动到新的订阅和资源组
- 然后尝试删除该租户
但这并没有起作用,于是我把租户又移回原来的订阅和资源组。奇怪的是,搬回去后竟然没有列出任何企业应用程序!我也无法解释这是为什么。
随后我再次尝试删除租户。门户中没有收到任何失败通知,但该租户仍然列在“All Resources”下。我找到了若干参考资料,指出当租户成功删除时,ARM应该会移除CIAM资源,但ARM有时无法完成删除并将资源留在后台。
这在以下情况中特别常见:
- MSA拥有的租户
- 没有订阅的CIAM租户
- 通过预览API创建的租户
- 通过后端流程删除的租户
正好与我的情况吻合——因此我使用Azure CLI来检查资源是否仍然存在,命令如下:
az rest --method get --url https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-name}/providers/Microsoft.AzureActiveDirectory/ciamDirectories/{tenant-name}.onmicrosoft.com?api-version=2022-03-01-preview
果然如此,上述命令返回了详细描述该资源的JSON输出。
我用以下命令确认租户不存在:
az account tenant list --query "[?tenantId=='{tenant-id}']"
输出:
Command group 'account tenant' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
[]
很好——它不存在(返回空数组)。
接着我使用以下命令检查Microsoft Graph的租户关系:
az rest --method get --url "https://graph.microsoft.com/v1.0/tenantRelationships/findTenantInformationByTenantId(tenantId='{tenant-id}')"
输出:
Not Found({"error":{"code":"Directory_ObjectNotFound","message":"Unable to read the company information from the directory.","innerError":{"date":"2026-04-24T18:20:25","request-id":"e2f55671-3983-4441-8a2f-02e10e7cd312","client-request-id":"e2f55671-3983-4441-8a2f-02e10e7cd312"}}})
很好——它不存在。
此时唯一需要做的就是删除孤立资源,方法如下:
az resource delete --ids "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.AzureActiveDirectory/ciamDirectories/{tenant-name}.onmicrosoft.com"
上述命令执行完成后,我刷新门户的“所有资源”页面,租户不再被列出。