我正在尝试使用 MSI 从 ADF 调用函数应用程序。 我已为 ADF 启用托管身份,并为 Function 应用启用 AAD 身份验证/授权。
现在,当我从 ADF 进行网络调用时(使用底层规范)
我收到以下错误。
我什至将 ADF 添加为 Function App 的贡献者。 我一定错过了一些东西,但不确定到底是什么
最佳答案
首先,请确保您选择了 Create New AD App
当您使用Azure AD auth配置函数应用程序时,azure将自动为您完成所有配置,这将减少不必要的麻烦。还要记得设置Authorization level
您的功能为Anonymous
,因为我们使用 Azure AD 身份验证配置了函数应用。
就您而言,该错误是由错误的 Resource
引起的,应该是Application ID URI
AD App的对应功能app,即https://<functionapp-name>.azurewebsites.net
(当您选择 Create New AD App
时,这是由 azure 自动配置的,如上所述)。
此外,您应该注意,如果您仅执行上述步骤,则 AAD 租户中的所有服务主体(MSI 本质上是服务主体)/用户都可以访问函数应用,前提是您只是希望您的 MSI 访问功能应用程序,那么您需要利用 Azure AD App role ,我已经发布了详细信息here ,如果你不介意的话,忽略第2步和第3步就可以了。
关于azure - 使用 MSI 从 ADF 调用 Azure Function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66439911/