我正在尝试通过使用托管身份从API管理实例调用Azure函数。 我已经为我的APIM实例设置了系统托管身份。 我已在Azure Function应用程序上为该身份授予了贡献者角色。 我还将App Service Authentication更改为AD。
现在我正尝试从API调用函数。
我有两个问题:
也许我只是想在错误的听众上获得令牌,但是不幸的是,文档中未列出函数的听众(例如,对于服务总线,有一个通用的URI可供使用,对于KeyVault也是如此。) ..)。
我认为我可能错过了图片中的某些东西... 谢谢。
答案 0 :(得分:4)
您需要使用authentication-managed-identity
策略使用API管理服务的托管身份对后端服务进行身份验证。
编辑
1-在Azure AD上的APIM应用程序中, 获取为企业应用程序分配的应用程序ID。
2-然后转到Azure功能应用程序中的平台功能,然后单击“身份验证/授权”。
3-选择Azure Active Directory作为身份验证提供程序,并选择管理模式“快速”。
4-返回到身份验证管理的身份策略,将步骤1中的应用程序ID设置为资源。
答案 1 :(得分:0)
您需要在apim必需资源中添加url。如果您打算使用委托流。要检查问题是否与url注册有关,您可以改用AppId。这至少会告诉您是否可以检索令牌。