使用Terraform创建Azure AD应用时提示Value must be a valid UUID错误
问题原因
最直接的触发原因是你代码中required_resource_access块下的resource_access.id字段使用了占位符"...",该字段要求传入对应API权限的有效UUID格式值,占位符不符合格式要求因此抛出校验错误。
补充说明:你使用的v1.6.0版本azuread provider属于较早版本,部分参数的取值规则和最新版有差异,但本次报错的核心诱因是权限ID的占位符问题。
修复方案
- 替换
resource_access.id的占位符为实际权限的UUID值
你需要的权限对应的UUID可以通过以下方式获取:
- 进入Azure门户的「应用注册」界面,任意应用的「API权限」页,点击对应权限即可查看权限ID
- 常用Microsoft Graph权限的UUID示例:
- User.Read(读取用户资料):
e1fe6dd8-ba31-4d61-89e7-88639da4683d - Group.Read.All(读取所有组信息):
5b567255-7703-4780-807c-7be8301ae99b - Directory.Read.All(读取目录所有信息):
7ab1d382-f21e-4acd-a863-ba3e13f7da61
- User.Read(读取用户资料):
- 修复后的代码示例(以添加User.Read权限为例)
data "azuread_client_config" "current" {} resource "azuread_application" "example" { display_name = "example" identifier_uris = ["api://example-app"] owners = [data.azuread_client_config.current.object_id] sign_in_audience = "AzureADMultipleOrgs" required_resource_access { resource_app_id = "00000003-0000-0000-c000-000000000000" # Microsoft Graph的固定应用ID resource_access { id = "e1fe6dd8-ba31-4d61-89e7-88639da4683d" # 替换为你实际需要的权限UUID type = "Scope" } } web { redirect_uris = ["https://app.example.net/account"] implicit_grant { access_token_issuance_enabled = false } } }
- 可选优化:如果后续还有其他参数校验问题,可以升级azuread provider到v2.x稳定版,适配更新的Azure AD API规则。
内容的提问来源于stack exchange,提问作者prakashrajansakthivel
相关产品推荐
相关产品推荐

