You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform destroy命令是否意外删除微软Azure AD第一方企业应用?

问题解答

是的,这确实是Terraform AzureAD提供商的已知问题,属于非预期的意外删除行为。

原因说明

尽管文档中说明设置use_existing = true后,Terraform在执行destroy时会尝试删除服务主体,但删除失败时不会抛出错误(这是针对多数微软第一方应用的情况),但部分微软第一方服务主体实际上允许在Azure AD中被删除,导致Terraform执行销毁操作时成功删除了Exchange、SharePoint这类应用的服务主体。

相关背景

该问题已在AzureAD提供商的仓库中被列为公开问题,属于提供商的功能缺陷,目前官方正在跟进处理。

临时解决方案

  1. 改用数据源引用:不要将微软第一方服务主体声明为Terraform管理的azuread_service_principal资源,而是用data数据源来引用这些已存在的服务主体,示例:
    data "azuread_service_principal" "exchange" {
      application_id = data.azuread_application_published_app_ids.well_known.result.Office365ExchangeOnline
    }
    
  2. 销毁时排除目标资源:如果必须保留现有资源定义,执行destroy命令时通过-target参数仅销毁自定义应用资源,排除第一方服务主体:
    terraform destroy -target=azuread_service_principal.your_custom_application
    

内容的提问来源于stack exchange,提问作者Bhushan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 04:34:56