如何使用经过身份验证的调用者(服务主体)的身份从Azure函数App调用受保护的API?

8cdiaqws  于 2022-09-21  发布在  其他
关注(0)|答案(1)|浏览(140)

我有一个Node.js Azure Function App,其中有一个用户分配的托管身份。App函数被配置为使用App Service提供的身份验证机制(EasyAuth)来使用AAD对传入连接进行身份验证。“限制访问”设置被设置为“需要身份验证”,因此只有经过身份验证的连接才会到达我的代码。函数应用程序使用其用户分配的托管标识对Azure资源管理器进行一些调用。

以上所有功能都运行得很好。除此之外,我想做的是对Azure资源管理器进行一些额外的调用,但这一次使用函数App的调用者的身份。如果我理解正确的话,这个场景将是OAuth 2.0 On-Behalf-Of flow的主要候选者。不幸的是,根据该页面,“OBO流目前仅适用于用户主体。”由于My Function App的调用者将主要是服务主体,因此OBO流似乎不是这里的解决方案。我不知道还能怎么处理这件事。

那么,如何使用经过身份验证的用户的身份从我的函数App访问受保护的API到函数App,其中该用户是服务主体而不是用户主体?

2ic8powd

2ic8powd1#

除非有我不知道的特性,否则服务主体不能代表另一个服务主体获得访问令牌。

我能想到的唯一可行的方法是,客户端应用程序将ARM API令牌与请求一起发送,以便您的函数可以使用该令牌。

相关问题