【发布时间】:2022-01-26 13:22:36
【问题描述】:
最新版本的 MassTransit 开始使用 Azure.Identity 包来替代 Microsoft.Azure.SericeBus。
我使用混合身份通过 Azure 服务总线对本地服务进行身份验证。它适用于 Microsoft.Azure.SericeBus 中的 TokenProvider.CreateManagedIdentityTokenProvider。但是,切换到 Azure.Identity 包后,DefaultAzureCredential 和 ManagedIdentityCredential 都不起作用。我收到一条错误消息,提示“服务请求失败:401(未授权)。此操作需要 Manage,EntityRead”。
我怀疑新的 Azure.Identity 包仅适用于 Azure 托管应用程序,不适用于我的本地托管服务。但由于它适用于旧包,我试图弄清楚我是否可以让它工作。
如果可以使用混合身份从最近的 MassTransit 包 >7.3.0 的本地服务访问 ASB,有什么想法吗?
【问题讨论】:
-
我已经链接了这个问题并标记了拉取请求作者,与此同时,您的帐户是否具有对命名空间的管理访问权限?
-
混合身份有足够的权限向 ASB 发送/发布/使用,并且与 Microsoft.Azure.SericeBus 配合良好。我需要向我们的 DevOps 确认它是否是“管理”。
-
克里斯,感谢您调查此问题。你能解释一下你说“我已经链接了这个问题并标记了拉取请求作者”的意思吗?这是否意味着您正在调查它?如果目前不支持,那对我来说也非常有用。
-
我个人没有深入研究,对 Azure 7 SDK 中的各种凭证类型了解不多。
标签: azure masstransit