如何在Azure函数中找到应用程序ID/租户ID?

4

如果我正在使用基于消费计划的 Azure Function,那么在哪里可以找到应用程序 ID 和租户 ID?在这种情况下,它没有与任何应用服务连接。

此时,我需要这些信息来检索本地访问密钥保管库的令牌。Azure Function 确实提供了一个服务主体,但我只能在部署 Azure Function 上成功使用它来检索令牌。但是,当我在本地运行它时,REST 调用失败。另请注意:我不是在 .NET 中进行操作,因此无法依赖自动为您执行此操作的 .NET 库。

谢谢, Derek


那么您不能使用托管服务标识或服务主体吗?我不明白。 - 4c74356b41
如果您的应用程序部署到 Azure 上,您可以使用托管服务标识(Managed Service Identity,MSI)来检索通过 MSI_ENDPOINT 和 MSI_SECRET 访问密钥保管库的令牌。然而,这种方法在本地运行时不起作用。因此,另一种选择是通过 AAD 请求令牌,但我不知道消费计划上的 Azure 函数的应用程序 ID 和租户 ID 是什么,因为它没有附加到任何应用程序。 - darewreck
我猜你可以授予你的身份访问密钥保管库?这取决于您使用的电子邮件类型。tenantid是Azure Active目录ID,您可以从AAD的属性中获取它。要获取服务主体,请转到应用程序权限(在ADD中),您将找到所有应用程序。 - Thomas
1个回答

0

无法从函数应用程序外部获取MSI凭据。您可以尝试的一件事是创建一个HTTP触发器,返回MSI_ENDPOINTMSI_SECRET的值。这将允许您至少知道它们是什么,以便在本地模拟函数代码。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接