微软Azure - Entra ID - 删除外部身份租户

人工智能 2026-07-10

我在Microsoft Azure / Entra外部身份标识(External ID)上试了试,几周前创建了一个Entra外部身份租户(MSA所有)。现在,我想删除这个外部身份租户。

Microsoft Entra管理中心一直显示该租户存在“企业应用程序”,必须先删除这些应用程序,见下方屏幕快照:

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

将应用程序的可见性更改为“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会在几个月内发生变化,文档就会变得无用)。

先行致谢。

解决方案

于是我终于按如下步骤删除了外部身份租户:

  1. 我创建了一个新的订阅和资源组
  2. 将租户移动到新的订阅和资源组
  3. 然后尝试删除该租户

但这并没有起作用,于是我把租户又移回原来的订阅和资源组。奇怪的是,搬回去后竟然没有列出任何企业应用程序!我也无法解释这是为什么。

随后我再次尝试删除租户。门户中没有收到任何失败通知,但该租户仍然列在“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"

上述命令执行完成后,我刷新门户的“所有资源”页面,租户不再被列出。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章