Azure 服务身份验证扩展默认租户/订阅

Azure Services Authentication Extension default tenant / subscription

我正在使用安装了 Azure Services Authentication Extension 的 Visual Studio 2017 v15.6.2 为支持 MSI 的应用程序进行本地 azure 函数开发。我必须在目标订阅中使用的身份可以访问多个租户和这些租户中的订阅。

在我安装加载项之前,我能够使用 Azure CLI 使用 az account set -subscripton TARGET-SUB-NAME 设置默认值 subscription/tenant。 az account show 确认我 select 订阅正确并且一切正常。

自安装 VS 扩展后,我无法再访问目标订阅中的资源,因为扩展无法 select 默认 tenant/subscription 组合。 CLI 仍然显示目标订阅,但由 GetAccessTokenAsync("https://management.azure.com/"); 调用生成的 JWT 显示正在使用身份的默认订阅(令牌中的 tid)请求令牌。

有没有办法为扩展设置默认订阅或以其他方式绕过这个拦截器?

我按照 instructions on this page.

设法解决了 Azure 服务身份验证功能(不再是扩展,而是内置于 VS.net 2017)的缺点

具体来说,我在环境变量 AzureServicesAuthConnectionString 中使用了连接字符串 RunAs=Developer; DeveloperTool=AzureCli,并且能够 return 控制 CLI。