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

Azure AKS集群ID非UUID格式致Terraform角色分配失败求助

解决Terraform中AKS角色分配的UUID格式ID问题

你遇到的问题核心是用错了ID类型:azuread_app_role_assignment要求的resource_object_id是AKS集群对应Azure AD标识的UUID格式Object ID,而非AKS资源的路径式ID。

解决方案

AKS集群默认使用系统分配托管标识,直接通过Terraform数据源的identity[0].principal_id字段就能获取到UUID格式的标识ID,修改角色分配配置即可:

resource "azuread_app_role_assignment" "aks_test_assignment" {
  app_role_id         = data.azurerm_role_definition.test_role.id
  principal_object_id = data.azuread_group.test_principal.id
  # 替换为AKS托管标识的UUID格式Principal ID
  resource_object_id  = data.azurerm_kubernetes_cluster.akstest001.identity[0].principal_id
}

验证方法

如果需要确认ID正确性,可通过Azure CLI执行以下命令:

az aks show --name akstest001 --resource-group rgtest001 --query "identity.principalId" -o tsv

返回结果就是所需的UUID格式ID。

补充说明

AKS的系统托管标识不会直接显示在Azure门户的Azure AD企业应用列表中,所以你在门户里找不到对应UUID,通过Terraform数据源或Azure CLI查询是最直接的方式。若你的AKS使用用户分配托管标识,则需获取对应用户分配标识的principal_id填入resource_object_id。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 21:12:44