首页 > 解决方案 > 使用托管标识从逻辑应用调用具有身份验证的 Azure 函数

问题描述

我有一个使用托管服务标识 (MSI) 的逻辑应用程序。该逻辑应用正在尝试调用启用了应用服务身份验证并设置为“使用 Azure Active Directory 登录”的 Azure 函数。

无论我赋予 MSI 什么权利或角色,只要调用 azure 函数,逻辑应用程序就会不断获得“未经授权”。

任何人都可以回答“逻辑应用程序是否支持使用其 MSI 调用 azure 函数?”这个简单问题。如果是这样,您能否指出一些有关它的信息。我可以在那里找到珍贵的小东西。

标签: azureazure-functionsazure-logic-apps

解决方案


所以,对于任何感兴趣的人来说,答案是“是的,有点”。

您不能使用 Azure Function 操作,因为它不支持任何类型的身份验证,除了为您获取正确的密钥(如果您正在使用密钥)。

您必须使用标准 HTTP 连接器并自己连接 URL(如果您的函数需要,包括 URL 或标头中的键)。对于身份验证,您可以将方法设置为“托管身份”,我已经看到并使用过但失败了。我没有看到的是通常隐藏的“Audience”参数,您需要在其中放置您正在调用的函数的 App Id(来自 Azure AD)。

它现在可以工作,即使涉及更多的手动接线。


推荐阅读