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

Azure ContainerApps YAML配置托管身份无效问题求助

问题原因分析

报错的核心原因是:在Container App的YAML配置中,registries块内指定的identity必须是已被当前Container App关联的用户分配托管身份。你当前的YAML仅在registries里直接填写了托管身份的资源ID,但未在配置的顶级identity字段中将该身份关联到Container App上,导致系统无法识别这个身份属于当前应用,进而报错“Managed Identity does not exist”。

而使用CLI命令时,--registry-identity参数会自动完成两个操作:一是将指定的托管身份关联到Container App的身份列表,二是在registries配置中引用该身份,因此可以正常运行。

解决办法

需要修改YAML配置,分两步操作:

  1. 在配置的顶级节点添加identity块,将目标用户分配托管身份添加到Container App的关联身份列表中;
  2. 在registries块的identity字段中,引用该托管身份的名称或客户端ID(clientId),而非完整资源ID。

修正后的YAML示例

# 顶级身份配置:关联用户分配托管身份
identity:
  type: UserAssigned
  userAssignedIdentities:
    "/subscriptions/xxx/resourcegroups/xxx/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mymanagedidentity": {}

# 镜像仓库配置:引用已关联的托管身份(用名称或clientId)
registries:
  - passwordSecretRef: null
    server: xxx.azurecr.io
    identity: "mymanagedidentity" # 这里用托管身份的名称,或者替换成它的clientId
    username: null

额外验证步骤

  • 可以通过以下命令获取托管身份的clientId,替换identity字段的值也能生效:
    az identity show --name mymanagedidentity --resource-group xxx --query clientId --output tsv
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 15:55:04