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

禁用Azure翻译器本地身份验证并迁移至TokenCredential的问题咨询

解决Azure翻译器禁用本地身份验证后使用TokenCredential的401问题

核心配置要点

  • 必须给使用的身份(服务主体/托管标识/本地登录账户)分配认知服务翻译器用户角色
    去Azure翻译器资源的IAM页面,添加角色分配,选择对应的身份,分配正确的角色。注意IAM角色分配可能需要5-10分钟才会生效,别刚分配就测试。
  • 客户端初始化时必须指定正确的资源区域
    翻译器资源的区域要和代码里指定的完全一致,比如资源在eastus,代码里就不能写eastus2。

正确的客户端初始化代码示例

C#

using Azure.AI.Translation.Text;
using Azure.Identity;

var credential = new DefaultAzureCredential();
// 替换为你的翻译器资源所在区域
var resourceRegion = "eastus";
var client = new TextTranslationClient(credential, resourceRegion);

Python

from azure.ai.translation.text import TextTranslationClient
from azure.identity import DefaultAzureCredential

credential = DefaultAzureCredential()
resource_region = "eastus"
client = TextTranslationClient(credential=credential, region=resource_region)

关于旧验证方式失效的说明

禁用本地身份验证后,所有基于资源密钥的验证都会失效,包括之前调用https://api.cognitive.microsoft.com/sts/v1.0/issueToken获取令牌的方式,必须完全切换到Azure AD TokenCredential的验证模式,依赖Azure AD颁发的权限令牌访问翻译器服务。

401错误的常见排查点

  • 检查身份是否有正确的IAM角色:确认角色分配的对象是你当前使用的身份(本地测试用的az login账户、应用服务的托管标识等)
  • 区域是否完全匹配:去Azure门户看翻译器资源的概述页面,复制精确的区域名称
  • 本地测试时的身份上下文:确保az login登录的账户有翻译器资源的访问权限,或者环境变量配置了正确的服务主体信息

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 10:18:14