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

MSAL实现用户托管标识的跨租户联合认证问题咨询

跨租户场景下使用托管标识获取Azure DevOps REST API令牌的问题

背景

我们有多套基于Azure DevOps REST APIs构建的自动化流程,此前在本地环境使用PAT认证。新执行环境迁移至Azure后,要求不得使用绑定真实用户的PAT令牌,经调研决定采用OAuth2/OIDC令牌替代PAT调用REST端点。

跨租户约束

核心复杂点在于调用工作负载所在租户T1与Azure DevOps实例所在租户T2相互独立,且因非技术原因无法迁移任何一方:

  • 租户T1的工作负载环境已配置用户托管标识A
  • 租户T2(托管Azure DevOps)存在用户托管标识B,且B已映射为Azure DevOps中的用户
  • 托管标识B已将A配置为联合凭据

现有代码尝试

我们计划使用MSAL获取目标令牌,初步编写的C#代码如下,但关键参数尚不明确:

IManagedIdentityApplication app = ManagedIdentityApplicationBuilder.Create(
    ManagedIdentityId.WithUserAssignedClientId("00000000-0000-0000-0000-000000000000"))
    .Build();

AuthenticationToken result = await app.AcquireTokenForManagedIdentity("...")
    .ExecuteAsync()
    .ConfigureAwait(false);

return result.AccessToken;

待解决疑问

我们需要获取能被Azure DevOps REST API识别为标识B的令牌,但现有官方示例未覆盖该跨租户联合场景,目前存在以下疑问:

  • ManagedIdentityApplicationBuilder与AcquireTokenForManagedIdentity的具体参数取值,尤其是AcquireTokenForManagedIdentity方法中的resource参数该如何设置
  • 是否存在其他跨平台方式可获取此类令牌

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 17:42:10