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

Azure ML计算集群系统托管身份训练作业无法获取令牌求助

解决Azure ML计算集群托管身份无法获取Key Vault令牌的问题

问题背景

  • 通过Terraform创建Azure ML计算集群(配置系统分配托管身份),已通过Azure门户为该身份分配Azure Key Vault的Get权限
  • 使用依赖:azure-identity==1.12.0、azure-keyvault-secrets==4.6.0,Python 3.9
  • 运行自定义GetCredentials函数时出现令牌获取失败错误,但相同流程在其他Azure资源环境可正常运行

排查与解决步骤

1. 修正令牌请求的资源URI

你的代码中请求的资源URI是https://management.core.windows.net/.default,这是Azure管理平面的地址,而访问Key Vault需要使用Key Vault专属的资源URI:https://vault.azure.net/.default。错误的URI会导致获取的令牌不具备访问Key Vault的权限。

修改后的代码:

def GetCredentials():
    cred = DefaultAzureCredential(
        additionally_allowed_tenants=['*'],
        logging_enable=True,
        exclude_visual_studio_code_credential=True,
        exclude_shared_token_cache_credential=True
    )
    # 替换为Key Vault的正确资源URI
    cred.get_token("https://vault.azure.net/.default")
    return cred

2. 验证托管身份的权限配置

  • 确认Key Vault访问策略中,已为集群的系统分配托管身份添加密钥权限下的Get操作,且权限范围未限制到特定密钥(可先测试全范围权限)
  • 若Key Vault启用了RBAC权限模型,需确保该托管身份被分配Key Vault Secrets User或对应权限的角色,避免访问策略与RBAC冲突

3. 确认集群的托管身份配置正确性

  • 检查Terraform代码中是否正确启用系统分配身份,示例配置:
resource "azurerm_machine_learning_compute_cluster" "cluster" {
  # 其他必要配置...
  identity {
    type = "SystemAssigned"
  }
}
  • 核对Azure门户中集群“标识”页的对象ID,与Key Vault访问策略中添加的身份ID完全一致

4. 锁定DefaultAzureCredential的凭据来源

进一步排除不需要的凭据类型,强制使用托管身份凭据,避免其他凭据源干扰:

def GetCredentials():
    cred = DefaultAzureCredential(
        additionally_allowed_tenants=['*'],
        logging_enable=True,
        exclude_visual_studio_code_credential=True,
        exclude_shared_token_cache_credential=True,
        exclude_environment_credential=True,
        exclude_cli_credential=True,
        exclude_interactive_browser_credential=True
    )
    cred.get_token("https://vault.azure.net/.default")
    return cred

5. 利用日志定位深层问题

通过logging_enable=True输出的详细日志,查看具体是哪个凭据类型失败,以及失败的具体原因(如身份未被识别、权限不足等),进一步缩小排查范围

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 20:33:10