将事件中心绑定用于具有托管标识的 Azure Functions?

问题描述 投票:0回答:3

我正在尝试查找有关如何在函数应用程序绑定中设置连接字符串的信息,以便应用程序使用托管标识来访问事件中心和其他资源。我可以通过获取文档中所述的访问令牌来在其他应用程序中使用托管身份。

在为资源绑定的连接设置采用配置变量名称的函数应用程序中,这是如何工作的?

这是否记录在某处?

azure azure-functions azure-managed-identity
3个回答
3
投票

我今天测试了它连接到服务总线队列。连接字符串是:

Endpoint=sb://<service-bus-resource>.servicebus.windows.net;Authentication=ManagedIdentity;

我在这个博客上找到了它: https://blog.darkloop.com/post/using-service-app-management-identity-with-azure-functions-service-bus-bindings。我不需要做任何特别的事情,因为我的项目正在使用

Microsoft.Azure.ServiceBus 4.1.1

但是请查看这篇博文中的评论 - 有人说它不适用于消费计划。这里提到了另一个潜在的问题: https://feedback.azure.com/forums/355860-azure-functions/suggestions/37907848-support-for-azure-management-service-identities-in-ev

请注意,Arturo 在帖子中捕捉到的行为是 SDK 团队认为无意,并在稍后将其删除 版本更新。我们正在与他们合作以正式实现这一目标 支持,但现在该帖子中的说明可能不再 工作。

所以我不确定是否应该使用它。


1
投票

简短的回答应该是我们不能在函数绑定中使用托管身份访问令牌。

Connection 需要事件中心命名空间的连接字符串以进行事件中心绑定,使用托管标识获取的令牌无效。在 Azure Function 中,我们使用访问令牌的方式与在其他应用程序中使用的方式相同,这是教程


0
投票

对托管身份的全面支持现已处于测试阶段https://devblogs.microsoft.com/azure-sdk/introducing-the-new-azure-function-extension-libraries-beta/利用Azure.Identity库

© www.soinside.com 2019 - 2024. All rights reserved.