azure - 使用托管标识从逻辑应用调用具有身份验证的 Azure 函数
问题描述
我有一个使用托管服务标识 (MSI) 的逻辑应用程序。该逻辑应用正在尝试调用启用了应用服务身份验证并设置为“使用 Azure Active Directory 登录”的 Azure 函数。
无论我赋予 MSI 什么权利或角色,只要调用 azure 函数,逻辑应用程序就会不断获得“未经授权”。
任何人都可以回答“逻辑应用程序是否支持使用其 MSI 调用 azure 函数?”这个简单问题。如果是这样,您能否指出一些有关它的信息。我可以在那里找到珍贵的小东西。
解决方案
所以,对于任何感兴趣的人来说,答案是“是的,有点”。
您不能使用 Azure Function 操作,因为它不支持任何类型的身份验证,除了为您获取正确的密钥(如果您正在使用密钥)。
您必须使用标准 HTTP 连接器并自己连接 URL(如果您的函数需要,包括 URL 或标头中的键)。对于身份验证,您可以将方法设置为“托管身份”,我已经看到并使用过但失败了。我没有看到的是通常隐藏的“Audience”参数,您需要在其中放置您正在调用的函数的 App Id(来自 Azure AD)。
它现在可以工作,即使涉及更多的手动接线。
推荐阅读
- docker - 如何在私有注册表中运行 docker 镜像
- python - 如何在 python 中使用“IN”查询 sqlalchemy 对象?
- machine-learning - 为什么 LSTM 遗忘门会接受新的输入?
- javascript - 组件按钮设置主类的状态反应本机
- python - 调用 POST 方法时,我的 python 烧瓶应用程序崩溃
- angular - 将字符串值添加到 json 结果中的所有对象
- batch-file - 在选择特定选项时包含另一个选项/文件
- localhost - 我无法使用 chrome 打开 localhost [错误 400]
- node.js - 具有单个文档字符串数组字段的服务器端分页
- flutter - Flutter 实现干净架构的方式