【问题标题】:Securing Azure Function Endpoints used by Public Web App保护公共 Web 应用使用的 Azure 函数终结点
【发布时间】:2021-06-10 13:50:38
【问题描述】:

我有一个使用 Angular 开发的 Azure 静态 Web 应用程序(比如说我的公司主页),它需要无需身份验证即可公开访问。如果我想要一些来自数据库的主页上的动态内容(即新闻或产品列表),是否有任何方法可以“保护”将这些数据提供给前端的 Azure Function 端点。

"secure" == 我想将端点的访问权限限制为仅限我的 Azure 静态 Web 应用程序。

我还想设置一个函数来侦听来自 PayPal 的 IPN 请求,因此我想将该函数配置为只能从 PayPal 访问。

我发现我可以将 CORS 配置为仅允许特定域访问某个功能 -- 这是我的最佳选择吗?

【问题讨论】:

    标签: azure azure-functions azure-static-web-app


    【解决方案1】:

    有两种查看方式,

    (i) Azure 具有 APIM 服务,它允许保护某些端点,这可能是处理公共 Azure Functions 端点的最佳方式。

    (ii) 您还可以通过添加应用程序网关并在函数中将应用程序网关的 IP 地址列入白名单来保护函数,或者您可以使用 azure 环境服务在 vnet 内构建函数。

    你可以阅读更多关于Securing Azure Functions here

    【讨论】:

    • 感谢您的回复!对于 (i),您建议 APIM 服务的哪些功能?我查看了一些 APIM 选项,但它们似乎都需要 API 密钥/令牌或交互式身份验证——对于可供公众访问的 Azure 静态 Web 应用程序来说,这些似乎都不理想。我认为在我的客户端应用程序中嵌入 API 密钥不是一个好主意。您的选项 ii 是有道理的,我一定会看看应用程序网关功能。
    • 您仍然可以为您的函数设置基本身份验证并使用 APIM 进行设置。是的,第二个选项在这里更有意义,记住它会很昂贵
    猜你喜欢
    • 1970-01-01
    • 2013-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-09
    • 2021-09-23
    相关资源
    最近更新 更多