Azure计算集群环境构建遇InvalidAuthenticationTokenTenant错误求助
解决Azure计算集群环境构建的租户认证错误
问题核心
你遇到的InvalidAuthenticationTokenTenant错误本质是当前获取的认证令牌所属租户,与订阅绑定的目标租户不匹配。即使你尝试了指定租户登录和设置环境变量,仍未解决的原因大概率是DefaultAzureCredential会从多个凭据源优先级获取令牌,你的设置被其他缓存或默认源覆盖。
解决步骤
1. 显式给DefaultAzureCredential指定租户ID
直接在初始化凭据时强制指定目标租户ID,避免它从其他源获取错误令牌:
from azure.ai.ml import MLClient from azure.identity import DefaultAzureCredential from azure.ai.ml.entities import Environment, BuildContext # 填写工作区及租户信息 subscription_id = "<你的订阅ID>" resource_group = "<你的资源组名称>" workspace = "<你的工作区名称>" target_tenant_id = "72f988bf-86f1-41af-91ab-2d7cd011db47" # 错误提示中的目标租户ID # 显式指定租户初始化凭据 credential = DefaultAzureCredential(tenant_id=target_tenant_id) ml_client = MLClient( credential, subscription_id, resource_group, workspace ) # 环境构建代码保持不变 env_docker_conda = Environment( image="mcr.microsoft.com/azureml/curated/acpt-pytorch-2.1-cuda12.1:10", conda_file="/path to conda env file", name="环境名称", description="环境描述", ) ml_client.environments.create_or_update(env_docker_conda)
2. 清理Azure CLI缓存的旧租户信息
CLI缓存的旧租户会话可能干扰认证,执行以下命令重置登录状态:
az account clear az login --tenant "72f988bf-86f1-41af-91ab-2d7cd011db47" az account set --subscription "<你的订阅ID>"
3. 验证环境变量有效性
确保AZURE_TENANT_ID环境变量在代码运行前已正确设置,可在代码开头添加验证:
import os print("当前生效的租户ID环境变量:", os.environ.get("AZURE_TENANT_ID"))
4. 确认订阅与租户绑定关系
- 登录Azure门户,进入订阅页面,查看"租户ID"字段是否与错误提示中的目标租户一致
- 如果刚完成订阅转移,等待1小时让租户信息全局同步
内容的提问来源于stack exchange,提问作者Srijith Radhakrishnan
相关产品推荐
相关产品推荐

