繁体   English   中英

How to call a protected API from an Azure Function App using the identity of the authenticated caller (Service Principal) to the Function App?

[英]How to call a protected API from an Azure Function App using the identity of the authenticated caller (Service Principal) to the Function App?

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

以上所有工作都很好。 除此之外,我想做的是对 Azure 资源管理器进行一些额外的调用,但这次使用 Function 应用程序的调用者身份。 如果我正确理解了所有内容,那么这种情况将是OAuth 2.0 On-Behalf-Of flow的主要候选者。 不幸的是,根据该页面,“OBO 流程目前仅适用于用户主体。” 由于我的 Function 应用程序的调用者主要是服务主体,因此 OBO 流程似乎不是这里的解决方案。 我不知道还有什么方法可以解决这个问题。

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

除非有我不知道的功能,否则服务主体无法代表另一个服务主体获取访问令牌。

我能想到的唯一方法是让客户端应用程序发送 ARM API 令牌以及请求,以便您的 Function 可以使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM