保护非 Http 触发的 Azure 函数,如服务总线触发器

Posted

技术标签:

【中文标题】保护非 Http 触发的 Azure 函数,如服务总线触发器【英文标题】:Securing non-Http triggered Azure Functions like Service Bus triggers 【发布时间】:2019-05-01 05:01:55 【问题描述】:

我了解(Article) 通过服务总线触发器调用 Azure 函数可以通过 POST 方法在本地测试到 Azure 函数的管理端点。如果是这种情况,当有人知道我的服务总线触发了 Azure 函数端点时,他们不能因为没有安全性而向我的 Azure 函数发出请求。请让我知道是否有任何方法可以配置,以便仅当在配置的队列/主题上收到消息时才会调用 Azure 函数。

【问题讨论】:

【参考方案1】:

在 Azure 中运行时管理端点受到保护,您需要进行身份验证(通过主密钥)才能调用这些端点。没有匿名访问。

要调用受保护的函数,您可以提供主密钥作为查询字符串参数(格式为 code=<API_KEY>),也可以将其作为 HTTP x-functions-key 标头提供。

【讨论】:

以上是关于保护非 Http 触发的 Azure 函数,如服务总线触发器的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Http 触发的 Azure 函数(隔离/进程外)生成 Api 客户端?

保护访问以触发 Azure 逻辑应用(HTTP 请求触发器)

如何使用 Azure AD B2C 保护 Blazor Wasm 应用访问的 Azure 函数?

HTTP 按需触发 Azure 函数多次调用自身

如何编写将部分传入消息传递给服务总线队列的 Azure HTTP 触发器函数?

失败的消息不会从 Azure 服务总线触发函数移动到 DLQ