如何限制对Azure功能的访问,以仅允许来自自定义Microsoft Team App的请求? [英] How to restrict access to Azure Function to only allow requests from a custom Microsoft Teams App?

查看:14
本文介绍了如何限制对Azure功能的访问,以仅允许来自自定义Microsoft Team App的请求?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Reaction构建一个团队应用程序。后台是一款Azure Functions应用程序。此团队应用程序是指只为内部组织,我需要允许功能后端只接受来自此团队应用程序的API请求。我如何才能做到这一点?

部署团队应用程序时,它实际上会创建一个托管在Azure存储容器中的静态Web应用程序。我找不到此容器终结点的静态IP地址来将此IP列入白名单。

是否有其他方法允许Azure功能允许来自此特定团队应用程序(托管在存储容器中的静态Web应用程序)的请求

Azure

这绝对是可能的,要做到这一点,方法是拥有一个具有推荐答案功能的多租户Azure AD应用程序注册。This article将帮助您开始使用Tab SSO,并展示如何获取所需的令牌。您可以使用AuthorizationHTTP头将此内标识作为不记名&内标识传递给后端API,如下所示:

Bearer [token value](因此请注意前面的单词&持有者,然后是空格,然后是您的实际令牌)。

这些令牌是JWT令牌,因此您可以通过访问像JWT.io这样的站点并将其粘贴到文本框中来查看它们的外观-它将在右侧显示解码后的令牌内容。

在后端,您的API能够验证这些签名令牌,以确保它们是从您自己的Azure AD应用程序颁发的,并验证用户的AadOjectId、UPN、租户等。This blog post显示如何在服务器上执行实际令牌验证。验证可确保令牌有效,并且由你的应用程序颁发,但它还包括TenantID和用户的Azure AD对象ID、电子邮件地址和显示名称-所有这些都是安全识别用户和租户所需的。

顺便说一句,这适用于任何前端,但与Azure存储中的Static Reaction应用程序完美配合(测试以确认)。

[更新]:微软今天刚刚在SSO上发布了一段内容丰富且最新的视频演练。它没有完全涵盖您的场景(它没有在后端验证令牌),但它很好地展示了许多初步步骤。请参见How to restrict access to Azure Function to only allow requests from a custom Microsoft Teams App?

这篇关于如何限制对Azure功能的访问,以仅允许来自自定义Microsoft Team App的请求?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆