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

如何通过UUID查找Azure资源?Terraform部署EA权限配置疑问

问题解答

1. 通过UUID查找Azure资源

有两种实用方式:

  • Azure CLI:
    • 若目标是应用注册或服务主体关联的权限ID,用应用查询命令精准过滤:
      az ad application list --filter "oauth2PermissionScopes/id eq '<你的权限UUID>'"
      
    • 通用资源查找,遍历所有资源匹配UUID:
      az resource list --query "[?id contains('<目标UUID>')]"
      
  • Azure Portal:直接在顶部搜索框输入UUID,系统会自动匹配关联的资源(如应用注册、服务主体、权限范围等)。

2. Terraform配置对应参数的资源

你提到的oauth2_permission_scope_ids是azuread_application资源的参数,它需要引用应用自身定义的OAuth2权限范围ID。手动创建企业应用时Azure自动生成的user_impersonation权限,在Terraform中需要显式定义应用的API权限范围,再引用其ID,示例代码如下:

resource "azuread_application" "test" {
  display_name = "你的企业应用名称"

  # 定义应用自身的OAuth2权限范围,对应手动创建时自动生成的user_impersonation
  api {
    oauth2_permission_scope {
      name                        = "user_impersonation"
      admin_consent_description   = "允许应用模拟用户访问Web API"
      admin_consent_display_name  = "访问你的企业应用"
      user_consent_description    = "允许应用模拟你访问Web API"
      user_consent_display_name   = "访问你的企业应用"
      type                        = "User"
      value                       = "user_impersonation"
    }
  }

  # 引用上面定义的权限范围ID
  oauth2_permission_scope_ids = {
    "user_impersonation" = azuread_application.test.api.0.oauth2_permission_scope.0.id
  }
}

# 服务主体会自动关联应用的权限配置,无需额外手动指定
resource "azuread_service_principal" "test" {
  application_id = azuread_application.test.application_id
}

说明:当你在azuread_application的api块中定义oauth2_permission_scope后,Terraform会自动生成对应的权限ID,直接通过内置引用即可填充oauth2_permission_scope_ids参数,无需手动填写固定UUID。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 13:25:22